Bitte laden Sie die aktuelle Version der Arduino-Entwicklungsumgebung für Ihr Betriebssystem herunter und installieren Sie diese auf Ihrem Endgerät.
-
Eine Installationsanleitung für Windows, MacOSX oder Linux finden Sie unter diesem Link: Installationsanleitung
Wenn Sie die Arduino-Entwicklungsumgebung unter Windows oder MacOSX verwenden wollen, müssen Sie zusätzlich einen Treiber für den CH340-USB-Controller-Chip installieren, damit Sie die im Kurs verwendeten Arduino Nano Platinen mit Ihrem Notebook/ Desktop-PC über den USB-Anschluss programmieren können.
Auf Win10 Geräten müssen Sie möglicherweise die Sicherheitseinstellungen so verändern, dass Sie auch unsignierte Treiber auf Ihrem Gerät installieren können.
Auf Apple-Geräten kann es bei Verwendung des original CH340 Treibers zu System-Abstürzen kommen (Kernel-Panic). Betroffen davon sind nach meiner Recherche ausschließlich Geräte mit MacOS "Sierra". Abhilfe schafft ein gepatchter Treiber, der hier heruntergeladen werden kann.
Auf Windows-Geräten ist es manchmal schwierig den richtigen COM-Port zu finden, mit dem der Arduino per USB verbunden ist. Dieses Video erklärt wie man den korrekten USB-Port mit dem Windows-Geräte-Manager aufspürt:
Falls Sie probleme haben den CH340 Treiber zu installieren oder der an Ihrem Endgerät angeschlossene Arduino nicht erkannt wird, finden Sie auf der folgenden Seite eine ausführliche Anleitung.
Falls Sie ein Notebook mit einer aktuellen Linux-Distribution (Ubuntu, Debian, SuSE o. ä.) verwenden müssen Sie in der Regel keinen Treiber installieren, denn der Linux-Kernel unterstützt den CH340-Chip bereits out-of-the-box.
Beim Linux-Kernel ab der Version 5.5.x wurden Veränderungen am CH340-Modul vorgenommen, die dazu führen können, dass sich keine Firmware in den Flash-Speicher des Arduino übertragen lässt. Falls Sie noch einen Kernel einsetzen, der älter als Patch-Level 5.5.8 ist, müssen Sie ein Kernel-Update durchführen, um das Problem zu beheben. Die Kernel-Serie 5.4.x und 5.6.x ist nicht betroffen.
Damit Sie unter Linux auf den Seriellen Port schreiben können, müssen Sie ihren Benutzernamen der Gruppe dialout
hinzufügen. Das geht durch Eingabe des Befels:
sudo usermod -a -G dialout username
auf der Konsole. Damit erlangen Sie Schreibrechte für /dev/ttyUSB0 Port.
Dieses Github-Repo wird im Verlauf des Kurses gelegentlich aktualisert.
Wenn Sie das Tool 'git' auf Ihrem System installiert haben, können Sie den Beispiel-Code auch durch Eingabe des Befehls:
git clone https://github.com/luetzel/arduino_workshop.git
herunterladen und im Fall von Updates später mit
git pull
aktualisieren.
Die Inhalte des Verzeichnis sketches
bzw. libraries
kopieren Sie bitte in die zugehörigen Unter-Verzeichnisse, die auf Ihrem System während der Installation der Arduino-Entwicklungsumgebung angelegt wurden.
Unter Windows ist das in der Regel das Arbeits-Verzeichnis Meine Dokumente/Arduino
.
In das Verzeichnis libraries kopieren Sie zusätzliche Bibliotheken, welche die Verwendung von verschiedener Hardware-Module erleichtern.
Inzwischen kann man mit der Arduino-IDE auch andere Mikrocontroller programmieren. Die Installation der dafür erforderlichen Dateien kann über den Board-Manager der Arduino-IDE erfolgen.
Die URLs zu den Paketquellen können in den Einstellungen der Arduino-IDE hinterlegt werden. Eine Anleitung dafür findet man auf dieser Seite:
Im Verzeichnis Datasheets
finden Sie eine Sammlung von Datenblättern zu den im Starter-Kit enthaltenen Bauteilen. Bitte beachten Sie, dass das Starterkit zum Teil baugleiche Teile anderer Hersteller enthält.
Das Barometer-Breakout-Modul (BMP280) benötigt eine Versorgungsspannung 3,3 Volt und darf deshalb nicht an 5 Volt betrieben werden! Der Sensor wird dabei zerstört!
Für das Zeichnen von Schaltskizzen sollten Sie das kostenlose Programm Fritzing auf Ihrem Gerät installieren. Mit Fritzing lassen sich elektronische Schaltungen am Computer zeichnen und dann als JPG-Bild exportieren. Die Bauteile können per drag'n drop auf dem Steckbrett platziert werden. Die Bedienung ist recht intuitiv.
Das kostenlose Programm können Sie hier für Windows, MacOS oder Linux herunterladen. Es handelt sich dabei um eine Entwickler-Version. Falls das Programm nicht startet oder abstürzt, versuchen Sie bitte eine ältere Version zu installieren.
Im Unterverzeichnis Fritzing finden Sie einige Schaltpläne, die Sie während der praktischen Übungen kennengelernt haben, sowohl als JPG-Bild, als auch im Fritzing-Datei-Format. Wenngleich die Bauteil-Bibliothek von Fritzing sehr umfangreich ist, sind nicht alle Bauteile des Starterkits enthalten. Im Verzeichnis Fritzing-Zusatzbauteile finden Sie weitere Bauteile, die Sie der Bibliothek per drag'n'drop hinzufügen können.
Das deutsche Arduino Forum hat ein sehr ausführliches Code-Referenz-Handbuch erstellt, in dem sämtliche Funktionen der Arduino-IDE dokumentiert sind. Es ist verständlich geschrieben und für Anfänger geeignet. Das Handbuch kann kostenlos als PDF heruntergeladen werden.
Das Elektronik-Kompendium ist ein sehr gutes Nachschlagwerk, um die im Kurs behandelten physikalischen Gesetzmäßigkeiten und Grundschaltungen nachzuschlagen:
- Ohmsches Gesetz
- Zweite Kirchhoffsche Regel
- Vorwiderstand einer LED berechnen
- Unbelasteter Spannungsteiler
Für die meisten Bauteile gibt es Bibliotheken, die das Programmieren - gerade für Anfänger - erheblich vereinfachen. Bibliotheken lassen sich über das Menü der Arduino-IDE "Sketch > Bibiothek einbinden > Bibliothek verwalten" auffinden und installieren.
Bevor eine Bibliothek in einem Sketch verwendet werden kann, muss eine sogenannte Header-Datei (Dateiendung *.h) importiert werden. Das erfolgt mit der #include <library.h>
Anweisung. Zu jeder Library werden in der Regel Code-Beispiele mitgeliefert, welche die Verwendung der Bibliothek erklären. Für den Ultraschallsensor können wir z.B. die NewPing Library nutzen:
#include <NewPing.h>
#define TRIGGER_PIN 7
#define ECHO_PIN 8
#define MAX_DISTANCE 400
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50);
Serial.print("Ping: ");
Serial.print(sonar.ping_cm());
Serial.println("cm");
}
Wenn die NewPing Library importiert wurde, genügt es die Anschluss-Pins zu deklarieren und eine Instanz des "Sensor-Objekts" zu erzeugen (hier wurde dem Objekt der Name "sonar" gegeben). Die Funktion "ping_cm()" wird von der Bibliothek bereitgestellt, wodurch der eigene Programmieraufwand erheblich reduziert wird.
Bei Verwendung von Bauteilen mit I2C-Bus muss die korrekte Adresse im Arduino-Sketch angegeben werden. Wenn die Adresse nicht bekannt ist, kann diese mit der i2cdetect Library ermittelt werden. Die Bibliothek wird über das Menü "Sketch > Bibliothek verwalten > Bibliothek einbinden" installiert. Nach dem Hochladen des mitgelieferten Beispiels "i2cdetect" werden im seriellen Monitor die Adressen aller angeschlossenen I2C-Bauteile sichtbar, z.B.:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
Die 16x2 LC-Displays mit PCF8574-Adapter haben entweder die Adresse 0x3F oder 0x27. Der BMP280 Sensor (Barometer) "hört" auf die Adresse 0x76.
Manchmal kann es erforderlich sein die Adresse direkt in den C-Header Dateien der Bibliotheken zu ändern. Dafür navigiert man in das Arduino-Library Verzeichnis (z.B. unter Windows: Meine Dokumente/Arduino/libraries) und öffnet die betroffene Header-Datei. Beim BMP280-Sensor ist das die Datei Adafruit_BMP280.h
. Dort trägt man in der Zeile
#define BMP280_ADDRESS (0x76)
0x76 anstelle der voreingestellten Adresse 0x77 ein. Beim Anschließen der I2C-adressierter Bauteile ist auf die Polarität GND/ VCC sowie deren Spannungsversorgung zu achten (3V3 für das Barometer!). Häufig werden die Module auch für andere Mikrocontroller oder Ein-Platinen-Computer (Raspberry Pi) verkauft. Ein Blick ins Datenblatt hilft, um herauszufinden, ob das Bauteil 5 Volt-tolerant ist oder einen Pegel-Wandler (Level-Shifter) benötigt.
Grundsätzlich gilt für alle Bauteile mit I2C-Bus:
- Der SDA-Pin wird immer mit dem Pin A4 des Arduino Nano verbunden.
- Der SCL-Pin wird immer mit dem Pin A5 des Arduino Nano verbunden.
Wird zu einem späteren Zeitpunkt bekannt gegeben.