Inhaltsverzeichnis:

(POV) Persistenz der Vision Globe - Gunook
(POV) Persistenz der Vision Globe - Gunook

Video: (POV) Persistenz der Vision Globe - Gunook

Video: (POV) Persistenz der Vision Globe - Gunook
Video: POV Globe MK I Logo 2024, November
Anonim
Image
Image
(POV) Persistenz der Vision Globe
(POV) Persistenz der Vision Globe
(POV) Persistenz der Vision Globe
(POV) Persistenz der Vision Globe

!Aktualisieren! Ich habe ein Excel-Programm hinzugefügt, das es viel einfacher macht, neue Bilder zu zeichnen und zu codieren

Eine einfache Beharrlichkeit der Vision Globe. VIDEO ABSPIELEN

Dies ist ein Projekt, das ich schon seit einiger Zeit im Kopf habe und der Wettbewerb "Make It Glow" war genau die Motivation, die ich brauchte, um mich zu inspirieren, ein altes 5-LED-POV-Display herauszuziehen und es mit Shift auf die nächste Stufe zu bringen registriert. Wenn Sie dieses instructable genießen, erwägen Sie bitte, dafür zu stimmen.

Eine kurze Einführung in POV oder Persistenz des Sehens: Jedes Wechselspannungslicht blinkt tatsächlich mit einer Frequenz von 60 Hz oder 60 Mal pro Sekunde. Unser Gehirn nimmt dies als konstantes Licht wahr. Dieses Konzept werden wir nutzen, um mit einer einzigen LED-Reihe ein sphärisches Bild zu erzeugen. Für dieses Projekt habe ich beschlossen, dass 24 LEDs, die mit drei 8-Bit-Schieberegistern sequenziert sind, die für den Globus erforderliche Mindestauflösung bieten.

Schritt 1: Materialien

Hier ist, was ich verwendet habe.

  • (1) Arduino Uno (für Prototyping)
  • (1) Bareduino (für permanentes Board optional) VIRTUABOTIX LINK
  • (3) HC595N-Schieberegister
  • (24) Blaue LEDs
  • (24) 220 Ohm Widerstände
  • (1) Steckbrett
  • (1) Batteriehalter und Batterie
  • (1) Ring mit 10" Durchmesser (breit genug, um LEDs zu halten und je leichter, desto besser)
  • (1) Stück Gewindestange (ich habe 5/16")
  • (1) Motor (ich habe einen von einem alten Dirt Devil verwendet)
  • (1) Motorkupplung
  • (1) 120V Trennen (Lichtschalter)
  • (1) Lüftergeschwindigkeitsregler

Schritt 2: Bau des Rings

Den Ring bauen
Den Ring bauen
Den Ring bauen
Den Ring bauen

Ich habe ein Stück 1/8 "dicke x 1/2" breite Aluminium-Flachstange für meinen Ring und 5/16" alle Gewinde für den Mittelmast verwendet, weil ich sie herumliegen hatte, aber ich denke, dies könnte auf einem gemacht werden 3D-Drucker komplett mit PCB-Halterungen und viel leichter. Ich habe diesen Ring für einen vorherigen Build mit 5 LEDs gebaut, die jeweils einen separaten DO des Arduino ausgeschaltet haben.

Der Durchmesser des Rings ist nichts Besonderes. Meine ist ca. 10 rund, nur weil die flache Stange, die ich hatte, anfangs 3 'lang war. Ich habe sie auf einer 3-in-1-Schere / Bremse / Rolle von Harbour Freight gerollt, aber Sie könnten den Ring auch um eine aus Sperrholz geschnittene Scheibe formen und haben gute Ergebnisse. Ich sehe keinen Grund, warum der Ring nicht aus Holz sein könnte. Ich bevorzuge einfach die Metallbearbeitung.

Ich bohrte Löcher für die LEDs bei ca. 5/16 "in der Mitte. Dieser Abstand füllte alle bis auf 1" oben und unten auf einer Seite des Rings. Sie müssen eine Halterung in der Mitte des Rings anschrauben, um eine Montagefläche für die Steckbretter bereitzustellen.

Schritt 3: Herstellen der Schaltung

Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen

Dies war mein erster Versuch, Schieberegister zu verwenden, also begann ich auf der Arduino-Site zu recherchieren und fand ein äußerst nützliches Beispiel, das ich an meine Bedürfnisse angepasst habe. Sie finden das Tutorial bei Arduino ShiftOut Ich habe mich für das "Code Sample 2.3 - Dual Defined Arrays" als meinen Basiscode entschieden, dazu später mehr.

Wenn Sie das Tutorial durchgehen, erfahren Sie, wie Sie Informationsbits nacheinander seriell von Ihrem Arduino an die Schieberegister senden. Diese Anordnung ermöglicht es Ihnen, alle 24 LEDs in diesem Projekt mit nur 3 Pins auf dem Arduino zu steuern. Wir werden die Serial-In-, Parallel-Out-Fähigkeit des 74HC595 verwenden, um 24 Bits an Informationen oder 3 Bytes in die Schieberegister zu laden und dann die Daten parallel zu den LEDs herauszuschieben.

Da das erste Datenbit, das wir laden, an der letzten Registerstelle landet, werden wir LED1 oder die südlichste LED an QO des ersten Schieberegisters anschließen. Folgen Sie dem Schaltplan aus dem ShiftOut-Beispiel und fügen Sie das dritte Schieberegister an das zweite an, genauso wie das zweite an das erste.

Ich empfehle, den Beispielcode nebenbei auszuführen, zuerst mit nur einem Register, dann mit zwei. Der Beispielcode sequenziert die Lichter so, dass leicht zu erkennen ist, ob etwas verdrahtet ist. Ich konnte dem "Code Sample 2.3 - Dual Defined Arrays" einfach ein Byte3 hinzufügen und ein drittes Array, das ich Blue nannte. Sie können dies im ShiftOutArrayByte3R1-Code sehen, der in diesen Schritt hochgeladen wurde.

Schritt 4: Alles zusammenfügen

Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen

Jetzt, da wir uns sicher waren, dass die Schaltung funktioniert, müssen wir alles am Ring montieren. Ich schlage vor, Ihr Arduino / Bareduino auf einer Seite und Ihr Shift Register Board gegenüber dem Arduino zu montieren. Dies hilft dabei, das Gewicht auszugleichen, aber Sie müssen höchstwahrscheinlich etwas bewegen, bis Sie eine stabile Rotation erreichen. Ich benutzte die 9-Volt-Batterie auf der Seite, die ich brauchte, um das Gewicht hinzuzufügen. Ich habe Kabelbinder verwendet, um die Bretter und die Batterie am mittleren Mast zu befestigen. Auf diese Weise konnte ich Anpassungen vornehmen, um den Ring auszubalancieren.

Jetzt alle LEDs löten. Da wir die positive Spannung der LEDs steuern, können wir alle Kathodenleitungen mit einem einzigen nicht isolierten Draht verbinden und diesen in unsere Masse stecken. Dann müssen wir einen Widerstand an die Anodenleitung jeder LED anlöten und dann einen Draht vom Widerstand an den entsprechenden Schieberegisterausgangspin anschließen. Ich habe die Funktion Blink All in der Setup-Schleife belassen, um einfach zu erkennen, ob eine LED aus ist.

Schritt 5: Zeichnen des Globus

Den Globus zeichnen
Den Globus zeichnen
Den Globus zeichnen
Den Globus zeichnen
Den Globus zeichnen
Den Globus zeichnen

!!Aktualisieren!! Jetzt können Sie mit dem Excel-Programm zeichnen, das das Bild für Sie in Hexadezimal umwandelt. Der Code für Ihre roten, blauen und grünen Arrays kann kopiert und in die Arduino-Skizze eingefügt werden. Geben Sie einfach eine 1 ein, wo die LED eingeschaltet sein soll, und die Zelle wechselt automatisch zu blau! In diesem Schritt wird das Excel-Programm hochgeladen. Dank der Rave Shades anweisbar für die Veröffentlichung des Rave Shades Animator, der für dieses Projekt geändert wurde

Okay. Jetzt künstlerisch werden. Ich habe mich für einen Globus entschieden, weil ich dachte, es wäre eine coole Möglichkeit, mit POV eine sphärische 360-Grad-Anzeige zu erstellen, aber ich werde versuchen, in diesem und im nächsten Schritt zu zeigen, wie Sie jedes Bild erstellen können, das Sie in einer Auflösung von 24 x 70 Punkten zeichnen können.

Zuerst fand ich ein geeignetes Weltkartenbild, das ich als Leitfaden verwenden konnte. Dann fand ich bei Google Play eine App namens "Mosaic Builder", die perfekt für meine Bedürfnisse war. Wie Sie im letzten Bild in diesem Schritt sehen können, konnte ich eine niedrigaufgelöste Version des Weltkartenbilds auf meiner 24x70-Vorlage erstellen. Zu Ihrer Information die 24 kommt aus den 3 Bytes Daten und daher 24 LEDs hoch und die 70 kommt von der Teilung des Umfangs meines Rings durch 5/16 ", um den horizontalen Abstand eng an den vertikalen Abstand der LEDs anzupassen. Die 70 Punkte breit variiert je nach Größe Ihres Rings, ist aber nicht kritisch. Dies ist insbesondere nicht kritisch, da wir keine Art von Sensor verwenden, wie z. B. eine Infrarot-LED, um eine vollständige Drehung zu erkennen und die Schleife zurückzusetzen in Zukunft in Betracht ziehen, aber solange wir die Geschwindigkeitsregelung am Motor haben, ist der Sensor unnötig.

Sobald Sie eine Zeichnung haben, mit der Sie zufrieden sind, können Sie das Bild im nächsten Schritt nach Byte in hexadezimalen Code umwandeln.

Schritt 6: Der Code

Der Code
Der Code
Der Code
Der Code
Der Code
Der Code

!Aktualisieren! Zeichnen Sie einfach Ihr Bild mit 1s ein, um ON darzustellen, wodurch das Pixel automatisch blau gefärbt wird. Wenn Ihr Bild fertig ist, klicken Sie auf die Schaltfläche "Alle Arrays kopieren" und fügen Sie die vorhandenen Arrays in der Arduino-Skizze ein! Ich habe eine neue Skizze zu diesem Schritt hochgeladen

Wie bereits erwähnt, habe ich das "Code Sample 2.3 - Dual Defined Arrays" aus dem Arduino ShiftOut-Beispiel als Basis verwendet. Wie Sie in diesem Code bemerken werden, kommentiert der Autor, dass er nicht sicher ist, ob Arduino mit direkten Binärwerten umgehen kann, daher wurden stattdessen hexadezimale Werte verwendet. Hinweis: Ich habe die binären Kommentare neben den Hex-Werten nie geändert, ich habe nur die Hex-Werte geändert, damit sie in mein Weltkartenbild passen.

Das war jetzt erst das zweite Mal, dass ich Hex sah und ich war ziemlich ahnungslos. Ich fand die beigefügte Hexadezimal-Binär-Umrechnungstabelle, die sehr geholfen hat. Dieses Diagramm kann verwendet werden, um den Binärwert jeder Spalte oder (Byte) in einen Hex-Wert umzuwandeln. Wenn Sie sich zum Beispiel das letzte Bild in diesem Schritt ansehen, können Sie sehen, wie das Weltkartenbild von oben nach unten in Drittel unterteilt wurde und jede Spalte aus 3 Bytes besteht, wobei Weiß oder Aus = 0 und Blau oder Ein = 1 ist Am unteren Ende jeder Spalte wurde das Byte in einen Hexadezimalwert zwischen 00 & FF umgewandelt, was einem Dezimalwertbereich von 0-255 oder einem Binärbereich von 00000000 bis 11111111 entspricht.

Der angehängte Code hat das Globe-Bild geladen, kann aber für ein eigenes Bild geändert werden.

Schritt 7: Testen

Image
Image
Testen
Testen

Bevor ich mit dem Bau einer Basis- und Motorhalterung fortfuhr, dachte ich, ich würde die Schaltung testen und optimieren. Ich habe das Bohrgerät einfach in eine Akku-Bohrmaschine eingespannt, alles eingeschaltet und den Abzug betätigt. Ich musste die Verzögerung auf 1 ms einstellen und mein erster Versuch führte Russland südlich von Australien. Ich habe auch gelernt, dass das Bild verkehrt herum angezeigt wird, was ich erwartet hatte, was eine einfache Lösung war, den ganzen Ring einfach umzudrehen. Das angehängte Video ist von meinem letzten erfolgreichen Test. Jetzt ist es Zeit für eine Basis mit Permanentmotor und Drehzahlregler.

LEAD GLOBE TEST SPIELEN

Schritt 8: Fertigstellen

Beenden!
Beenden!
Beenden!
Beenden!
Beenden!
Beenden!

Ich habe den Lichtschalter als Trenner für meinen Motor verdrahtet und dann den Lüfterdrehzahlregler zwischen dem Trenner und dem Motor verdrahtet. Dies gibt mir eine Möglichkeit, den Strom schnell abzuschalten und die Motordrehzahl einigermaßen gut zu kontrollieren. Jetzt brauchte ich eine Möglichkeit, den Motor mit dem Globus zu verbinden. Die Welle am Motor war 17/64 "und das gesamte Gewinde, das ich für den Globus verwendet habe, ist 5/16". Eine 5/16"-Kupplung war vielleicht nur der Trick, aber leider hatte ich nur 3/8"-Kupplungen, die nutzlos waren. Stattdessen fand ich ein Stück 1/2 "Aluminium-Rundschaft und schnitt ein 2" langes Stück ab und bohrte ein 17/64" Loch durch die Mitte. Diese Lochgröße war geeignet zum Gewindeschneiden eines 5/16-18 Gewindes auf halbem Weg durch die Rundschaft. Ich habe auch ein kleines Loch durch die Seite gebohrt und geklopft, um eine Stellschraube für die Motorwelle einzuschrauben, dann habe ich die Kugel eingeschraubt und eine Kontermutter zum Sichern verwendet. Der Dirt Devil-Motor dreht sich schnell genug, um das Loch zu sprengen Zusammenbau, also musste ich die Geschwindigkeit so weit wie möglich einstellen. Bei dieser Geschwindigkeit dreht sich der Motor nicht wirklich, was das Laufen des Rigs etwas schwierig macht. Was ich tun muss, ist, den Globus am Drehen zu hindern und den langsam anzuheben Geschwindigkeit bis der Motor anspringt, dann kann ich die Geschwindigkeit reduzieren und die Kugel loslassen. Endlich kann ich mit etwas Feintuning einen tollen langsamen Dreheffekt erzielen.

VIDEO ABSPIELEN

Empfohlen: