Inhaltsverzeichnis:

Arduino basierender 3x3-LED-Würfel - Gunook
Arduino basierender 3x3-LED-Würfel - Gunook

Video: Arduino basierender 3x3-LED-Würfel - Gunook

Video: Arduino basierender 3x3-LED-Würfel - Gunook
Video: N64-inspired Arduino + nRF24L01 remote controller 2024, Juli
Anonim
Image
Image
Arduino basierender 3x3 LED-Würfel
Arduino basierender 3x3 LED-Würfel

Hallo und willkommen zu meinem ersten Instructable.

Ich präsentiere ein einfaches, ordentliches Design für einen Anfänger 3x3x3 LED-Würfel. Um den Aufbau zu erleichtern, gebe ich Details zu einer benutzerdefinierten Leiterplatte, die Sie selbst herstellen oder kaufen können, Anweisungen und Sie können, wie ich, die Software aus diesem großartigen Arduino-Bibliotheks-LED-Würfel und der Arduino-Lib wiederverwenden.

Eines der Designziele war es, nur Durchgangslochteile zu verwenden, sie sind für Anfänger einfacher zu löten und alles ist über das Internet auf Ihren bevorzugten Auktions-/Shopping-Sites leicht verfügbar.

Das Design kann über ein USB-Kabel oder ein 7,5-12 V DC-Netzteil mit Strom versorgt werden.

Die Schaltung verwendet ein reduziertes Arduino-Kerndesign und Sie können sie entweder mit einem billigen In Circuit System Programmable (ICSP)-Programmierer oder einem leicht verfügbaren USB-zu-TTL-Adapter in der Schaltung programmieren. Die einzige Software, die Sie benötigen, ist die ehrwürdige Arduino IDE.

Dieses Design ist nicht revolutionär, es baut nur auf einigen früheren Arbeiten auf und ich habe es ordentlich verpackt. Ich hoffe du genießt es.

Schritt 1: Erforderliche Teile

Dieses Design verwendet weit verbreitete Durchgangslochteile. Ihr bevorzugter Händler vor Ort sollte die benötigten Teile auf Lager haben.

Sie benötigen einen Atmega 168p oder Atmega 328p mit dem darin geflashten Arduino-Bootloader. Sie finden diese bei Ebay, suchen Sie nach "arduino bootloader", stellen Sie sicher, dass Sie die Dual In Line (DIL)-Variante kaufen. Sie benötigen auch eine USB-Buchse vom Typ B, die normale, ältere, dicke. Ich habe dies gewählt, da es leicht zu löten ist. Die Transistoren T1-T3 sind Allzweck-NPN-Transistoren, ebenso wie die aufgeführten Typen. Sie können BC108, 2N2222, 2N3904 usw. verwenden. Überprüfen Sie jedoch immer die Transistor-Pinbelegung gegen die Platine.

Stellen Sie bei den wichtigen LEDs sicher, dass Sie LEDs mit hoher Helligkeit oder ultrahellen LEDs kaufen. Ich habe 10000-12000mcd LEDs von einem Verkäufer bei Ebay für den hier gezeigten Beispielwürfel verwendet. Sie möchten helle, damit Sie den Würfel bei normaler Raumbeleuchtung noch sehen können. Wenn in der Artikelbeschreibung der Betrachtungswinkel angegeben ist, normalerweise 20 Grad, aber Sie können einen mit einem größeren Betrachtungswinkel finden, ziehen Sie ihn in Betracht. Diese ultrahellen LEDs sind nicht die hellsten, wenn sie von der Seite betrachtet werden. Möglicherweise müssen Sie einige LEDs von verschiedenen Anbietern ausprobieren, bevor Sie diejenigen finden, die Ihren Anforderungen entsprechen.

Komplette Stückliste:

Teilwert BeschreibungPCB Die schöne grüne Platine, machen oder kaufen.27 3mm LEDs, Farbe Ihrer Wahl. C1 100n 100nF, 25V, 7,5mm Pitch Keramikkondensator C2 22p 22pF, 25V, 4,4mm Pitch Keramikkondensator

C3 22p 22pF, 25V, Keramikkondensator mit 4.4mm Rastermaß C4 100n 100nF, 25V, Keramikkondensator mit 7.5mm Rastermaß C5 100n 100nF, 25V, Keramikkondensator mit 7.5mm Rastermaß C6 10u 10uF 16V, 5.5mm Gehäuse Elektrolytkondensator, 16V C7 22u 10uF 16V, 5,5 mm Gehäuse Elektrolytkondensator, 16V IC1 ATMEGA ATEMEGA168 oder ATMEGA328 mit Arduino Bootloader IC2 L7805T L7805CV 5V, 100mA Linearregler, TO92 Gehäuse ICSP ICSP Stiftleiste, 0,1" Raster, 2x3 Wege. J1 DCJ0202 DC Steckdose, 2,1mm Innendurchmesser. JP1 Stiftleiste, 0,1" Raster, 1x3 Wege. Q2 16MHz 16MHz, HC49 Gehäusequarz, 50ppm, niedriges Profil R1 10k 10K 1/4W Metallschichtwiderstand 1% R2 1k 1K 1/4W Metallschichtwiderstand 1% R3 1k 1K 1/4W Metallschichtwiderstand 1% R4 1k 1K 1/ 4W Metallschichtwiderstand 1% R5 470 470 1/4W Metallschichtwiderstand 1% R6 1k 1K 1/4W Metallschichtwiderstand 1% R8 100 100R 1/4W Metallschichtwiderstand 1% R9 100 100R 1/4W Metallschichtwiderstand 1% R10 470 470R 1/4W Metallschichtwiderstand 1% R11 470 470R 1/4W Metallschichtwiderstand 1% R12 470 470R 1/4W Metallschichtwiderstand 1% R13 470 470R 1/4W Metallschichtwiderstand 1% R14 470 470R 1/4W Metallschichtwiderstand 1% R15 470 470R 1/4W Metallschichtwiderstand 1% R16 470 470R 1/4W Metallschichtwiderstand 1% R17 470 470R 1/4W Metallschichtwiderstand 1% R18 1k 1K 1/4W Metallschichtwiderstand 1% R19 LDR Optionaler LDR S1 S1 4-poliger 6x6mm PTH-Schalter für Leiterplattenmontage. T1 BC547 BC547/BC548 NPN-Transistor mit niedriger Leistung, TO92 T2 BC547 BC547/BC548 NPN-Transistor mit niedriger Leistung, TO92 T3 BC547 BC547/BC548 NPN-Transistor mit niedriger Leistung, TO92 X4 USB Typ B Buchse, Leiterplattenmontage Durchgangsloch.4 x 3-5 mm hoch Gummifüße aufkleben.

Schritt 2: Schaltplan und Erklärung der Bedienung

Schaltplan und Funktionserklärung
Schaltplan und Funktionserklärung

Das Schema ist oben gezeigt.

Das Design basiert auf dem Arduino Duemilanove-Schema, das auf das Wesentliche reduziert ist. Das USB-zu-Seriell-Gerät wurde entfernt, aber es gibt einen seriellen Header, JP1, der es einem USB-zu-TTL-Adapter ermöglicht, das Gerät zu programmieren, mehr zur Programmierung später. Es gibt auch den ICSP-Header.

Das Board kann über den USB-Stecker betrieben werden, über die praktische 5-V-Versorgung im PC oder über ein günstiges Handy-Ladegerät für Pfund / Dollar. Die andere Option verwendet den DC-Steckereingang, dieser akzeptiert einen 7-15-V-DC-Eingang, sodass Sie jeden beliebigen Steckeradapter verwenden können. Die Schaltung verwendet nur 30mA, also sollte ein weggeworfener Adapter von einem toten Gerät funktionieren, überprüfen Sie Ihre Junk-Box.

Widerstände R12 bis R17 stellen den Strom ein, der die Helligkeit der LEDs festlegt. Bei ROTEN LEDs und den gezeigten 470R-Widerständen beträgt der Strom ~ 5 mA pro LED. Zur Berechnung des LED-Stroms benötigen Sie die Ausgangsspannung des Atmega-Gerätes (4,2V) und den Durchlassspannungsabfall der LED, bei einer roten LED sind es 1,7V. Die Formel lautet:

LED-Strom = (Atmega-Ausgangsspannung - LED-Spannung)/I Led

Mit den von mir verwendeten Teilen:LED-Strom = (4,2-1.7)/470LED-Strom = 5,31mA

Begrenzen Sie den Strom vom Atmega 168/328 auf 10 mA

Einige häufige LED-Spannungsabfälle:

Rot 1,7VGelb 2,1VBereich 2,1VGrün 2,2VBlau 3,2VSuperblau 3,6VWeiß kühl 3,6V

Sie können also eine blaue LED mit hoher Helligkeit verwenden, der Widerstand würde auf 270R fallen. Sie können den Strom auf 10 mA erhöhen, in meinen Tests fand ich 5 mA ausreichend.

Die Transistoren T1-T3 sind übliche NPN-BJT-Transistoren, BC547/BC548/2N2222 usw. Sie steuern das Schalten jeder der drei Schichten. Widerstände R2-R4 begrenzen den Basisstrom des Widerstands.

R6 und die PWR-LED sind optional, vom Arduino kopiert, es ist offensichtlich, wenn der LED-Würfel eingeschaltet ist.

C2, C3 und Q2 bilden die Taktschaltung für das Atmega 168/328p-Gerät, vorprogrammiert mit dem Bootloader. Stellen Sie sicher, dass Sie die 22pF-Kondensatoren hier und nicht an anderer Stelle einsetzen, da der Chip nicht startet. C1, C4 und C5 sind Netzteilentkopplung. IC2, C6 und C7 bilden eine einfache lineare Reglerschaltung. Dazu gibt es nicht viel zu sagen, aber stellen Sie sicher, dass Sie die Kondensatoren richtig herum einbauen. Auf der PCB-Zeichnung und dem Siebdruck befinden sich +-Symbole.

SK1 und R8 und R9 sind die serielle Schnittstelle. Mit einem USB-zu-TTL-Adapter können Sie das Gerät programmieren, indem Sie das Beispiel hier verwenden

Schritt 3: Beziehen der Designdateien und Herstellen der Leiterplatte

Die PCB-Designdaten können von Github heruntergeladen werden unter

Es gibt verarbeitete Gerber-Dateien zum Senden an einen PCB-Hersteller, Schaltplan und PCB-Overlay im.png-Format und die originalen Eagle-CAD-Dateien.

Die Platine könnte zu Hause hergestellt werden, ich hätte dies getan, aber mir ging Etchant aus. Das Design kann mit einer einseitigen Leiterplatte hergestellt werden und die obere Schicht (ROT in den Bildern) kann mit verzinnten Kupferdrahtverbindungen implementiert werden. Ich habe https://pcbshopper.com/ verwendet, um einen geeigneten Anbieter zu finden, für die Prototypen habe ich Elecrow verwendet.

Das PCB-Design auf Github weist 3 Änderungen gegenüber dem hier gezeigten Prototyp-Design auf:

  1. Der Regler 7805CV wurde durch einen kleineren Regler 78L05 ersetzt.
  2. Die Platine ist um 5 mm geschrumpft.
  3. Ich habe die Polyfuse vom USB +5V-Feed entfernt.

Schritt 4: Zusammenbau der Platine

Montage der Platine
Montage der Platine
Montage der Platine
Montage der Platine

Die Platine ist relativ einfach zu montieren. Ich habe ein Foto der bestückten Leiterplatte und des Layouts oben als Referenz hinzugefügt. Ich beginne immer damit, die kleinsten Teile zuerst zu montieren und nach oben zu arbeiten, besonders wichtig, wenn Sie keinen PCB-Ständer haben.

  1. Beginnen Sie mit der Montage der Widerstände, löten Sie sie noch nicht. Stellen Sie sicher, dass Sie die richtige Komponente an der richtigen Stelle einsetzen. Passen Sie sie zur leichteren Kontrolle mit dem Toleranzband nach rechts/unten an, das erleichtert die spätere Kontrolle. Schauen Sie hier, wenn Sie Hilfe bei der Identifizierung von Widerstandsfarbcodes benötigen. Sobald Sie überprüft haben, dass die richtigen Teile an der richtigen Stelle sind, löten Sie die Teile.
  2. Löten Sie den Quarz Q2 und die Kondensatoren C2 und C3.
  3. Löten Sie die 28-polige Buchse für den Atmega168/328 an, achten Sie darauf, dass die Kerbe von Pin 1 nach oben liegt, dies verhindert, dass das Gerät nach hinten eingesetzt wird.
  4. Bringen Sie die Anschlüsse ICSP und JP1 an.
  5. Montieren Sie die Kondensatoren C1, C4 und C5, alle 100nF (Teilenummer 104).
  6. Der Linearregler IC2.
  7. Montieren Sie die Transistoren T1, T2 und T3. Stellen Sie sicher, dass Sie T1/T2/T23 und IC1 nicht vertauscht haben, da sie sich alle im selben Paket befinden.
  8. Passen Sie S1 an, die Ausrichtung spielt keine Rolle.
  9. Passen Sie C6 und C7 an, achten Sie auf die richtige Polarität!
  10. Montieren Sie den USB-Stecker X4.
  11. Bringen Sie den Gleichstromstecker J1 an.

Das letzte zu montierende Bit ist die SIL-gedrehte Stiftleiste. Ich benutze ein Paar feine Cutter, um den Kunststoff vorsichtig von jedem Stift des Streifens zu entfernen, ich wiederhole dies, bis ich 12 gedrehte Stiftbuchsen habe, dann löte ich mit einer Zange und 3 Händen jeden nacheinander auf die Platine. Da die meisten Leute keine 3 Hände haben, verzinnen Sie jedes Loch mit etwas Lötzinn, um das Pad abzudecken, lassen Sie es abkühlen. Dann mit dem Lötkolben das Lot schmelzen und den Stift einsetzen, den Lötkolben für eine Verbindung entfernen. Möglicherweise benötigen Sie etwas frisches Lot, wenn Sie eine trockene Verbindung haben.

Bevor Sie Ihre Lötung überprüfen, machen Sie eine kurze Pause, vielleicht für ein Getränk? Überprüfen Sie Ihre Lötung, überprüfen Sie den USB-Anschluss, da die Pins eng beieinander liegen und die Pins am Atmega168/328-Gerät.

Wenn Sie mit dem Löten zufrieden sind, befestigen Sie die selbstklebenden Füße an der Unterseite der Platine.

Schritt 5: Zusammenbau des LED-Würfels

Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes
Zusammenbau des LED-Cubes

Dies ist der schwierigste Teil der Montage. Nehmen Sie sich Zeit, haben Sie keine Angst.

Ich habe den obigen Bildern Notizen hinzugefügt, denn ein Bild sagt mehr als tausend Worte.

Ein paar wichtige Punkte.

  1. Stellen Sie sicher, dass die positive Leitung (längeres Bein) nach unten zeigt, während das Design +V zu den 9 LEDs auf jeder Schicht schaltet.
  2. Stellen Sie sicher, dass die negative Leitung um 90 Grad zur LED gebogen ist, um die horizontalen Balken zu bilden.
  3. Bauen Sie jede Schicht einzeln auf und überprüfen Sie den Build doppelt/dreifach.
  4. Stellen Sie sicher, dass sich der verzinnte Kupferdraht, wenn er verwendet wird, auf halbem Weg zwischen jeder LED-Reihe befindet, dies erleichtert das Anheften des Schichtschalterdrahts.

Schritt 6: Testen und endgültige Cube-Montage

Testen und endgültige Cube-Montage
Testen und endgültige Cube-Montage

Bevor Sie die LED-Würfelbaugruppe oder das Atmega168/328-Gerät anschließen, können Sie einige einfache Überprüfungen durchführen.

Wenn Sie ein DMM haben (Sie sollten eines haben, wenn Sie ein solches Projekt erstellen), messen Sie den Widerstand an den Pins 7 (positiv) und 8 (negativ) der 28-poligen Buchse, Sie sollten > 1 K haben. Wenn es niedriger ist, überprüfen Sie Ihre Lötung.

Als nächstes legen Sie einen 7-15-V-Eingang an J1 an, gehen Sie zurück zu den Pins 7 und 8 der 28-poligen Buchse, messen Sie die Spannung, Sie sollten 5 V sehen, aber es kann irgendwo zwischen 4,90 V und 5,1 V liegen, das ist in Ordnung. Wenn Sie R6 und die PWR-LED eingebaut haben, sollte diese leuchten.

Ziehen Sie J1 ab, stecken Sie ein USB-Kabel in X4, stecken Sie das Kabel in einen Hub oder ein Netz auf 5V-USB-Adapter, wiederholen Sie die Spannungsmessung an den Pins 7 und 8 der 28-poligen Buchse, liegt die Messung bei etwa 5V?

