Heute starten wir mit dem ersten Tag des Franzis Adventskalender für Arduino.
Öffnen wir nun also das erste Türchen.
Hinter dem ersten Türchen verbirgt sich ein Arduino Nano V3.
Im Handbuch finden für zum Tag 1, wie man diesen Mikrocontroller einrichtet und die Arduino IDE installiert. Was du noch benötigst, ist ein Micro-USB Datenkabel für die Verbindung zum PC.
Einrichten auf einem Windows-PC
Eigentlich verbindet man den Mikrocontroller nur mit dem PC und dann wird dieser sogleich eingerichtet. Eigentlich! In meinem Fall hat sich der PC mit einem Bluescreen verabschiedet und einer IRQ Meldung, d.h. eigentlich nur das dieser Mikrocontroller einen IRQ belegen wollte, welcher bereits belegt oder reserviert ist.
Okay kann passieren, Windows halt, also einmal neu starten und ein zweiter Versuch. Nun hat es funktioniert und der Mikrocontroller wurde im Geräte-Manager erkannt.
Da ich bereits mit einigen Mikrocontrollern gearbeitet habe und somit diverse Treiber bereits installiert habe, entfiel der Schritt zum Installieren des seriellen Treibers für den CH340G Chip.
Aufbau des Arduino Nano
Auf dem Markt gibt es diverse Arduino Nano Klone (wie auch dieser hier von Franzis), was allen ziemlich gleich ist, dass diese dasselbe Pinout haben.
Technische Daten des Arduino Nano V3
Den Arduino Nano habe ich bereits in sehr vielen Beiträgen auf diesem Blog verwendet und dir auch im Beitrag Arduino Nano – Übersicht dir diesen bereits vorgestellt.
Auf dem Board ist ein ATMEL MEGA328P verbaut.
Hier nun der Vollständigkeit halber die technischen Daten zu diesem Mikrocontroller:
Länge | 45 mm |
Breite | 18 mm |
Gewicht | 7 g |
Flash Speicher | 32 KB (von denen 2 KB für den Bootloader reserviert sind) |
SRAM | 2 KB |
EEPROM | 1 KB |
CPU Taktgeschwindigkeit | 16 MHz |
Betriebsspannung | 5 V |
Eingangsspannung | 7 V bis 12 V |
Stromaufnahme | 19 mA |
max. Stromstärke pro I/O Pin | 40 mA |
digitale Eingänge / Ausgänge | 22 |
digitale PWM Ausgänge | 6 |
analoge Eingänge / Ausgänge | 8 |
Installieren der Arduino IDE 2.0
Im Handbuch wird die Arduino IDE in der Version 2.0.0 Beta-3 dargestellt, mittlerweile haben wir eine offizielle Version zur Verfügung. Diese beiden Versionen sind vom Aufbau her sehr unterschiedlich, daher zeige ich dir in den nächsten Tagen, wie die Schaltungen in der neuen Version programmiert werden.
Die aktuelle Version kannst du unter https://www.arduino.cc/en/software herunterladen, die Installation ist denkbar einfach, denn man muss lediglich dem Wizard folgen.
Aufbau der Arduino IDE
Die Arduino IDE hat eine Toolbar, in welcher du die Schaltflächen findest, welche du wohl am meisten benötigst.
v.l.n.r:
- Verify,
- Upload,
- Debug,
- ausgewählter Mikrocontroller,
- Serial Plotter,
- Serial Monitor
Das Debuggen also das Prüfen von Code während der Ausführung unterstützt nicht jeder Mikrocontroller, auch würde dieses für diese Beiträge viel zu weit gehen.
Programmieren des Arduino Nano
Im ersten Türchen war lediglich der Mikrocontroller, jedoch kann man selbst mit diesem schon einiges machen.
Auf dem Board ist zbsp. eine kleine SMD LED verbaut, welche wir zum Blinken, Faden (langsames Auf-/Ableuchten) bringen können.
Auswählen des Mikrocontrollers
Bevor wir einen Code schreiben oder hochladen können, müssen wir den Mikrocontroller auswählen. Dazu navigieren wir über das Hauptmenü von Tools > Board: xyz > Arduino AVR Boards und wählen dort den Eintrag “Arduino Nano” aus. Danach wählen wir noch den Port aus und schon ist die Einrichtung fertig.
“Hello World!” auf der seriellen Schnittstelle
Starten möchte ich jedoch zunächst mit einem kleinen “Hello World!” Beispiel, in welchem wir Text auf der seriellen Schnittstelle ausgeben.
Diesen Text können wir uns in der Arduino IDE anzeigen lassen, aber auch andere Tools welche Daten von der seriellen Schnittstelle lesen können wie Putty, MobaXTerm können diese anzeigen. Der Vorteil bei der Arduino IDE ist jedoch, dass wir dafür kein extra Tool benötigen.
void setup() { // beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); } void loop() { // ausgeben der Textzeile "Hello World!" // auf der seriellen Schnittstelle Serial.println("Hello World!"); // eine kleine Pause von 500 ms delay(500); }
Wenn das kleine Programm hochgeladen wurde, sehen wir in der Konsole folgende Ausgabe. Aus diesem Text können wir entnehmen, wie viel Speicher von unserem Programm belegt wird und wie viel noch frei ist.
Der Sketch verwendet 1634 Bytes (5%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 200 Bytes (9%) des dynamischen Speichers, 1848 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Ausgabe der Textzeile “Hello World!” im seriellen Monitor der Arduino IDE.
Blinken der onboard SMD LED
Die kleine SMD onboard LED kannst du über den digitalen Pin D13 oder der Konstante LED ansteuern.
// onboard LED am digitalen Pin D13 angeschlossen // ansteuern über die Pin Nummer // #define led 13 // int led = 13; // ansteuern über einer Konstanten #define led LED_BUILTIN void setup() { // Definieren das der Pin der LED als // Ausgang dient. pinMode(led, OUTPUT); } void loop() { // Pin der LED auf HIGH setzen digitalWrite(led, HIGH); // eine kleine Pause von 500 ms. delay(500); // Pin der LED auf LOW setzen. digitalWrite(led, LOW); // eine kleine Pause von 500 ms. delay(500); }
Wenn wir den Code nun auf den Mikrocontroller übertragen, dann blinkt die kleine, orange SMD LED auf der Platine im Intervall von 500 ms.