Inhaltsverzeichnis:

Arduino Glühwürmchen - Gunook
Arduino Glühwürmchen - Gunook

Video: Arduino Glühwürmchen - Gunook

Video: Arduino Glühwürmchen - Gunook
Video: Glühwürmchen-Simulation 2024, Juli
Anonim
Image
Image
Was du brauchen wirst
Was du brauchen wirst

Eines der Dinge, auf die ich mich im Sommer in Pennsylvania freue, sind Glühwürmchen in meinem Garten. Ich habe mir kürzlich die Adruino-Programmierung beigebracht, um dieses einfache Projekt zu erstellen. Es ist ein großartiges Programm für den Anfang und es ist einfach genug für jeden Programmierer, vom Anfänger bis zum Experten, in nur wenigen Minuten zu bauen, zu modifizieren und Spaß zu haben. Lass uns anfangen.

Schritt 1: Was Sie brauchen

Was du brauchen wirst
Was du brauchen wirst

Damit Ihre Bugs blinken, benötigen Sie diese Komponenten:

  • Arduinos. Ich habe mit dem Nano angefangen, aber jeder Arduino-kompatible Mikrocontroller reicht aus.
  • Gelbe LEDs, 5 mm. Sie können bis zu 6 davon verwenden.
  • Widerstände. Sie benötigen einen Widerstand pro LED, um den Strom zu begrenzen. Ich habe 470 Ohm verwendet, aber alles über 150 Ohm sollte in Ordnung sein, um Ihren Mikrocontroller zu schützen.
  • Steckbrett.
  • Überbrückungskabel.

Um das Projekt für Ihren Garten abzuschließen, benötigen Sie:

  • Wetterfeste Projektbox.
  • 9-Volt-Batterie mit Stecker. (Bitte beachten Sie die Hinweise am Ende dieses Abschnitts.)
  • Schalter. (Ich habe mich für diese wasserdichten Schalter entschieden. Wenn Sie diese nicht draußen verwenden, reicht jeder Schalter.)
  • Ein paar Meter Draht, um die LEDs im Garten zu platzieren. Ich habe etwa 10 Fuß Cat5-Ethernet-Kabel pro LED verwendet.
  • Ein kleines Steckbrett oder ein Perfboard.
  • Eine wetterfeste Kabelverschraubung, durch die die LED-Drähte laufen. (Sie können dies weglassen, wenn Sie dies nicht auch außerhalb verwenden.)
  • Schrumpfschlauch zum Schutz Ihrer LED-Insekten.
  • Grüne Klettstreifen (d. h. Klettbänder) zum Befestigen der LED-Glühwürmchen an Pflanzen und Pfosten in Ihrem Garten.
  • Stiftleisten zum Einstecken von Komponenten in Ihr kleines Steckbrett.

Werkzeuge:

  • Bohrer für die Projektbox. (Nutzen Sie diese Gelegenheit, um sich einen schönen Schritt zu machen. Sie werden es nicht bereuen).
  • Heißklebepistole.
  • Lötkolben.
  • Drehwerkzeug (z. B. Dremel) zum Herausschneiden von Platz in der Projektbox, wenn Sie es benötigen.

Ein paar Anmerkungen hier:

1. Bei der Wahl der Batterie wurde auf eine schnelle und einfache Inbetriebnahme geachtet. Die dauerhafte Verwendung einer 9-Volt-Batterie ist etwas verschwenderisch. Für eine längere Lebensdauer ist es besser, einen 4x AA-Batteriehalter zu verwenden (allerdings benötigen Sie eine größere Projektbox, in die er passt).

2. Wenn Sie sich dafür entscheiden, ein Cat-5-Ethernet-Kabel für die Drähte zu zerlegen, stellen Sie sicher, dass es sich um einen Kupferkern handelt, und wickeln Sie sie ordentlich um etwas PVC, um sie während der Arbeit organisiert zu halten. Auch hier habe ich etwa 10 Fuß Draht pro LED verwendet. Wenn Sie die Lichter weit und breit verteilen möchten, verwenden Sie unbedingt längere Drähte!

3. Schließlich sind alle von mir bereitgestellten Links lediglich Vorschläge. Bitte lesen Sie diese gesamte Anleitung durch, bevor Sie etwas bauen oder kaufen, da Sie ein besseres Verständnis dafür gewinnen, wie Sie persönlich vorgehen möchten.

Schritt 2: Bauen Sie die Schaltung auf

Bauen Sie die Schaltung auf
Bauen Sie die Schaltung auf
Bauen Sie die Schaltung auf
Bauen Sie die Schaltung auf
Bauen Sie die Schaltung auf
Bauen Sie die Schaltung auf

Dieses Projekt verwendet die Pulsweitenmodulationsstifte Ihres Arduino. Der Mikrocontroller hat 6 dieser Pins und Sie können gerne so viele verwenden, wie Sie möchten. Die Strecke ist ziemlich geradlinig. Verdrahten Sie die gesamte Stromversorgung von den Pulsweitenmodulations-(PWM-)Pins D3, D5, D6, D9, D10 und D11 an die positiven Enden Ihrer LEDs. Verdrahten Sie die negativen Enden mit den Widerständen und dann mit einer gemeinsamen Masse. (Die Widerstände können vor oder hinter der LED stehen. Es macht keinen Unterschied, es sei denn, Sie möchten sich bei höheren Strömen vor Kurzschlüssen schützen.) Ich habe ein paar Schaltpläne beigefügt, um bei der Verdrahtung zu helfen. (Die Diagramme wurden mit der Fritzing-Designsoftware erstellt.)

Schritt 3: Der Code

Image
Image

Wenn Sie ein erfahrener Programmierer sind, werden Sie diesen Code einfach finden. Es ist ein großartiger Code, um mit dem Lernen zu beginnen, da er Sie in die Verwendung von Variablen, Pinmodes, Funktionen und sogar einem Zufallsgenerator einführt. Der Code ist nicht so kompakt, wie er sein kann, da ich sicher bin, dass der gleiche Effekt mit Arrays usw.

Die Codekommentare legen die Logik jedes Abschnitts fest. Der gesamte Code ist hier eingebettet und Sie können die Skizze unten herunterladen.

/*

Dieses Skript lässt 6 LEDs (natürlich gelb) in zufälliger Reihenfolge in zufälligen Intervallen mit PWM blinken. Jede LED wird durch eine eigene Funktion gesteuert. */ int led1 = 3; // LED an PWM-Pin 3 usw. angeschlossen Ich habe alle 6 PWM-Pins verwendet. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; langes Randnum; // randnum steuert das Zeitintervall zwischen Blitzen und langem Randbug; //randbug steuert, welcher Fehler aufleuchtet. Void setup () { PinMode (led1, OUTPUT); // Alle PWM-Pins als Ausgänge einstellen. PinMode (led2, AUSGANG); pinMode (led3, AUSGANG); pinMode (led4, AUSGANG); pinMode (led5, AUSGANG); pinMode (led6, AUSGANG); aufrechtzuerhalten. Void Schleife () { Randbug = zufällig (3, 12); //randbug wählt zufällig eine auszuführende Funktion, // wählt also zufällig einen Fehler aus, der aufleuchtet. wenn (randbug == 3) { bug1(); aufrechtzuerhalten. Wenn (randbug == 5) { bug2 (); aufrechtzuerhalten. Wenn (randbug == 6) { bug3(); aufrechtzuerhalten. Wenn (randbug == 9) {bug4(); aufrechtzuerhalten. Wenn (randbug == 10) { bug5 (); aufrechtzuerhalten. Wenn (randbug == 11) { bug6 (); } } /* * Jede dieser Funktionen funktioniert auf die gleiche Weise. 'for loops' erhöhen und verringern * den Ausgang dieses Pins, um die LED-Helligkeit zu steuern. * 'randnum' ist ein zufälliges Zeitintervall zwischen 10 und 3000 ms * und wählt ein Zeitintervall zwischen Bugflashes. * 'delay 10' ist nur für den Fade-Effekt. */void bug1 () {randnum = random (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led1, FadeValue); Verzögerung(10); } Verzögerung (randnum); aufrechtzuerhalten. Void bug2 () {randnum = random (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led2, FadeValue); Verzögerung(10); } Verzögerung (randnum); aufrechtzuerhalten. Void bug3 () {randnum = random (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led3, FadeValue); Verzögerung(10); } Verzögerung (randnum); aufrechtzuerhalten. Void bug4 () {randnum = random (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led4, FadeValue); Verzögerung(10); } Verzögerung (randnum); aufrechtzuerhalten. Void bug5 () { Randnum = zufällig (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led5, FadeValue); Verzögerung(10); } Verzögerung (randnum); aufrechtzuerhalten. Void bug6 () { Randnum = zufällig (10, 3000); for (int FadeValue = 0; FadeValue = 0; FadeValue -=5) { AnalogWrite (led6, FadeValue); Verzögerung(10); } Verzögerung (randnum); }

Schritt 4: Bauen Sie die Box auf

Bug Butts bauen!
Bug Butts bauen!

Sobald Sie Ihr Arduino mit Code geflasht haben und Ihre Glühwürmchen so arbeiten, wie Sie möchten, möchten Sie sie vielleicht in den Garten stellen. das bedeutet eine Projektbox und etwas Schrumpfschlauch, um das Arduino und die LEDs trocken zu halten. Lasst uns machen!

Schritt 5: Bug Butts bauen

Bug Butts bauen!
Bug Butts bauen!
Bug Butts bauen!
Bug Butts bauen!
Bug Butts bauen!
Bug Butts bauen!
  • Trimmen Sie die LED-Kabel auf ca. 5 mm.
  • Die Enden der verwendeten Drähte abisolieren und verzinnen, ebenfalls ca. 5 mm.
  • Schieben Sie 1 mm Schrumpfschlauch über jedes Drahtende.
  • Löten Sie die LED an den Draht. (An dieser Stelle sollten Sie wählen, welcher Draht in Ihrem Paar Ihr positiver und welcher sein negativer ist. Ich habe den massiven Draht als positiv und den weißen Draht als negativ gewählt. Behalten Sie diese Strategie während des gesamten Projekts bei, um später Kopfschmerzen zu vermeiden!)
  • Schieben Sie den Schrumpfschlauch ganz über den blanken Draht und die LED-Leitungen. Führen Sie eine schnelle Flamme über sie, um sie zu den Drähten zu schrumpfen.
  • Schieben Sie ein weiteres Stück Schrumpfschlauch über die LED und die Drähte, wobei die LED-Linse am Ende herausragt, und schmelzen Sie sie ein.
  • Schieben Sie ein paar Stücke Schrumpfschlauch über die gesamte Länge auf den Draht und schmelzen Sie ihn alle paar Meter, um den Draht sauber zu halten.

Schritt 6: Bereiten Sie die Projektbox vor

Bereiten Sie die Projektbox vor
Bereiten Sie die Projektbox vor
Bereiten Sie die Projektbox vor
Bereiten Sie die Projektbox vor
  • Verwenden Sie ein rotierendes Werkzeug mit einem Schleiftrommel-Bit, um unnötigen Kunststoff in Ihrer Projektbox zu entfernen. (Achten Sie darauf, dass Sie keine Schraubenhalterungen wegschneiden, die Sie möglicherweise benötigen, um Ihre Box wieder zusammenzusetzen.)
  • Entscheiden Sie, wo Ihr Schalter sein soll und die LED-Drähte herauskommen. Ich schlage die Seiten vor, aber verwenden Sie, was immer Ihren Bedürfnissen entspricht.
  • Verwenden Sie einen Bohrer der entsprechenden Größe, um Löcher für Ihre Kabelverschraubung und Ihren Schalter zu bohren.

Hinweis: Auf dem Foto oben sehen Sie, dass ich ein "Dummy-Kabel" hergestellt habe. Dies ist ein Bündel von 6 Paaren des Drahtes, den ich für die LEDs mit Schrumpfschlauch verwendet habe, um sie zusammen zu bündeln. Ich habe es verwendet, um sicherzustellen, dass die Kabelverschraubung gut zum eigentlichen Kabelbündel passt und um die Wasserbeständigkeit der Box zu testen, sobald der Schalter, die Kabelverschraubung und der Deckel eingeschaltet waren. (Nachdem es 24 Stunden lang in 6-Zoll-Wasser eingetaucht war, hatte es sehr wenig Feuchtigkeit im Inneren. Ich würde diese Box gerne als "wetterfest" bezeichnen.)

Schritt 7: Bringen Sie die Macht

Bring die Macht!
Bring die Macht!
Bring die Macht!
Bring die Macht!
  • Bestimmen Sie, wie viel Batterie und Schalterdraht Sie benötigen, um Ihr Arduino zu erreichen, indem Sie alle drei Komponenten grob in die Projektbox legen. Schneiden Sie die Drähte des Schalters und des 9-V-Batteriesteckers ab. Die Enden abstreifen und verzinnen. Schieben Sie für den nächsten Schritt etwas Schrumpfschlauch an Ort und Stelle.
  • Schneiden Sie zwei männliche Kopfstifte von Ihrem Streifen ab (aber lassen Sie sie zusammenkleben).
  • Löten Sie das rote Kabel des 9-V-Batteriesteckers an ein Ende des Schalters. Löten Sie das andere Ende des Schalters an einen männlichen Kopfstift. Löten Sie das schwarze Batteriekabel an den anderen Steckerstift.
  • Wie im obigen Diagramm gezeigt, gehen die Header-Pins in das Steckbrett, um den Nano an der VIN (positiv) und GND (negativ) mit Strom zu versorgen. Der VIN-Pin kann 7 bis 12 Volt verarbeiten. Wenn Sie Ihren Arduino auf andere Weise als eine 9-V-Batterie mit Strom versorgen möchten, verwenden Sie einen anderen Versorgungsstift.

Schritt 8: Ändern Sie den Nano bei Bedarf

Ändern Sie den Nano bei Bedarf
Ändern Sie den Nano bei Bedarf

Da meine Projektbox ziemlich flach war, musste ich die ICSP-Header-Pins entfernen, um zu passen. Diese Pins sind eine sekundäre Schnittstelle zu Ihrem Arduino. Wenn Sie sie entfernen, wird Ihr Nano nicht beschädigt, da Sie Skripte jederzeit über den USB-Anschluss laden können.

Hinweis: Wenn Ihr Nano Header-Pins zum Anlöten benötigt, lassen Sie diese Pins beim Zusammenbau Ihres Arduino einfach weg.

Schritt 9: Verdrahten Sie das Innere

Image
Image
Verdrahten Sie das Innere
Verdrahten Sie das Innere
Verdrahten Sie das Innere
Verdrahten Sie das Innere
  • Befestigen Sie den Kabelverschraubungsanschluss an der Projektbox in dem dafür gebohrten Loch. Wenn Sie nicht wissen, wie Sie eine Kabelverschraubung verwenden, zeigt dieses Video, das ich auf YouTube gefunden habe, eine zusammengebaute. (schneller Vorlauf zu 0:57.) Ihre könnte eine Gummiunterlegscheibe haben. Dies geht zwischen der Projektbox und der äußeren Mutter der Kabelverschraubung.
  • Sammeln Sie die losen Enden der LED-Drähte. Nehmen Sie sich diese Zeit, um sie auf eine gleiche Länge zu schneiden, die Enden abzustreifen und zu verzinnen. Führen Sie die Enden durch die Kappe der Kabelverschraubung und verwenden Sie ein Stück Schrumpfschlauch, um die Enden zusammenzubinden, sodass genügend Länge übrig bleibt, um das Steckbrett auf der Innenseite der Box zu erreichen.
  • Führen Sie das Kabelbündel durch den Kabelverschraubungsanschluss in die Projektbox und drehen Sie die Kabelverschraubungskappe, um die Drähte zu fixieren, vorzugsweise um den Schrumpfschlauch, mit dem Sie sie zusammengebündelt haben.
  • Trennen Sie die Erdungsdrähte von den positiven Drähten (denken Sie daran, welche Sie zuvor ausgewählt haben). Löten Sie alle Erdungsdrähte zu einer gemeinsamen Masse zusammen. Befestigen Sie einen kurzen Draht von diesem Bündel und beenden Sie ihn mit 1 männlichen Kopf. Verwenden Sie Schrumpfschläuche, um Ihre blanken Lötstellen zu schützen.
  • Löten Sie Stiftleisten an den Enden jedes positiven Drahtes. Verwenden Sie wieder Schrumpfschlauch.
  • Stecken Sie die Stiftleisten des positiven Endes in das Steckbrett, um eine Verbindung zu den PWM-Pins des Arduino herzustellen.
  • Fügen Sie die gemeinsame Masse in das Steckbrett ein, so dass sie durch einen Strombegrenzungswiderstand und dann zu GND auf dem Arduino geht.
  • Setzen Sie die Batterie ein und stecken Sie den Schalter durch das Loch in der Box, die Sie zuvor gebohrt haben. Bringen Sie die Gummischeibe zwischen Projektkasten und Schraubkappe an. Stecken Sie die Stromkabel in das Steckbrett.
  • Schnappen oder schrauben Sie den Deckel auf die Box. Sie sind fertig!

Hinweis: Beachten Sie in den Schaltplänen und in den Entwicklungsstadien, dass ich einen Strombegrenzungswiderstand pro LED verwendet habe. Normalerweise sollte jede LED einen eigenen Widerstand erhalten, da normalerweise mehr als eine LED gleichzeitig aufleuchtet. Der Code lässt nicht zu, dass mehr als eine LED gleichzeitig aufleuchtet, daher ist die Verwendung von nur einem Widerstand zum Schutz des Arduino in Ordnung. Dies spart auch Platz auf dem kleinen Steckbrett oder Zeit beim Löten jeder LED mit einem Inline-Widerstand. Das heißt… WARNUNG!!! Wenn Sie den Code so ändern möchten, dass mehr als eine LED gleichzeitig leuchtet, benötigen Sie für jede LED separate Widerstände.

Schritt 10: Verwenden Sie es

Benutze es
Benutze es

Verwenden Sie Klettbänder oder Heißkleber, um die LEDs an Pflanzen, Zäunen, rosa Flamingos oder irgendetwas anderem in Ihrem Garten zu befestigen. Verwenden Sie sie im Inneren, indem Sie sie in Weinregale, hinter Vorhänge stecken oder sogar die Drähte von der Decke hängen, um einen schwebenden 3D-Effekt im Dunkeln zu erzielen! Dies wäre eine großartige Note für Partys, Hochzeiten, Film und Fotografie.

Schritt 11: Weiter gehen…

Wie bereits erwähnt, ist dies eine frühe Version dieses Projekts, aber sie steckt voller Potenzial! Führen Sie mehr LEDs aus, indem Sie ein Schieberegister anschließen (Siehe diese Anleitung von JColvin91, um zu erfahren, wie.) Fügen Sie einen Lichtsensor, ein Solarladegerät und einen Timer für eine Funktion "einstellen und vergessen" hinzu! Verwirren Sie den Code, um den Fehlern Ihre eigene Fackel hinzuzufügen. Teilen Sie, was Sie machen und genießen Sie !!

UPDATE: In den letzten zwei Wochen seit der Veröffentlichung dieses Instructable haben viele Mitwirkende brillante Verbesserungen an Code, Hardware und Ausführung dieses Projekts vorgeschlagen. Ich empfehle dringend, wenn Sie planen, dies zu bauen, lesen Sie die Kommentare und Antworten, um Ideen zu finden, wie Sie diese Blitzfehler auf eine Weise erstellen können, die ich nicht geplant hatte. Im Sinne von Open Source begrüße ich alle Ideen, die dazu beitragen, dass dieses Projekt zu mehr wird, als ich es für möglich gehalten hätte … und ich danke allen, die dies ermöglicht haben.

Gehen. Machen!!!

Empfohlen: