Machen Sie einen POV LED Air Writer für unter $ 5

In diesem einfachen Projekt erstellen wir ein kleines Gerät, das Nachrichten in der Luft aufleuchten lässt, wenn Sie es herumwedeln. Es ist einfacher als Sie denken, und die Gesamtkosten liegen unter 5 $.

In diesem einfachen Projekt erstellen wir ein kleines Gerät, das Nachrichten in der Luft aufleuchten lässt, wenn Sie es herumwedeln.  Es ist einfacher als Sie denken, und die Gesamtkosten liegen unter 5 $.
Werbung

Sie können alle möglichen Dinge mit blinkenden LEDs machen, und in diesem einfachen Projekt machen wir ein kleines Gerät, das Nachrichten in der Luft aufleuchtet, wenn Sie es hin und her winken. Es ist einfacher als Sie denken, und die Gesamtkosten für Teile sind unter $ 5.

Dieses Projekt verwendet eine optische Illusion, die Persistenz der Vision genannt wird, um Text in der Luft erscheinen zu lassen. Sie sind wahrscheinlich auf dieses Phänomen gestoßen, wenn jemand nachts eine brennende Wunderkerze bewegt. Wir werden ein Arduino und einige LEDs verwenden, um diesen Effekt nachzuahmen. Dieses Projekt ist einfach zu bauen, mit wenigen Komponenten und wenig Löten (obwohl, wenn Sie einige Tipps für den Einstieg mit Ihrem Lötkolben wollen, lesen Sie diese Anleitung. Lernen Sie, wie man lötet, mit diesen einfachen Tipps und Projekten lernen, wie man Löten, mit diesen einfachen Tipps und Projekte Sind Sie ein wenig eingeschüchtert von dem Gedanken an ein heißes Eisen und geschmolzenes Metall? Wenn Sie mit Elektronik arbeiten wollen, müssen Sie lernen, zu löten. Lassen Sie uns helfen. Lesen Sie weiter.

Du wirst brauchen

  • Arduino (Ich habe einen $ 2 Nano verwendet, weil es kompakt und billig ist, aber jedes Modell sollte in Ordnung sein).
  • 5x rote LEDs.
  • 5x 220 Ohm Widerstände.
  • 1x 9V Batteriehalter.
  • 1x Wippschalter.
  • 1x Stück Protoboard.
  • Ein Gehäuse für das fertige Produkt (ich benutzte eine kleine Pappschachtel, schwarz lackiert).

Sie benötigen auch einen Lötkolben und etwas Lötzinn, um alles zusammen zu setzen.

Optional können einige Lötdochte sehr nützlich sein, wenn Sie Lötfehler machen. Ein Steckbrett und einige Anschlussdrähte sind auch nützlich, um Ihre Schaltung zu testen.

Für das Projekt erforderliche Komponenten

Verdrahtung

Die Verdrahtung könnte nicht einfacher sein. Schließen Sie zuerst Ihren Arduino, LEDs und Widerstände wie in diesem Diagramm gezeigt an.

pov fritzing

Die Pins D2 bis D6 gehen jeweils zu jedem Widerstand, der an der positiven Anode (langer Schenkel) jeder LED angebracht ist. Die Kathode ist mit Masse verbunden, die wiederum mit dem Arduino verbindet. Wenn es fertig ist, sollte es in etwa so aussehen:

pov Steckbrett

Das ist es: unsere Schaltung ist fertig! Wir werden später ein Batteriegehäuse und einen Schalter hinzufügen, aber das ist alles, was wir brauchen, um zu testen, ob es funktioniert.

Code

Jetzt schließen Sie Ihr Arduino an den Computer an und öffnen Sie die Arduino IDE. Wenn Sie mit dem Arduino noch nicht vertraut sind und eine gute Anleitung zum Start erhalten möchten, klicken Sie auf diesen Link. Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik. um Hardware und Software zu verwenden. Es richtet sich an Künstler, Designer, Bastler und alle, 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 von diesem Projekt geändert und Sie können es bei diesem Gist vollständig herunterladen.

// how long each led stays on for int delayTime = 1; //how long between each int charBreak = 3; //how long to wait after the message is finished before it repeats 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; myline = line; 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'){for (int i = 0; i<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, vergewissern Sie sich, dass Sie den richtigen Board und Com-Port ausgewählt haben. Ihre LEDs sollten anfangen zu flackern. Wenn nicht, überprüfen Sie alle Verbindungen auf Ihrem Steckbrett. Die Ganzzahlen, die am Anfang des Codes deklariert werden, 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 schnellen Test machen. Trennen Sie Ihren Arduino vom USB-Kabel und befestigen Sie den Batteriehalter an den VIN- und GND-Pins Ihres Arduino

Pov Fritz mit Batt

Jetzt, wo du es bewegen kannst, versuche vorsichtig die LEDs vor dir zu schwingen. Sie sollten einige Buchstaben in der Luft sehen, vorausgesetzt, es ist dunkel genug um Sie herum. Ich fand, dass es half, mein Telefon aufzustellen, um das zu erfassen.

Brottest

Es klappt! Jetzt, um es ein wenig dauerhafter zu machen.

Bügeleisen bereit!

Lege dein Arduino Board, die Widerstände und die LEDs so auf dein Protoboard:

an Bord ausgelegt

Sie können das Layout natürlich so kompakt gestalten, wie Sie es wünschen, solange die Schaltung unverändert bleibt. Stellen Sie sicher, dass Sie mindestens eine Linie von Protoboard-Kontakten auf jeder Seite Ihres Arduino für die Komponenten und die Stromversorgung lassen. Wenn Sie ein Anfänger in der Elektronik sind, hier sind ein paar gute Tipps für Sie Anfänger Elektronik: 10 Fähigkeiten, die Sie kennen müssen Einsteiger Elektronik: 10 Fähigkeiten, die Sie wissen müssen Viele von uns haben nie einen Lötkolben berührt - aber Dinge zu machen kann unglaublich lohnend sein . Hier sind zehn der grundlegenden DIY-Elektronik-Fähigkeiten, um Ihnen den Einstieg zu erleichtern. Weiterlesen .

Wir werden die LED-Kathoden in einer Linie zusammenlöten, um einen gemeinsamen Boden zu bilden, ähnlich wie wir es bei unserer LED-Matrix getan haben. Verbessern Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix. Erweitern Sie Ihren Weihnachtskranz mit einer bewegungsaktivierten LED-Matrix Kranz verwendet eine Arduino- und LED-Matrix, um eine erstaunliche Leuchtanzeige zu erzeugen, die Ihre Freunde und Familie beeindrucken wird. Weiterlesen .

Zeilenkathoden

Falten Sie jede Kathode so, dass sie die nächste überlappt, und löten Sie sie, um eine ununterbrochene Linie zu bilden. Jetzt müssen wir unsere Anoden an die Beine der Widerstände neben ihnen anlöten. Ich fand den einfachsten Weg, dies zu tun, war, jedes Bein an ihr jeweiliges Pad zu löten, und dann das Eisen dazwischen zu legen, um beide Gelenke zu erhitzen, bevor schließlich mehr Lötmittel hinzugefügt wird, um die Lücke zwischen ihnen zu überbrücken.

Überprüfen Sie jede Verbindung, um sicherzustellen, dass sie fest verbunden ist, und verwenden Sie dann Drahtschneider, um die überschüssigen Beine von den Widerständen und LEDs abzutrennen.

Widerstände zu Anoden

Nun, um die gleiche Aufgabe zu wiederholen, aber dieses Mal verbindet das andere Ende unserer Widerstände mit den Beinen des Arduino. Dies ist der fummeligste Teil des Lötens. Jeder Widerstand wird viel an seinem Arduino-Pin alleine befestigt oder der Schaltkreis funktioniert nicht so, wie er gedacht ist. Ich habe hier einige Fehler gemacht und musste Lötmittel verwenden, um unerwünschtes Lot mehrere Male zu entfernen.

Sobald Sie alle korrekten Verbindungen hergestellt haben, überprüfen Sie, ob sich keine von ihnen mit ihren Nachbarn überschneidet. Wenn Sie hier Zugriff auf ein Multimeter haben, können Sie den Kontinuitätsmodus verwenden, um zu überprüfen, dass jeder Pin nur eine ununterbrochene Linie zu seinem Widerstand hat. Wenn Sie gerade ein Multimeter haben, gibt es in diesem Artikel einen guten Einstieg. 7 DIY Tech Skills, um Ihre Kinder zu unterrichten, weil Schulen nicht 7 DIY Tech Skills, um Ihre Kinder zu unterrichten, weil Schulen nicht mehr lesen

Kontinuitätsbild

Sobald Sie jede Verbindung überprüft haben, schneiden Sie die überschüssige Länge von den Beinen der Widerstände ab

Macht hinzufügen

Führen Sie nun ein Stück Draht vom GND-Pin Ihres Arduino zu einem Loch neben der Linie Ihrer gelöteten Kathoden und legen Sie das schwarze Kabel Ihres Batteriehalters daneben.

gnd Drähte oben

Löten Sie nun den Draht wie bei den Widerständen an den GND-Pin und löten Sie beide Drähte an das Ende der Kathoden, um eine gemeinsame Masse für den Schaltkreis zu schaffen.

Schließen Sie zum Schluss einen Draht an den VIN-Pin Ihres Arduino an und legen Sie Ihren Schalter zwischen diesen Draht und den Akku. Entschuldigung für den mit Heißkleber bedeckten Schalter in diesem Foto, musste ich die fertige Maschine demontieren um diese Bühne zu fotografieren!

Wein wechseln

Sobald alles zusammengelötet ist, legen Sie eine Batterie ein und drehen Sie den Schalter. Herzliche Glückwünsche! Die Schaltung ist fertig. Wenn Sie nichts sehen, überprüfen Sie jede Lötstelle sorgfältig, um zu sehen, wo eine Unterbrechung oder ein Kurzschluss auftreten kann.

Gehege

Jetzt, da wir es in Ordnung gebracht haben, lasst es uns in eine Kiste legen. Hier wurde eine bemalte Pappschachtel verwendet, obwohl man mit einer in einem Hobbyladen gekauften Schachtel oder sogar einer alten Tupperware-Schachtel etwas Dauerhaftes schaffen konnte. Für zusätzliche Geek Cred, könnten Sie sogar Ihre eigenen 3D auf einem dieser billigen 3D-Drucker drucken. 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 Heute Vor ein paar Jahren zurück, sogar die billigsten 3D-Drucker waren unangenehm nah an der $ 1.000-Marke - jetzt können Sie einen hochwertigen 3D-Drucker für so niedrig wie $ 400. Weiterlesen

Zerkleinere dein Protoboard, indem du es einkerbst und Teile, die du nicht brauchst, vorsichtig wegschnappst.

Proto Gif

Platzieren Sie Ihre Schaltung in Ihrem Gehäuse und markieren Sie, wo die LEDs und der Schalter durchgehen müssen. Sie können optional auch markieren, wo der USB-Anschluss auf der Arduino-Platine die Kante trifft, damit 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.

Löcher machen

Fügen Sie nun einen kleinen Heißkleber an den Kanten der LEDs hinzu und kleben Sie sie fest. Ich habe ein Stück Schwamm unter die Schaltung geklebt, so dass es gut in der Box sitzen würde. Befestigen Sie Ihren Schalter an dem Gehäuse. Ich benutzte Heißkleber, obwohl Schrauben oder Bolzen eine viel stärkere Verbindung herstellen würden. Sie können den Batteriehalter auch auf die Rückseite der Leiterplatte kleben, damit er sich nicht im Inneren des Geräts bewegt, wenn das Gerät verwendet wird. Achten Sie jedoch darauf, dass keine Metallkontakte auf dem Gehäuse Ihre Lötstellen berühren!

Messschalter

Job ist erledigt!

Schließen Sie Ihr Gehäuse und Sie sind fertig! Um den Text zu ändern, schließen Sie Ihr USB-Kabel an die Arduino-Platine an und ändern Sie den Text innerhalb der Klammern nach displayString in der Loop- Methode. Finde einen dunklen Ort und viel Spaß!

langsamer stimuliert

Haben Sie schon einmal eine POV-Maschine gebaut und wissen, wie Sie das Design verbessern können? Planen Sie selbst einen zu bauen? Erzählen Sie uns von Ihrem Projekt in den Kommentaren unten, wir würden es gerne hören!

In this article