Einstieg Mikrocontroller mit dem Arduino  


Elektronik-Labor   Projekte   AVR 



Dieser Online-Kurs der Essener Funkamateure vom Ortsverband L05 in Zusammenarbeit mit den VDI-Zukunftspiloten Essen-Ruhr richtet sich an Jugendliche ab 12 Jahren. Zugleich haben einige OMs Interesse signalisiert, die Grundlagen der Arduino-Programmierung kennenzulernen. Der eigentliche Kurs beginnt erst nach den Osterferien in NRW. Vorab kann aber jeder schon die wichtigsten Vorbereitungen treffen und die Arduino-Software installieren. Für diesen Einführungskurs soll der Arduino Nano verwendet werden. Er enthält einen leistungsfähigen Mikrocontroller mit genügend Speicher und vielen Anschlüssen, die leicht zugänglich sind.

Vier Spaß dabei!

Burkhard Kainka, DK7JD

 

1 Vorbereitungen

Suche im Internet nach „Arduino IDE“ oder gehe direkt zu https://www.arduino.cc/en/software

Lade und installiere dort die Version, die zu deinem Computer passt.

IDE ist die Abkürzung für „Integrated Development Environment“ oder integrierte Entwicklungsumgebung. Es ist ein Programm mit dem man Software für Mikrocontroller entwickeln, in den Mikrocontroller laden und testen kann. Hier wurde die Windows app unter Win 10 in der  Version 1.8.19 installiert, die aktuelle Version kann eine höhere Nummer haben.

Wenn man das Programm zum ersten Mal startet, sieht man ein Fenster, in dem schon der Anfang für ein eigenes Programm steht. Hier kannst du eigene Programmzeilen hinzufügen, damit der Controller das macht, was du willst. Aber einfacher geht es, wenn du erstmal ein fertiges Beispiel lädst.

 

Lade das Beispielprogramm Blink, das du unter Datei/Beispiele/01.Basics/Blink findest. Die Erfinder des Arduino haben so ein Programm „Sketch“ genannt, das bedeutet so viel wie „Entwurf“. So wie ein Künstler einen Entwurf für ein großes Bild macht, so kannst du deine Ideen als Entwurf schreiben.

 

Jetzt steht das Beispielprogramm im Editor. Es soll vom Compiler in die Sprache des Mikrocontrollers übertragen werden. Der Compiler ist eine Art Übersetzter, der in der IDE enthalten ist. Er beginnt seine Arbeit, wenn du auf das Start-Symbol drückst. Aber warte noch damit, denn bisher kann er ja noch nicht wissen, welchen Mikrocontroller du anschließen willst.

Die siehst viel Text in grau. Das sind Kommentare, die nicht zum Programm selbst gehören, sondern zusätzliche Informationen und Erklärungen enthalten. Solche Kommentare werden zwischen /* und */ gestellt oder in einer Zeile mit // eingeleitet. Dann weiß der Compiler, dass er diese Kommentare nicht übersetzen soll.

 

Die Programmiersprache heißt C, und darin sind alle Wörter aus dem Englischen übernommen. Übersetzt steht da kurz gesagt folgendes:

Einstellungen: Der Anschluss für die eingebaute LED soll ein Ausgang sein.

In einer Schleife wiederholen:
               Schalte die LED an.
               Warte 1000 Millisekunden.
               Schalte die LED aus.
               Warte 1000 Millisekunden.

Jetzt musst du noch festlegen, welcher Mikrocontroller programmiert werden soll, genauer welches Board, also zu Deutsch, welche Platine. Wähle Werkzeuge/Board/Arduino AVR Boards/Arduino Nano

 

Da gibt es noch weitere Unterschiede, weil die Arduino-Nano-Platine im Laufe der Jahre verändert wurde. Wähle Werkzeuge/Prozessor/ATmega328P (Old Bootloader).

 

Der ATmega328P ist das quadratische Bauteil mit den vielen Anschlüssen auf der Platine. Es ist ein Mikrocontroller der Firma Atmel mit 8 Bit und 32 KByte. Mit einer Lupe kannst du die Bezeichnung auf dem Gehäuse lesen. Solche Mikrocontroller werden auch in Autos und in vielen andern Geräten und Maschinen verwendet.

Der Bootloader ist ein schon im Controller enthaltenes Programm, mit dem er sein Programm empfangen kann. Boot heißt Stiefel. Dahinter steckt die Vorstellung, dass jemand sich an den eigenen Stiefeln aus dem Schlamm zieht, was ja eigentlich nicht geht. Aber der Mikrocontroller kann es, er kann ein Programm  in seinen eigenen Speicher programmieren, sich dann selbst neu starten und das Programm ausführen.

Für die ersten Versuche brauchst du nur den Arduino Nano und ein passendes USB-Kabel. Damit erhält der Arduino seine Betriebsspannung und seine Daten. Beim Anstecken des Kabels geht die LED mit der Bezeichnung Pow (Power) an. Und man hört meist einen Sound für die erfolgreiche Verbindung. Das Gerät bekommt dann eine COM-Nummer. Unter Windows könnte es zum Beispiel den Anschluss COM2 belegen.  Unter Linux oder am Mac sehen die Bezeichnungen anders aus. Falls der Treiber unter Windows nicht gefunden wird, suche im Internet nach CH341SER.EXE

Als letztes musst du der IDE noch mitteilen, an welchem Anschluss der Controller liegt. Wähle Werkzeuge/Port. Dann erscheint ein Auswahlfenster, das an jedem Computer anders aussehen kann. Jeder Anschluss hat eine Nummer. Manche Geräte nennen auch noch einen Namen, der verwendete Nano leider nicht. Wenn da nur ein Anschluss angezeigt wird, ist die Sache klar, das ist der richtige. Vielleicht musst du aber auch etwas probieren, bis du den richtigen Port gefunden hast.

Achtung, falls keine COM angezeigt wird, kann es nötig sein, dass der Computer einmal neu gestartet wird.

Ganz unten rechts am gründen Rand der IDE siehst du nun, dass alle Einstellungen vollständig sind. Damit kannst du nun dein Programm kompilieren (übersetzen). Oben gibt es zwei wichtige Symbole. Das Häkchen steht für „Überprüfen“, der Pfeil für „Hochladen.

Klicke auf das Häkchen. Es erscheint die Meldung „Sketch wird kompiliert“. Du siehst, dass der Compiler einige Zeit schwer zu arbeiten hat. Dann kommt das Ergebnis: Alles erfolgreich, das Programm wurde in 924 Bytes übersetzt, also in 924 Zahlen im Bereich 0 bis 255. Das ist die Sprache, die der Mikrocontroller versteht.

Und jetzt wird es ernst. Klicke auf den Pfeil (hochladen). Das Programm (der Sketch) wird noch einmal kompiliert und dann hochgeladen. Man kann ein Flackern der beiden LEDs RX und TX beobachten, denn sie sind an die Leitungen für Empfang (RX) und Senden (TX) angeschlossen, über die IDE mit dem Controller Daten austauscht. Am Ende kommt die Meldung: Hochladen angeschlossen. Und noch besser: Die LED mit der Bezeichnung L blinkt langsam. Sie tut genau das, was im Programm steht, sie geht immer wieder für eine Sekunde an und bleibt dann eine Sekunde lang aus.

Kann man wirklich ganz sicher sein, dass genau dieses Programm dazu geführt hat, dass die LED nun blinkt? Mache einfach eine kleine Änderung am Programm und lade es dann neu. Du kannst am besten eine oder beide Wartezeiten im Programm ändern, denn dabei kann nichts schief gehen.

Da könnte dann zum Beispiel stehen (mit oder ohne die Kommentare, das ist egal):

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); 
  delay(100);                    
  digitalWrite(LED_BUILTIN, LOW);  
  delay(500);                    
}

Die LED soll sehr viel kürzer und schneller blinken. Sie soll 100 ms an sein, also eine Zehntelsekunde lang, und sie soll 500 ms, als eine halbe Sekunde lang aus sein. Lade das Programm mit der Pfeiltaste neu hoch. Und jetzt kannst du sehen, dass die LED genauso blinkt, wie du es programmiert hast. Damit funktioniert alles, und du kannst weitere Ideen umsetzen. Probiere einmal aus, wie schnell die LED blinken kann, dass man es gerade noch als Blinken erkennen kann.

Weiter: ArduinoKurs1.htm


Elektronik-Labor   Projekte   AVR