® ADVENTSKALENDER FÜR ARDUINO ADVENTSKALENDER FÜR ARDUINO® ® ER FÜR ARDUINO ER FÜR ARDUINO® ® ADVENT CALENDAR FOR ARDUINO ADVENT CALENDAR FOR ARDUINO® ® R FOR ARDUINO AR FOR ARDUINO® 24 Experimente, die Spaß machen 24 thrilling experiments
Alle Versuche im Überblick Arduino®-Adventskalender 2019 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Heute im Adventskalender. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nano-Board – Arduino-kompatible Platine. . . . . . . . . . . . . . . . . . . . . .
Arduino®-Adventskalender 2019 Das Programmieren von Mikrocontrollern war früher nur etwas für Ingenieure und Informatiker. Die Arduino-Plattform ermöglicht dank übersichtlicher Hardware und einfach zu verstehender Software auf einmal jedem den Einstieg in die Mikrocontrollertechnik. Der Name Arduino Der Arduino kommt aus Italien und wurde nach dem italienischen König Arduino benannt, der bis ins Jahr 1005 in Ivrea, dem Firmensitz des Arduino-Hersteller, herrschte.
Softwareinstallation in Kürze Die Treiberinstallation in vier Schritten: 1. Entpacken Sie das ZIP-Archiv mit der heruntergeladenen Software in einen beliebigen Ordner unterhalb Ihres Windows-Benutzerordners. 2. Entpacken Sie das ZIP-Archiv 67006-9-nano-board-Treiber.zip in einen eigenen Ordner. 3. Schließen Sie den Nano über das USB-Kabel an und starten Sie dann die Treiberinstallation mit der Datei CH341SER.EXE aus dem Unterordner Windows des Treiber-Ordners.
LED blinkt In mBlock 3 braucht man beim Programmieren keinen Programmcode zu tippen. Die Blöcke werden einfach nur per Drag and Drop aneinander gehängt. Die Blockpalette im linken Teil des Fensters enthält, nach Themen geordnet, die verfügbaren Blöcke. Die Programme zum Adventskalender Die Programme zum Adventskalender finden Sie im Download, nach Tagen nummeriert. Wählen Sie im Menü Datei / Projekt laden, um ein Programm zu öffnen.
Programm auf den Nano übertragen Der rechte Teil des mBlock-Bildschirms zeigt den automatisch generierten Arduino-Programmcode. Klicken Sie dort oben links auf Upload zum Arduino, um das Programm automatisch zu kompilieren und auf das Nano-Board zu übertragen. Klicken Sie in der Meldung Starte Upload auf Schließen, um die Übertragung mitverfolgen zu können. Meldung beim Start der Übertragung. Im unteren Teil des Programmfensters sehen Sie den Fortschritt der Übertragung.
Bauteile: 1x Nano-Board, 1x Steckbrett, 1x LED rot mit Vorwiderstand Achten Sie beim Aufbau der Schaltung darauf, dass die Kathode (kurzer Draht) der LED mit dem GND-Pin verbunden ist, die Anode (langer Draht) mit dem D2-Pin. Die Pins auf dem Nano Alle Pins mit D… sind digitale Ein- oder Ausgänge, die die Werte Wahr oder Falsch (Ein oder Aus) annehmen können. Die Pins mit A… sind analoge Eingänge. GND-Pins sind Masseleitungen.
So funktioniert das Programm Die wiederhole fortlaufend-Schleife lässt die beiden LEDs wieder abwechselnd endlos blinken. Anstatt einer vom Programm fest vorgegebenen Zeit zwischen dem Umschalten, wird eine Variable verwendet. Variablen in mBlock Variablen sind kleine Speicherplätze, in denen man sich während eines Programms eine Zahl oder irgendetwas anders merken kann. Wenn das Programm beendet wird, werden diese Variablenspeicher automatisch wieder geleert.
5. Tag 5. Tag Heute im Adventskalender • Schaltdraht (isoliert) Schaltdraht Heute ist Schaltdraht im Adventskalender enthalten. Damit stellen Sie kurze Verbindungsbrücken her, mit denen dicht nebeneinander liegende Kontaktreihen auf der Steckplatine verbunden werden. Solche Drahtbrücken liegen flach auf dem Steckbrett und stören beim Aufbau der anderen Bauteile weniger als die langen Verbindungskabel.
Vorzeichen einer Variable umzukehren, verwenden wir den Operator '-' und subtrahieren den Wert der Variable von 0, was das gleiche Ergebnis liefert. Zum Schluss wartet das Programm in jedem Schleifendurchlauf die in der Variablen zeit gespeicherten 0,2 Sekunden lang. Anschließend startet die Endlosschleife neu und liefert der LED einen neuen PWM-Wert. 6. Tag 6.
7. Tag 7. Tag Heute im Adventskalender • 1x LED blau mit Vorwiderstand Lauflicht mit Potentiometer steuern Ein Potentiometer an einem analogen Eingangspin des Nano-Boards regelt die Geschwindigkeit des Lauflichts.
Wie entstehen Zufallszahlen? Gemeinhin denkt man, in einem Programm könne nichts zufällig geschehen – wie also kann ein Programm dann in der Lage sein, zufällige Zahlen zu generieren? Teilt man eine große Primzahl durch irgendeinen Wert, ergeben sich ab der x-ten Nachkommastelle Zahlen, die kaum noch vorhersehbar sind. Sie ändern sich auch ohne jede Regelmäßigkeit, wenn man den Divisor regelmäßig erhöht.
Der Zähler n beginnt bei 1. Jetzt startet wieder eine Schleife, die für die vier LEDs viermal durchläuft. Bei jeder LED wird geprüft, ob die Nummer der LED n größer ist als der in a gespeicherte Pegelwert. Ist das der Fall, wird die entsprechende LED ausgeschaltet. Dazu wird der Wert n mit 2 multipliziert und anschließend 2 addiert, um auf die Pin-Nummer der entsprechenden LED zu kommen. Ist die LED-Nummer nicht größer, also kleiner oder gleich dem Pegelwert, wird die LED eingeschaltet.
Bauteile: 1x Nano-Board, 1x Steckbrett, 1x LED rot mit Vorwiderstand, 1x LED gelb mit Vorwiderstand, 1x LED grün mit Vorwiderstand, 1x LED blau mit Vorwiderstand, 1x Drahtbrücke Das Programm Das Programm 10mblock lässt eine der vier LEDs aufleuchten, wenn die Symbolfigur M-Panda die Fläche in der entsprechenden Farbe berührt. Die LEDs RX und TX auf dem Nano blinken ständig, da im interaktiven Modus permanent Daten zwischen dem Nano-Board und dem PC hin- und hergeschickt werden.
Das Grafikprogramm in mBlock 3 Mit dem Kreiswerkzeug erzeugen Sie bei gedrückter [Umschalt]-Taste Kreise. Schalten Sie unten links auf den Füllmodus, um ausgefüllte Kreise zu zeichnen. Die Farbe wählen Sie auf der Palette unten in der Mitte. Mit dem Auswahlwerkzeug ganz oben wählen und kopieren Sie den fertigen Kreis mit [Strg]+[C] und [Strg]+[V]. Auf diese Weise erhalten Sie vier gleich große Kreise, die Sie nur noch an die passenden Stellen kopieren müssen.
Farbe Silber Gold Schwarz Braun Rot Orange Gelb Grün Blau Violett Grau Weiß Widerstandswert in Ohm 1. Ring 2. Ring 3. Ring (Zehner) (Einer) (Multiplikator) 10−2 = 0,01 10−1 = 0,1 0 100 = 1 1 1 101 = 10 2 2 102 = 100 3 3 103 = 1.000 4 4 104 = 10.000 5 5 105 = 100.000 6 6 106 = 1.000.000 7 7 107 = 10.000.000 8 8 108 = 100.000.000 9 9 109 = 1.000.000.000 4. Ring (Toleranz) ±10 % ±5 % ±1 % ±2 % ±0,5 % ±0,25 % ±0,1 % ±0,05 % In welcher Richtung ein Widerstand eingebaut wird, ist egal.
12. Tag Heute im Adventskalender 12. Tag • 1x Taster • 1x Widerstand 10 kOhm (braun – schwarz – orange) Lauflicht in zwei Richtungen mit einstellbarer Geschwindigkeit Lauflichter sind immer wieder beliebte Effekte, nicht nur für Werbung und Partyräume. Das Experiment des zwölften Tages lässt beim Druck auf einen Taster vier LEDs als Lauflicht leuchten. Der andere Taster lässt das Lauflicht in umgekehrter Richtung laufen. Über ein Potentiometer steuert man die Geschwindigkeit des Lauflichts.
Der Aufbau der Schaltung mag auf den ersten Blick etwas unübersichtlich aussehen. mBlock 3 gibt diese Anschlussbelegung vor. Bei Verwendung der Arduino IDE kann man sie frei ändern. Mit dem Potentiometer stellen Sie den Kontrast des LCD-Moduls so ein, dass die Schrift gut zu erkennen ist. Pinbelegung eines HD44780-kompatiblen LCD-Moduls Die Steuerleitungen auf Ihrem Board sind gelb und grün, die Datenleitungen violett, +5 V ist rot und die Masse blau.
LCD-Extension für mBlock 3 herunterladen und installieren. Nach der Installation erscheinen auf der Blockpalette Roboter automatisch die neuen Blöcke der LCD-Extension. Wichtig Die LCD-Extension funktioniert nur im Arduino-Modus, nicht im interaktiven Modus von mBlock 3. Das Programm Das Programm 13mblock zeigt einen Text auf dem LCD-Modul. Ein einfaches Programm für einen zweizeiligen Text auf dem LCD-Modul. So funktioniert das Programm Das Programm braucht keine Schleife und keine Variablen.
14. Tag 14. Tag Heute im Adventskalender • 2x Verbindungskabel Die Kabel werden erst an einem späteren Tag gebraucht. Der Schaltungsaufbau ist gegenüber dem 13. Tag unverändert. Laufschrift auf dem LCD-Modul Lässt man einen Text als Laufschrift in das LCD-Modul hinein laufen, fällt er deutlich mehr auf als nur ein statischer Text. Das Programm Das Programm 14mblock zeigt einen Text, der animiert von rechts in das LCD-Modul hinein läuft.
Die Schaltung verwendet einen einzigen Taster für Start, Stopp und Reset der Stoppuhr. Die untere Zeile des LCD-Moduls zeigt, welche Funktion der nächste Tastendruck auslöst. Bauteile: 1x Nano-Board, 2x Steckbrett, 1x LCD-Modul, 1x 560-Ohm-Widerstand (Grün-Blau-Braun), 1x 10-kOhm-Widerstand (Braun-Schwarz-Orange), 1x Taster, 1x Potentiometer, 1x Batteriekasten, 9x Verbindungskabel, 7x Drahtbrücke (unterschiedliche Längen) Das Programm Das Programm 15mblock lässt auf dem LCD-Modul eine Stoppuhr laufen.
16. Tag 16. Tag Heute im Adventskalender • 1x Verbindungskabel Das Kabel wird erst an einem späteren Tag gebraucht. Der Schaltungsaufbau ist gegenüber dem 15. Tag unverändert. Weihnachtsbotschaft mit Schreibmaschineneffekt Auf dem LCD-Modul erscheint eine Weihnachtsbotschaft. Sie leuchtet nicht auf einmal auf, sondern wird wie mit einer Schreibmaschine Buchstabe für Buchstabe geschrieben. Das Programm Das Programm 16mblock zeigt den laufenden Text auf dem LCD-Modul.
So funktioniert das Programm Am Anfang werden die Pin-Nummern der verwendeten analogen Eingänge auf dem LCD-Modul als Legende der Werte angezeigt. Anschließend liest eine Endlosschleife nacheinander vier analoge Eingänge aus und schreibt die Werte an die entsprechenden Positionen hinter die angezeigten Pin-Nummern. Nach 0,5 Sekunden läuft die Schleife erneut. Diese Schaltung zeigt die Werte von vier analogen Eingängen auf dem LCD-Modul an. 18. Tag 18.
Da mBlock die in den meisten Arduino-kompatiblen Platinen eingebauten Pulldown-Widerstände immer einschaltet, werden digitale Eingänge automatisch auf 0 V gezogen und haben auch ohne Berührung einen Low-Pegel. Arduino-kompatible Platinen verfügen aber zusätzlich über analoge Eingänge, die sich sehr gut für Sensorkontakte eignen. Analoge Eingänge liefern Werte zwischen 0 (Low-Pegel) und 1023 (High-Pegel).
Modul an, ob die geheime Zahl kleiner oder größer als der letzte Tipp ist. Wenn die Zahl richtig getippt wurde, wird die Anzahl der Versuche angezeigt. So funktioniert das Programm In der oberen Zeile des LCD-Moduls werden die statischen Textelemente der Spielanzeige dargestellt. Anstelle der drei Fragezeichen zeigt das Spiel später den letzten Tipp. In der unteren Zeile wird angezeigt, ob die Lösungszahl größer oder kleiner als dieser Tipp ist. Der Block Zufallszahl von ... bis ...
Wurde der Taster am Pin D3 gedrückt, wird die getippte Zahl um 1 verringert. Sollte die Zahl dadurch kleiner als 1 werden, wird der aktuelle Tipp automatisch auf 1 gesetzt. Auch die weiteren Blöcke sind vergleichbar mit denen für den ersten Taster. Wurde der Taster am Pin D10 gedrückt, wird die eingestellte Zahl als Tipp abgegeben. Die Anzahl abgegebener Tipps in der Variable n wird um 1 erhöht und die Zahl als neuer Tipp rechts oben auf dem LCD-Modul angezeigt.
bereits in den 70er-Jahren auf frühen Computersystemen gespielt wurde, geht es darum, einen Ball möglichst lange mit einem simplen Schläger in der Luft zu halten. Das sogenannte Paddle lässt sich nur horizontal bewegen. Wenn der Ball kommt, muss der Schläger also an der richtigen Stelle sein. Das Spiel besteht aus zwei Objekten, Ball und Paddle, von denen jedes – wie in Scratch üblich – eigene Programmblöcke verwendet, die unabhängig voneinander laufen.
Pong mit Tastern am Nano steuern In der nächsten Version soll das Paddle über die beiden Taster auf dem Steckbrett, die an den Pins D11 und D2 auf dem Nano angeschlossen sind, gesteuert werden. mBlock 3 bietet auf der Blockpalette Ereignisse keinen zu Wenn Taste ... gedrückt vergleichbaren Block für den Fall, dass ein HighSignal an einem digitalen Pin anliegt. Das Programm kann also das Drücken eines der Taster nicht direkt als Ereignis auswerten.
Klicken Sie auf das grüne Fähnchen, startet das Spiel und der Ball fliegt durch den Raum. Jeder Spieler kann sein Paddle durch Antippen der Sensortasten nach oben bewegen. Berührt man den Sensorkontakt eine Weile nicht, fällt das Paddle langsam wieder nach unten. Mit etwas Geschicklichkeit müssen die Spieler versuchen, mit ihrem Paddle den Ball immer wieder zurückzuschlagen, damit er nicht gegen die rote bzw. die grüne Wand fliegt.
Klicken Sie dann auf das blaue Info-Symbol bei der neuen Figur auf der Objektpalette und geben Sie dem Paddle den Namen Paddle1. Klicken Sie mit der rechten Maustaste auf das Paddle1 auf der Objektpalette und wählen Sie im Menü Duplizieren. Schieben Sie anschließend das Paddle1 in die Mitte kurz vor dem roten Rand links und das Paddle2 in die Mitte kurz vor dem grünen Rand rechts. Die genauen Positionen werden später vom Programm eingestellt.
Anschließend wird die Bewegung des Balls fortlaufend wiederholt. Er prallt vom Rand ab, sollte er ihn berühren. Andernfalls fliegt er einen Vierer-Schritt in die eingestellte Richtung. Diese Bewegung wiederholt sich theoretisch endlos. Da aber beim Klicken auf das grüne Fähnchen drei weitere Skriptblöcke für den Ball gestartet werden, kann es auch noch zu anderen Bewegungen kommen. Falls der Ball eines der beiden Paddles berührt, wird die Bewegungsrichtung ins Negative umgekehrt.
22. Tag 22. Tag Heute im Adventskalender • 1x Taster • 1x Widerstand 10 kOhm (Braun-Schwarz-Orange) Reaktionsspiel In diesem Reaktionsspiel muss man, wenn die rote LED leuchtet, möglichst schnell die richtige Taste drücken.
So funktioniert das Programm Am Anfang jedes Durchlaufs der Endlosschleife wird wieder mit Hilfe eines nicht beschalteten analogen Eingangs ein Zufallswert zwischen 1 und 4 erzeugt. Diese Zahl wird in der oberen Zeile des LCD-Moduls angezeigt. Danach wird die rote LED am Pin 12 eingeschaltet und die Stoppuhr zurückgesetzt. Die Stoppuhr auf dem Nano Alle Arduino-kompatiblen Platinen haben eine interne Uhr, die für Aufgaben verwendet werden kann, die bestimmte Zeiträume erfordern.
Der Zähler n beginnt bei 0. Jetzt startet wieder eine Schleife, die für die 16 Stellen des LCD-Moduls 16-mal durchläuft. Bei jeder Stelle wird geprüft, ob die Nummer n größer ist als der in a gespeicherte Pegelwert. Ist das der Fall, wird die entsprechende Stelle auf beiden Zeilen ausgeschaltet. Dazu wird an dieser Stelle eine Folge von Leerzeichen angezeigt, die auch Sternchen weiter rechts, die von früher noch dort stehen, überschreibt.
Die LED wird eingeschaltet und eines der Lieder abgespielt. Danach wird die LED wieder ausgeschaltet. Die Weihnachtslieder sind im Programm gespeichert. Auf der Registerkarte Klänge können Sie mit dem Symbol Klang aus einer Datei laden MP3-Dateien importieren. Jeder importierte Klang bekommt automatisch einen Namen, der jederzeit verändert werden kann. Unter diesen Namen erscheinen die Klänge in der Auswahlliste im Block spiele Klang ... ganz.
Vorsichtsmaßnahmen Auf keinen Fall irgendwelche Pins miteinander verbinden und abwarten, was passiert. Nicht alle Pins lassen sich frei programmieren. Einige sind für die Stromversorgung und andere Zwecke fest eingerichtet. Einige Pins sind direkt mit Anschlüssen des Mikrocontrollers verbunden, ein Kurzschluss kann den Arduino komplett zerstören. Verbindet man über einen Schalter oder eine LED zwei Pins miteinander, muss immer ein Schutzwiderstand dazwischengeschaltet werden.