Ein Arduino-Projekt Wie man auffällige Weihnachtslicht-Ornamente macht
Dies ist der nächste Teil unserer Arduino-Lernreihe, und dieses Mal werden wir etwas darüber lernen und verwenden Arrays ein kleines Christbaumschmuck mit verschiedenen blinkenden Sequenzen. Dies wäre ein ideales Projekt, um die Kinder zu beschäftigen, wenn Sie ihnen das grundlegende Löten beibringen möchten - montieren Sie einfach die LEDs auf einem Kartenstück, und Sie können Strom aus einer 9-V-Standardbatterie beziehen.
Es ist auch eine wichtige Lektion in der Arduino-Programmierung für Anfänger. Wenn Sie jedoch nicht beabsichtigen, dies als Schmuckstück zu verwenden, würde ich dringend empfehlen, es auf jeden Fall auszuschließen.
Hinweis: Dies ist ein sehr Anfänger-Tutorial, und wir werden sicherlich keine neuen Wege beschreiten. nur ein Gerät, um die Konzepte der Verwendung zu vermitteln Arrays und Für Schleifen sich mit einem beschäftigen große Anzahl von LEDs (oder andere Ausgabegeräte).
Wenn Sie es nicht bereits getan haben, wäre jetzt ein guter Zeitpunkt, um mit den anderen Artikeln der Serie zu folgen:
- Was ist Arduino und was können Sie damit machen Was ist Arduino und was können Sie damit machen? Was ist Arduino und was können Sie damit machen? Das Arduino ist ein bemerkenswertes kleines elektronisches Gerät, aber wenn Sie noch nie eines benutzt haben, was genau sind sie und was können Sie damit machen? Weiterlesen ?
- Was ist ein Arduino Starter Kit und was enthält es? Was ist in einem Arduino Starter Kit enthalten? [MakeUseOf erklärt] Was ist in einem Arduino Starter Kit enthalten? [MakeUseOf erklärt] Ich habe die Arduino-Open-Source-Hardware hier bereits auf MakeUseOf vorgestellt, aber Sie benötigen mehr als nur den eigentlichen Arduino, um etwas daraus zu bauen und tatsächlich loszulegen. Arduino "Starter-Kits" sind… Lesen Sie mehr
- Weitere coole Komponenten, die Sie mit Ihrem Starter-Kit kaufen können 8 Weitere coole Komponenten für Ihre Arduino-Projekte 8 Weitere coole Komponenten für Ihre Arduino-Projekte Sie denken also über ein Arduino-Starter-Kit nach, fragen sich jedoch, ob es einige grundlegende LEDs und Widerstände gibt genug, um dich für das Wochenende zu beschäftigen? Wahrscheinlich nicht. Hier sind weitere 8… Read More
- Erste Schritte mit Ihrem Arduino Starter Kit Treiber installieren und Board & Port einrichten Erste Schritte mit Ihrem Arduino Starter Kit - Treiber installieren und Board & Port einrichten Erste Schritte mit Arduino Starter Kit - Treiber installieren & Board & Port einrichten Sie haben sich also selbst gekauft ein Arduino-Starter-Kit und möglicherweise einige andere coole Komponenten - was nun? Wie fangen Sie eigentlich an, dieses Arduino-Ding zu programmieren? Wie richten Sie es ein? Lesen Sie mehr
- Fritzing, ein kostenloses Tool zum Zeichnen von Schaltplänen Fritzing - Das ultimative Werkzeug für das Skizzieren von Elektronikprojekten [Cross Platform] Fritzing - Das ultimative Werkzeug für das Skizzieren von Elektronikprojekten [Cross Platform] Obwohl Fritzing wie ein Alcopop klingt, ist Fritzing tatsächlich ein unglaubliches Stück Eine kostenlose Software, mit der Sie Schaltungs- und Komponentendiagramme für den Einsatz mit Rapid-Prototyping-Elektronikplatinen erstellen können, z. B. das fantastische Open-Source-Programm Arduino… Read More
- Ein genauerer Blick auf die Struktur einer Arduino-App und das Beispiel Blink-Programm Erste Schritte mit dem Arduino: Ein genauerer Blick auf die Leiterplatte und die Struktur eines Programms Erste Schritte mit dem Arduino: Ein genauerer Blick auf die Leiterplatte und die Struktur Eines Programms Letztes Mal habe ich Sie verlassen, als Sie Ihr Arduino für die Arbeit mit Mac oder Windows eingerichtet hatten und eine einfache Test-App hochgeladen haben, die die integrierte LED blinkt. Heute werde ich den Code erklären ... Mehr lesen
Für dieses Projekt benötigen Sie mindestens 8 oder 9 LEDs entweder in rot oder grün, a Widerstand für jeden von ihnen a Steckbrett und einige Anschlussdrähte. Das Starter-Kit von Ooomlout, das ich kürzlich selbst gekauft habe und in diesem Tutorial abgebildet ist, bietet ein hervorragendes Preis-Leistungs-Verhältnis und verfügt über mehr LEDs und Widerstände, als Sie jemals benötigen werden. Außerdem erhalten Sie ein ordentliches Steckbrett und einen Arduino-Koffer, um die Dinge zu behalten aufgeräumt.
Hier ist die letzte Sache:
Und ein Video davon in Aktion.
Hier ein Blick auf die Verkabelung von Fritzing. Es ist sehr einfach - verbinden Sie einfach die positive Leitung der LEDs mit den Pins 2-> was auch immer (bis Pin 13) und verbinden Sie die negativen Beine mit einem Widerstand mit der Masse. Der hier verwendete Wert beträgt 560 Ohm. Das ist es für die Verkabelung.
Denken Sie auf der Softwareseite darüber nach, wie Sie möglicherweise all diese LEDs im Code beschreiben. Du könntest es so machen:
int led1 = 2; // erste LED an Pin 2 int led2 = 3; // Sekunde auf Pin 3 // etc etc void loop () digitalWrite (led1, HIGH); Verzögerung (100); DigitalWrite (LED1, LOW); Verzögerung (100); DigitalWrite (LED2, HIGH); // usw
Sie sollten in der Lage sein, mit 9 LEDs zu sehen, dies wird schnell ermüdend. Die Antwort liegt bei Arrays, Wenn Sie sich nicht an unser Programmierprogramm 101 über grundlegende Datentypen erinnern können Die Grundlagen der Computerprogrammierung 101 - Variablen und Datentypen Die Grundlagen der Computerprogrammierung 101 - Variablen und Datentypen Nachdem Sie die objektorientierte Programmierung vor und deren Namensgebung ein wenig erläutert haben Ich dachte, es ist an der Zeit, dass wir die absoluten Grundlagen des Programmierens auf eine nicht sprachspezifische Weise durcharbeiten. Diese… Weiterlesen - sind im Grunde nur Listen.
Die Syntax sieht folgendermaßen aus (platzieren Sie dies als erste Zeile in Ihrem Code):
int leds [] = 2,3,4,5,6,7,8,9,10;
Die eckigen Klammern zeigen an, dass die LEDs? Variable wird eine sein Array. Die geschweiften Klammern schließen die Liste der Pin-Nummern ein, die unser Array enthalten wird.
Um ein Array zu verwenden, müssen wir es mit der Indexnummer ansprechen. Das Index beginnt bei 0, und wird daher immer um 1 weniger als die Gesamtzahl der darin enthaltenen Dinge gehen (Bei 9 Elementen hätte der letzte Index einen Index von 8).
Du schreibst es so:
leds [0]
Was in unserem Fall die Zahl 2 abrufen würde, weil dies bei Index 0 in unserem Array der Fall ist.
Folgen bis jetzt Großartig. Das allein reicht uns jedoch nicht aus - wir brauchen auch einen Weg, um jedes Element unseres LED-Arrays zu durchlaufen. Dafür verwenden wir eine für Schleife. Die Syntax dafür ist wie folgt:
for (Anfangsvariable; Bedingung, unter der wir uns wiederholen; bei jeder Iteration in Variable ändern)
Zum Beispiel:
für (int i = 0; i<9; i++)
Was sagt
- Starten Sie diese Schleife mit einer Variablen, ich, was hat einen Wert von Null
- Fahre mit der Schleife nur fort, solange ich ist weniger als 9?(so: 0,1,2,3,4,5,6,7,8)
- jedes Mal, addiere 1 zu i (i ++ ist eine kurze Art und Weise zu sagen, i = i + 1)
Im Grunde wird die Schleife so oft wiederholt, wie wir LEDs haben, und jedes Mal, wenn sie wiederholt wird, haben wir eine Variable, ich, die wir verwenden können, wie wir wollen.
Wir werden diese Struktur gleich zweimal verwenden. Sobald Sie sich in der Setup-Funktion befinden, können Sie dafür sorgen, dass alle Pins wie folgt in den Ausgabemodus wechseln:
void setup () für (int i = 0; i< 9;i++) pinMode(leds[i],OUTPUT);
Kannst du sehen, was wir dort gemacht haben? Anstatt neun Zeilen Code zu schreiben, um jeden einzelnen Pin als Ausgabe zu deklarieren, erstellen wir eine "for" -Schleife, um sich neun Mal zu wiederholen, wobei jedes Mal ein anderer Pin gesetzt wird.
Jetzt sollten Sie in der Lage sein zu sehen, wie wir in der Hauptprogrammschleife genau das Gleiche tun können, um jede LED nacheinander einzuschalten:
void loop () for (int i = 0; i< 9;i++) digitalWrite(leds[i],HIGH); delay(100); digitalWrite(leds[i],LOW);
Versuch das. Sie können den vollständigen Code für das heutige Projekt hier herunterladen, wenn Sie ihn lieber nicht noch einmal eingeben (obwohl ich Sie dazu ermutige, da er den Lernprozess unterstützt)..
Okay, jetzt haben wir eine ziemlich langweilige Lichtsequenz. Lassen Sie uns noch eine programmieren. Nur zum Spaß machen wir es völlig zufällig. Ersetzen Sie den Hauptschleifencode durch Folgendes:
void loop () int randomLed = zufällig (0,8); DigitalWrite (LEDs [randomLed], HIGH); Verzögerung (50); randomLed = zufällig (0,8); DigitalWrite (LEDs [randomLed], LOW);
Anstatt eine "for" -Schleife zu verwenden, um über jede LED zu iterieren, wählen wir stattdessen eine Zufallszahl von 0-9 und blinken diese ein.
Ich werde es für heute dort belassen, da Sie jetzt mit genügend Wissen ausgestattet sein sollten, um alle neuen Sequenzen zu programmieren und mit Schleifen zu experimentieren. Um zu beweisen, wie einfach dies alles ist, forderte ich meine Frau auf, an eine Sequenz zu denken, die sie gerne sehen würde, und bekam sie dann?sie selbst zu programmieren, gaben nur den Code und die Lektionen aus, die Sie bisher hatten. Sie hat sich das ausgedacht, also schauen Sie, ob Sie das für Hausaufgaben machen können!
Fragen, Anregungen, Probleme - bitte melden Sie sich in den Kommentaren.
Erfahren Sie mehr über: Arduino.