Die obigen Prüfungen sollten sicherstellen, dass die Versorgungsspannungen korrekt und mit der richtigen Polarität sind.

Setzen Sie als nächstes das Atmega168p/328p-Gerät vorsichtig ein. Biegen Sie die Stifte bei Bedarf ein wenig, damit sie in die Buchse passen. Verwenden Sie J1 und Ihre 7-15-V-Versorgung, schalten Sie die Stromversorgung ein und prüfen Sie, ob IC2 kurz nach dem Einschalten heiß wird. Wenn dies der Fall ist, schalten Sie die Stromversorgung aus und überprüfen Sie die Ausrichtung von IC1.

Als nächstes setzen Sie vorsichtig die erste Reihe des LED-Arrays ein. Stellen Sie sicher, dass sich einer der verzinnten Kupferdraht-Stützstäbe in der Nähe von PADL1, PADL2 und PADL3 befindet, den Sie später beim Löten des Drahtes für jede Lage benötigen. Beginnen Sie am besten mit einem Eckstift und biegen Sie mit einer Spitzzange jeden Stift Reihe für Reihe vorsichtig leicht, um die Buchse auf der Platine zu passen. Ich habe oben ein Foto der ersten zusammengesetzten Ebene hinzugefügt. Schneiden Sie ein Stück eindrähtigen 1/0,6-Draht auf eine Länge zu, die geeignet ist, um von PADL1/PADL2 oder PADL3 zu jeder Schicht des Würfels zu gelangen. Ich fand es einfacher, die erste Reihe von LEDs in die Platine einzufügen und den Steuerdraht der ersten Schicht (in weiß dargestellt) zu löten, dann zum vorherigen Schritt zurückzukehren, eine weitere Reihe zu erstellen und dann jede Schicht auf die Platine zu montieren, da dies eine stabile Base.

Beginnen Sie mit dem Löten der nächsten Schicht, indem Sie eine der Eck-LEDs löten. Löten Sie dann die gegenüberliegende Ecke. Überprüfen Sie nun, ob die Schicht eben ist, bevor Sie weiter löten. Sobald Sie die Schicht angepasst haben, löten Sie die anderen beiden Eck-LEDs, das Array sollte eben sein, aber überprüfen Sie es erneut. Löten Sie die restlichen LEDs. Wiederholen Sie den Schichtaufbau für die letzte Schicht.

Schritt 7: Programmierung

Abhängig von Ihrem Atmega-Gerät müssen Sie möglicherweise den Bootloader programmieren oder einfach den Code herunterladen. Wenn Sie einen Chip mit bereits programmiertem Bootloader haben, können Sie einen USB-zu-TTL-Adapter verwenden. Folgen Sie dieser Anleitung:

www.instructables.com/id/Program-Arduino-Mini-05-with-FTDI-Basic/

Sie können auch den 2x3-poligen In Circuit System Programmable (ICSP)-Anschluss verwenden, Sie können dazu einen anderen Arduino verwenden:

www.instructables.com/id/How-to-use-Arduino-Mega-2560-as-Arduino-isp/

Ich verwende einen Usbasp-Programmierer, der mit der Arduino IDE arbeitet, konfiguriere dies über das Menü Extras->Programmierer. Sie können Arduino / Atmel AVR-Programmierer günstig über Ebay oder andere Auktionsseiten abholen.

Laden Sie die LED-Cube-Bibliothek von https://github.com/gzip/arduino-ledcube herunter, folgen Sie den Anweisungen auf dem Github und suchen Sie in Ihrem Beispielverzeichnis nach 'arduino-led-cube->ledcube'.

Wenn Sie den ICSP-Programmierer verwenden, halten Sie die Umschalttaste gedrückt, bevor Sie auf Hochladen klicken, um die Arduino-IDE anzuweisen, den Programmierer zu verwenden. Wenn Sie den USB-zu-TTL-Adapter verwenden, drücken Sie die Reset-Taste und lassen Sie sie los, sobald die IDE die Kompilierung abgeschlossen hat.

Nachdem der Beispielcode programmiert wurde, sollten Sie einen LED-Würfel mit hübschen Mustern haben.

Dies ist mein erstes instructable, Kommentare und Feedback sind willkommen.

Empfohlen: