Machen Sie einen POV LED Air Writer für unter 5 $
Sie können mit blinkenden LEDs alle möglichen Dinge tun, und in diesem einfachen Projekt erstellen wir ein kleines Gerät, das Meldungen in der Luft anzeigt, wenn Sie es hin und her bewegen. Es ist einfacher als Sie denken, und die Gesamtkosten der Teile liegen unter 5 USD.
Dieses Projekt nutzt eine optische Täuschung, die als persistente Sicht bezeichnet wird, um Text in der Luft erscheinen zu lassen. Sie sind wahrscheinlich auf dieses Phänomen gestoßen, wenn jemand nachts schnell eine brennende Wunderkerze bewegt. Wir werden einen Arduino und einige LEDs verwenden, um diesen Effekt nachzuahmen. Dieses Projekt ist einfach zu erstellen, mit wenigen Komponenten und wenig Löten (wenn Sie jedoch Tipps zum Einstieg in den Lötkolben erhalten möchten, lesen Sie dieses Handbuch. Lernen Sie, wie Sie mit diesen einfachen Tipps und Projekten lernen. Lernen Sie, wie Sie mit diesen einfachen Löten lernen Tipps und Projekte Sind Sie ein wenig eingeschüchtert von dem Gedanken an heißes Eisen und geschmolzenes Metall? Wenn Sie mit Elektronik arbeiten möchten, müssen Sie das Löten lernen. Lassen Sie uns helfen. Lesen Sie weiter).
Du wirst brauchen
- Arduino (ich habe einen $ 2 Nano verwendet, weil er kompakt und billig ist, aber jedes Modell sollte in Ordnung sein).
- 5x rote LEDs.
- 5 x 220 Ohm Widerstände.
- 1x 9v Batteriehalter.
- 1x Wippschalter.
- 1x Stück Protoboard.
- Ein Gehäuse für das fertige Produkt (ich habe einen kleinen Karton in schwarz lackiert verwendet).
Sie benötigen außerdem einen Lötkolben und etwas Lötmittel, um alles zusammenzufügen.
Einige Lötdocht kann optional sein, wenn Sie Lötfehler machen. Ein Steckbrett und einige Verbindungskabel sind ebenfalls nützlich, um Ihre Schaltung zu testen.
Verdrahtung
Die Verkabelung könnte nicht einfacher sein. Schließen Sie zuerst Ihr Arduino, LEDs und Widerstände an, wie in dieser Abbildung gezeigt.
Die Pins D2 bis D6 gehen jeweils zu jedem Widerstand, die an der positiven Anode (langes Bein) jeder LED befestigt sind. Die Kathode ist mit Masse verbunden, die mit dem Arduino verbunden ist. Wenn es fertig ist, sollte es ungefähr so aussehen:
Das ist es: unsere Schaltung ist fertig! Wir werden später ein Batteriegehäuse und einen Schalter hinzufügen, aber dies ist alles, was wir brauchen, um zu testen, ob es funktioniert.
Code
Verbinden Sie nun Ihr Arduino mit dem Computer und öffnen Sie die Arduino IDE. Wenn Sie mit dem Arduino noch nicht vertraut sind und einen guten Leitfaden für den Einstieg erhalten möchten, finden Sie diesen Link Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Plattform für Prototyping-Elektronik, die auf flexiblen, Hardware und Software verwenden. Es ist für Künstler, Designer, Hobbyisten und alle gedacht, die interaktive Objekte oder Umgebungen erstellen möchten. Lesen Sie mehr wird nützlich sein.
Öffnen Sie eine neue Skizze und kopieren Sie diesen Code. Der Code wurde in diesem Projekt geändert und Sie können ihn in dieser Gist vollständig herunterladen.
// wie lange jede LED für int delayTime = 1 leuchtet; // wie lange zwischen jedem int charBreak = 3; // wie lange gewartet wird, bis die Nachricht beendet ist, bevor sie wiederholt wird int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; void setup () pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (LED4, OUTPUT); pinMode (LED5, OUTPUT); int a [] = 1, 6, 26, 6, 1; int b [] = 31, 21, 21, 10, 0; int c2 [] = 14, 17, 17, 10, 0; int d [] = 31, 17, 17, 14, 0; int e [] = 31, 21, 21, 17, 0; int f [] = 31, 20, 20, 16, 0; int g [] = 14, 17, 19, 10, 0; int h [] = 31, 4, 4, 4, 31; int i [] = 0, 17, 31, 17, 0; int j [] = 0, 17, 30, 16, 0; int k [] = 31, 4, 10, 17, 0; int l [] = 31, 1, 1, 1, 0; int m [] = 31, 12, 3, 12, 31; int n [] = 31, 12, 3, 31, 0; int o [] = 14, 17, 17, 14, 0; int p [] = 31, 20, 20, 8, 0; int q [] = 14, 17, 19, 14, 2; int r [] = 31, 20, 22, 9, 0; int s [] = 8, 21, 21, 2, 0; int t [] = 16, 16, 31, 16, 16; int u [] = 30, 1, 1, 30, 0; int v [] = 24, 6, 1, 6, 24; int w [] = 28, 3, 12, 3, 28; int x [] = 17, 10, 4, 10, 17; int y [] = 17, 10, 4, 8, 16; int z [] = 19, 21, 21, 25, 0; int eos [] = 0, 1, 0, 0, 0; int excl [] = 0, 29, 0, 0, 0; int ques [] = 8, 19, 20, 8, 0; int space [] = 0, 0, 0, 0, 0; void displayLine (int line) int myline; Linie = Linie; if (myline> = 16) digitalWrite (LED1, HIGH); myline- = 16; else digitalWrite (LED1, LOW); if (myline> = 8) digitalWrite (LED2, HIGH); myline- = 8; else digitalWrite (LED2, LOW); if (myline> = 4) digitalWrite (LED3, HIGH); myline- = 4; else digitalWrite (LED3, LOW); if (myline> = 2) digitalWrite (LED4, HIGH); myline- = 2; else digitalWrite (LED4, LOW); if (myline> = 1) digitalWrite (LED5, HIGH); myline- = 1; else digitalWrite (LED5, LOW); void displayChar (char c) if (c == 'a') für (int i = 0; <5; i++)displayLine(a[i]);delay(delayTime);displayLine(0); if (c == 'b')for (int i = 0; i <5; i++)displayLine(b[i]);delay(delayTime);displayLine(0); if (c == 'c2')for (int i = 0; i <5; i++)displayLine(c2[i]);delay(delayTime);displayLine(0); if (c == 'd')for (int i = 0; i <5; i++)displayLine(d[i]);delay(delayTime);displayLine(0); if (c == 'e')for (int i = 0; i <5; i++)displayLine(e[i]);delay(delayTime);displayLine(0); if (c == 'f')for (int i = 0; i <5; i++)displayLine(f[i]);delay(delayTime);displayLine(0); if (c == 'g')for (int i = 0; i <5; i++)displayLine(g[i]);delay(delayTime);displayLine(0); if (c == 'h')for (int i = 0; i <5; i++)displayLine(h[i]);delay(delayTime);displayLine(0); if (c == 'i')for (int it = 0; it <5; it++)displayLine(i[it]);delay(delayTime);displayLine(0); if (c == 'j')for (int i = 0; i <5; i++)displayLine(j[i]);delay(delayTime);displayLine(0); if (c == 'k')for (int i = 0; i <5; i++)displayLine(k[i]);delay(delayTime);displayLine(0); if (c == 'l')for (int i = 0; i <5; i++)displayLine(l[i]);delay(delayTime);displayLine(0); if (c == 'm')for (int i = 0; i <5; i++)displayLine(m[i]);delay(delayTime);displayLine(0); if (c == 'n')for (int i = 0; i <5; i++)displayLine(n[i]);delay(delayTime);displayLine(0); if (c == 'o')for (int i = 0; i <5; i++)displayLine(o[i]);delay(delayTime);displayLine(0); if (c == 'p')for (int i = 0; i <5; i++)displayLine(p[i]);delay(delayTime);displayLine(0); if (c == 'q')for (int i = 0; i <5; i++)displayLine(q[i]);delay(delayTime);displayLine(0); if (c == 'r')for (int i = 0; i <5; i++)displayLine(r[i]);delay(delayTime);displayLine(0); if (c == 's')for (int i = 0; i <5; i++)displayLine(s[i]);delay(delayTime);displayLine(0); if (c == 't')for (int i = 0; i <5; i++)displayLine(t[i]);delay(delayTime);displayLine(0); if (c == 'u')for (int i = 0; i <5; i++)displayLine(u[i]);delay(delayTime);displayLine(0); if (c == 'v')for (int i = 0; i <5; i++)displayLine(v[i]);delay(delayTime);displayLine(0); if (c == 'w')for (int i = 0; i <5; i++)displayLine(w[i]);delay(delayTime);displayLine(0); if (c == 'x')for (int i = 0; i <5; i++)displayLine(x[i]);delay(delayTime);displayLine(0); if (c == 'y')for (int i = 0; i <5; i++)displayLine(y[i]);delay(delayTime);displayLine(0); if (c == 'z')for (int i = 0; i <5; i++)displayLine(z[i]);delay(delayTime);displayLine(0); if (c == '!')for (int i = 0; i <5; i++)displayLine(excl[i]);delay(delayTime);displayLine(0); if (c == '?')for (int i = 0; i <5; i++)displayLine(ques[i]);delay(delayTime);displayLine(0); if (c == '.')for (int i = 0; i <5; i++)displayLine(eos[i]);delay(delayTime);displayLine(0); if (c ==")for (int i = 0; i <5; i++)displayLine(space[i]);delay(delayTime);displayLine(0); delay(charBreak); void displayString(char* s) for (int i = 0; i<=strlen(s); i++) displayChar(s[i]); void loop() //Change the text inside here to change the text displayed. //Make sure to keep the brackets and the quotation marks. displayString("… hello!… "); delay(40);
Speichern Sie die Skizze und laden Sie sie auf Ihr Board hoch. Wenn Sie Fehler erhalten, stellen Sie sicher, dass Sie die richtige Karte und den richtigen COM-Port ausgewählt haben. Ihre LEDs sollten flackern. Wenn dies nicht der Fall ist, überprüfen Sie alle Verbindungen auf Ihrem Steckbrett. Die zu Beginn des Codes angegebenen Ganzzahlen bestimmen, wie schnell der Text angezeigt wird. Je höher die Zahl, desto schneller müssen Sie das Gerät winken. Ich fand, dass die hier verwendeten Zahlen gut funktionierten.
Jetzt einen kurzen Test machen. Trennen Sie Ihren Arduino vom USB-Kabel und befestigen Sie den Batteriehalter an den VIN- und GND-Pins des Arduino
Jetzt, wo Sie es bewegen können, versuchen Sie vorsichtig, die LEDs vor Ihnen zu schwenken. Sie sollten einige Buchstaben in der Luft sehen, vorausgesetzt es ist dunkel genug um Sie herum. Ich fand es hilfreich, mein Telefon so einzurichten, dass es aufgenommen wurde.
Es klappt! Nun, um es etwas dauerhafter zu machen.
Eisen im Anschlag!
Legen Sie Ihre Arduino-Platine, Widerstände und LEDs wie folgt auf Ihr Protoboard:
Sie können das Layout natürlich so kompakt machen, wie Sie möchten, solange die Schaltung gleich bleibt. Stellen Sie sicher, dass auf jeder Seite Ihres Arduino mindestens eine Linie Protoboard-Kontakte für die Komponenten und die Stromversorgung verbleibt. Wenn Sie ein Anfänger in der Elektronikbranche sind, hier sind einige gute Tipps für Sie. Anfängerelektronik: 10 Fertigkeiten, die Sie kennen müssen Anfängerelektronik: 10 Fertigkeiten, die Sie kennen müssen Viele von uns haben noch nie einen Lötkolben berührt - aber die Herstellung von Dingen kann unglaublich lohnend sein . Hier sind zehn der grundlegendsten DIY-Elektronikfähigkeiten, die Ihnen den Einstieg erleichtern. Weiterlesen .
Wir werden die LED-Kathoden in einer Reihe zusammenlöten, um eine gemeinsame Basis zu schaffen, ähnlich wie wir es gemacht haben, als wir unsere LED-Matrix gemacht haben. Rüsten Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix auf. Rüsten Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix auf Kranz verwendet eine Arduino- und LED-Matrix, um ein erstaunliches Leuchtdisplay zu erzeugen, das Ihre Freunde und Familie beeindrucken wird. Weiterlesen .
Falten Sie jede Kathode so, dass sie die nächste überlappt, und löten Sie sie, um eine durchgehende Linie zu bilden. Jetzt müssen wir unsere Anoden an die Beine der neben ihnen liegenden Widerstände löten. Ich fand es am einfachsten, dies zu tun, indem ich jedes Bein an die jeweilige Unterlage löte und dann das Bügeleisen zwischen die beiden Gelenke steckte, bevor man schließlich mehr Lötmittel hinzufügte, um die Lücke zwischen ihnen zu überbrücken.
Überprüfen Sie jede Verbindung, um sicherzustellen, dass sie fest angeschlossen ist. Verwenden Sie dann Drahtschneider, um die überstehenden Beine von den Widerständen und LEDs zu trennen.
Nun, um dieselbe Aufgabe zu wiederholen, diesmal jedoch das andere Ende unserer Widerstände mit den Beinen des Arduino zu verbinden. Dies ist der fummeligste Teil des Lötens. Jeder Widerstand hängt viel an seinem Arduino-Pin, oder die Schaltung funktioniert nicht wie vorgesehen. Ich habe hier einige Fehler gemacht und musste den Lötdocht mehrfach verwenden, um unerwünschtes Lötmittel zu entfernen.
Nachdem Sie alle korrekten Verbindungen hergestellt haben, überprüfen Sie noch einmal, ob sich eine der beiden mit ihren Nachbarn überschneidet. Wenn Sie hier Zugriff auf ein Multimeter haben, können Sie den Continuity-Modus verwenden, um zu überprüfen, dass jeder Pin nur eine ungebrochene Leitung zum Widerstand hat. Wenn Sie gerade ein Multimeter haben, finden Sie in diesem Artikel eine gute Einführung. 7 DIY Tech-Fähigkeiten, um Ihre Kinder zu unterrichten, weil Schulen keine 7 DIY Tech-Fähigkeiten, um Ihre Kinder zu unterrichten, weil Schulen nicht mehr lesen
Wenn Sie jede Verbindung überprüft haben, schneiden Sie die überschüssige Länge von den Beinen der Widerstände ab
Leistung hinzufügen
Führen Sie nun ein Stück Draht vom GND-Pin Ihres Arduino zu einem Loch neben der Stelle, an der die Reihe der gelöteten Kathoden endet, und platzieren Sie das schwarze Kabel des Batteriehalters daneben.
Löten Sie nun den Draht an den GND-Pin, genau wie bei den Widerständen, und löten Sie beide Drähte an das Ende der Kathodenlinie, um eine gemeinsame Masse für die Schaltung zu schaffen.
Befestigen Sie zum Schluss einen Draht an den VIN-Pin Ihres Arduino und platzieren Sie den Schalter zwischen diesem Draht und dem Akku. Entschuldigung für den mit Heißkleber bedeckten Schalter in diesem Foto, ich musste die fertige Maschine demontieren, um diese Stufe zu fotografieren!
Sobald alles zusammengelötet ist, legen Sie eine Batterie ein und betätigen Sie den Schalter. Herzliche Glückwünsche! Die Schaltung ist fertig. Wenn nichts aufleuchtet, überprüfen Sie jede Lötstelle sorgfältig, um zu sehen, wo ein Bruch oder ein Kurzschluss vorliegt.
Gehege
Nun, da es funktioniert, legen wir es in eine Kiste. Hier wurde eine bemalte Pappschachtel verwendet, obwohl Sie mit einer in einem Hobbyladen gekauften Schachtel oder sogar einer alten Tupperware-Schachtel etwas festeres machen konnten. Für zusätzliche Geek-Gutschriften können Sie sogar einen eigenen 3D-Druck auf einem dieser billigen 3D-Drucker erstellen. 5 günstige 3D-Drucker, die Sie tatsächlich kaufen können heute 5 günstige 3D-Drucker, die Sie tatsächlich kaufen können Vor ein paar Jahren waren selbst die billigsten 3D-Drucker unbequem nahe an der 1.000-Dollar-Marke - jetzt können Sie einen Qualitäts-3D-Drucker für nur 400 Euro erwerben. Weiterlesen
Reduzieren Sie Ihr Protoboard auf die gewünschte Größe, indem Sie es einschneiden und Teile wegnehmen, die Sie nicht benötigen.
Platzieren Sie Ihren Stromkreis in Ihrem Gehäuse und markieren Sie, wo die LEDs und der Schalter durchschlagen müssen. Optional können Sie auch markieren, wo der USB-Anschluss auf der Arduino-Platine auf die Kante trifft, sodass Sie ihn anschließen können, um den Text zu ändern, ohne die Box zu öffnen. Bohren oder schneiden Sie die benötigten Löcher in das Gehäuse.
Fügen Sie nun ein wenig Heißkleber an den Kanten der LEDs hinzu und kleben Sie sie fest. Ich klebte ein Stück Schwamm unter den Stromkreis, so dass er eng in der Box sitzen würde. Befestigen Sie den Schalter am Gehäuse. Ich habe Heißkleber verwendet, obwohl Schrauben oder Bolzen eine viel stärkere Verbindung bilden würden. Sie können den Batteriehalter auch auf die Rückseite der Platine kleben, um zu verhindern, dass sich das Gerät im Inneren bewegt, wenn das Gerät verwendet wird. Achten Sie jedoch darauf, dass Metallkontakte auf dem Gehäuse keine Ihrer Lötstellen berühren!
Job ist fertig!
Schließen Sie Ihr Gehäuse auf und Sie sind fertig! Um den Text zu ändern, schließen Sie Ihr USB-Kabel an die Arduino-Platine an und ändern Sie anschließend den Text in den Klammern displayString in dem Schleife Methode. Finde einen dunklen Ort und viel Spaß!
Haben Sie bereits eine POV-Maschine gebaut und wissen, wie Sie das Design verbessern können? Planen Sie, selbst einen zu bauen? Erzählen Sie uns in den Kommentaren von Ihrem Projekt, wir würden es gerne hören!
Mehr erfahren über: Arduino, Elektronik.