Arduino IDE - Programmieren für Einsteiger - Teil 1


Diese Serie richtet sich an diejenigen, die gern Arduinoprojekte umsetzen möchten, jedoch mit der
Programmiersprache und der Arduino IDE nicht so sehr vertraut sind.

 

Teil 1

Oft ist es so, dass sich Bastler mit Elektronik sehr gut auskennen, Programmieren aber noch ein Problem darstellt. Zahlreiche Tutorials bieten fertigen Quellcode, den man nur auf den Mikrocontroller laden muss. Man lernt durch try-and-error, versteht aber oft nicht, was in dem Programm geschieht. Möchte man dann ein umfangreicheres Projekt umsetzen, landet man auch mal in einer Sackgasse. Die folgenden Grundlagen sollen dazu dienen, den Zugang zum Programmieren etwas zu erleichtern.

Ein eigenes Programm auf einen Arduino Mikrocontroller zu übertragen, kann auf verschiedene Art und Weise geschehen. In unseren Blogbeiträgen gibt es bereits eine Anleitung für die Installation und Verwendung der Entwicklungsumgebung PlatformIO. Wir richten das Hauptaugenmerk in dieser Beitragsserie auf die Arduino IDE, die sich gut für Einsteiger eignet.

 

Was wird benötigt?

• Computer (Windows, Linux, MacOS)
• Arduino Mikrocontroller
• Mini-USB Kabel

Auf der Webseite Arduino.cc steht die Arduino IDE (Integrated Development Environment, deutsch:


Integrierte Entwicklungsumgebung) zum Download bereit. Unterstützt werden die Plattformen Windows (ab Win XP aufwärts), MAC OS X (ab 10.8), Linux 32 und 64 Bit sowie Linux on ARM 32 und 64 Bit.
Eine dieser Plattformen müsste also zwangsläufig vorhanden sein. Auf der genannten Webseite wird in Arduino Create ein Webeditor zur Verfügung gestellt, auf den hier nicht weiter eingegangen wird.


Natürlich möchten wir einen arduinokompatiblen Mikrocontroller programmieren. Wir nutzen dafür den Arduino Nano V3, den Sie als Neukunde kostenlos von uns erhalten. Er besitzt eine integrierte LED, die wir später für den ersten Test nutzen können. Mit einem Mini-USB Kabel wird der Nano an den Computer angeschlossen. Damit wird er mit Strom versorgt und auch unser Programm wird
dadurch übertragen.

Tipp: Arduino.cc ist ein guter Anlaufpunkt, wenn man nicht mehr weiter weiß. Vieles, das hier genannt wird, ist dort noch ausführlicher beschrieben.


Erste Schritte - Installation

Zunächst sollte natürlich die Arduino IDE installiert werden. Dafür führt man am besten den Windows Installer aus und befolgt die Anweisungen des Installationsprogramms.

Als Option steht auch eine portable Version zur Verfügung. Für Linux lädt man eine gepackte .tar.xz-Datei herunter und entpackt sie anschließend. Das kann aus dem Kontextmenü über die rechte Maustastegeschehen. Hier wählt man „Hier entpacken“. In dem Ordner, der dann angelegt wird, befindet sich eine Datei namens install.sh, die ebenfalls über die rechte Maustaste und den Befehl „Im Terminal ausführen“ gestartet wird. Es handelt sich dabei um ein shell script.

Hat man bereits ein Terminalfenster geöffnet, wechselt man in den eben entpackten Ordner und startet als Alternative die Installation mit der Kommandozeile ./install.sh. Sollte es Probleme mit der Berechtigung geben,
kann an den Anfang der Zeile ein sudo hinzugefügt werden. Ist die Datei dann noch nicht ausführbar, muss sie mit der Kommandozeile sudo chmod +x install.sh ausführbar gemacht werden. Für den Fall, dass es auch dann noch Probleme gibt mit der Installation, hat der User patrickthecreator auf der Webseite instructables.com einen Workaround für die Arduino IDE Version 1.82 unter Linux
veröffentlicht.

 Abbildung 1: Installation Arduino IDE - Treiber

Abbildung 1: Installation Arduino IDE - Treiber

 Abbildung 2:Installation Arduino IDE - weitere Treiber
Abbildung 2:Installation Arduino IDE - weitere Treiber

 

 

War die Installation erfolgreich, wird der Arduino Nano per Mini-USB Kabel an den Computer angeschlossen und die IDE gestartet. Die Startreihenfolge ist dabei unerheblich. Eventuell muss man im Programm unter dem Menüpunkt „Werkzeuge“ manuell den Port auswählen, schließt man den Arduino erst nach dem Programmstart an.
Unter Umständen wird ein Treiber unter Windows benötigt, damit der Arduino erkannt wird. USB (Universal Serial Bus) ist eine Form der seriellen Schnittstellen. Wird ein Arduino angeschlossen, wird er dem COM-Port zugeordnet. Nutzt man den Windows Installer, werden die benötigten Treiber in der Regel gleich mit installiert. Es ist möglich, dass der Nano trotzdem noch nicht erkannt wird. Eventuell liegt ein Arduino Nano mit CH340/CH341 Chip vor. Gibt man das in die Internetsuche des Vertrauens ein, wird man schnell fündig. Das Problem ist bekannt. Auch unter Linux oder Mac OS können besagte Problem auftreten. Wird der Arduino erkannt, erscheint er unter Windows als /COMx (anstelle des x erscheint dann eine Zahl) und unter Linux und Mac OS als /dev/tty bzw. /dev/usb.

 Abbildung 3: Arduino IDE - Portauswahl Bibliothekenverwaltung

 

Abbildung 3: Arduino IDE - Portauswahl


Bibliothekenverwaltung

Es stehen zahlreiche Bibliotheken zur Verfügung. Das bedeutet, dass fertige Programmfunktionen eingebunden und genutzt werden können. Die Arduino IDE bietet das auf verschiedenen Wegen an. Zum einen kann man im Menüpunkt „Werkzeuge“ unter „Bibliotheken verwalten…“ bzw. STRG+UMSCH+I aus dem Online Repository zahlreiche Bibliotheken zu installieren. Möchte man z.B. ein LCD-Display nutzen, kann man die LiquidChrystal Library installieren und hat so auf einfache Weise passende Funktionen zur Verfügung sowie Beispielcode, der anschließend über das Menü „Datei“ und anschließend „Beispiele“ erreichbar ist. In der Arduino IDE ist bereits eine solche Bibliothek installiert. Das erkennen wir auch in der Verwaltung.

 

 
Abbildung 4: Arduino IDE - Bibliothekverwalter
Abbildung 4: Arduino IDE - Bibliothekverwalter
 
Andere Onlinequellen kann man unter „Datei“ und dann „Voreinstellungen“ unter dem Punkt „Zusätzliche Boardverwalter-URLs“ einbinden. In unserem Beispiel die Bibliothek für den ESP8266, einem arduinokompatiblen Mikrocontroller mit WLAN-Schnittstelle.
 Abbildung 5: Arduino IDE - Voreinstellungen
Abbildung 5: Arduino IDE - Voreinstellungen
  
Hat man Bibliotheken aus einer anderen Quelle bezogen, kann man sie als ZIP-Datei auch direkt über das Menü „Sketch“, dann „Bibliothek einbinden“ und anschließend „.ZIP-Bibliothek hinzufügen…“ hinzuladen.

Es ist auch möglich, Bibliotheken in den Sketchebooks-Ordner unter „libraries“ abzulegen. Nach einem Neustart der IDE sind diese dann verfügbar.

Möchte man nun die Funktionen der Bibliotheken nutzen, kann man sie über das Menü „Sketch“ und dann „Bibliothek einbinden“ einfach auswählen. Hier ein kurzes Beispiel:

Es wird dann eine Zeile hinzugefügt die z.B. lautet:

#include <LiquidCrystal.h>

#include ist eine Präprozessordirektive und bindet an dieser Stelle die Headerdatei für die zuvor installierte LCD-Bibliothek ein. Durch diese Datei werden dem Compiler Klassen, Funktionen und Variablen bekannt gemacht, die in der Bibliothek verwendet werden. Diese können nun genutzt werden. Tipp: Ist der Pfad zur Bibliothek bekannt, werden eckige Klammern verwendet. Sollten Fehler auftreten, kann es sein, dass der Pfad zur Bibliothek nicht gefunden wird. Dann kann man ihn mit angeben und muss dann aber statt der eckigen Klammern doppelte Anführungszeichen verwenden.

Als Beispiel kann man nun ein Objekt vom Typ LiquidCrystal erzeugen und ihm einen Namen, sowie die digitalen Pins geben. Die Zeile sieht dann ungefähr so aus:
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

Es ist nun möglich, mit lcd.begin(16, 2); das Display zu initialisieren (16, 2 steht für 16 Spalten und 2 Zeilen. Für größere oder kleinere Displays muss man diese Werte ändern) und anschließend mit lcd.print("hello, world!"); Text darauf auszugeben. Es sind noch einige andere Funktionen in dieser Klasse verfügbar. Es soll nur verdeutlicht werden, wie man fertige Programmmodule einbinden kann.


Das erste Programm - Sketches


Die Arduino IDE speichert Programme als sogenannte Sketches. Es wird dafür ein Ordner „Sketchbooks“ angelegt. Dort werden auch Hardwareinformationen und Bibliotheken gespeichert, die man manuell der IDE hinzufügt. Man kann selbstverständlich auch eigene Speicherorte wählen. Sketches werden als .ino-Datei abgelegt.
Tipp: Es ist darauf zu achten, dass der Name der Datei identisch ist mit dem Namen des Ordners, in dem sich die Datei befindet. Ist das nicht der Fall, wird man beim Speichern freundlich darauf hingewiesen oder es wird eigenständig ein Ordner mit dem Namen angelegt.

In den Voreinstellungen kann man den Ort des Sketchbooks und weitere Optionen wählen.

Wir wollen nun das erste Programm auf den Arduino Nano laden und ihn damit testen. Zuerst überprüfen wir, ob der Arduino Nano als Zielgerät ordnungsgemäß eingestellt ist. Dafür wählen wir das Menü Werkzeuge. Dort Findet man die Einstellungen für Board, Prozessor und Port. standardmäßig ist hier der Nano eingestellt. Wie bereits vorher erwähnt, kann es vorkommen, dass man den Port noch einmal manuell einstellen muss.
 Abbildung 6: Arduino IDE - Boardauswahl
Abbildung 6: Arduino IDE - Boardauswahl
 
Es werden zahlreiche Beispielprogramme mitgeliefert. Sie beinhalten unter anderem das Blink-Programm. In Programmierkreisen wird für erste Tests oft „Hello World!“ benutzt. Blink ist das hello world für LEDs.
 Abbildung 7: Arduino IDE - Beispiele
Abbildung 7: Arduino IDE - Beispiele
 
Öffnen wir die Beispieldatei, können wir sie entweder zuerst kompilieren oder direkt hochladen. Das Kompilieren wird trotzdem automatisch ausgeführt. Man spart sich hier den ersten Schritt. Kompilieren nennt man den Vorgang, der das Programm in Maschinencode umwandelt, der vom Mikroprozessor ausgeführt werden kann. Mit STRG+R auf der Tastatur, aus dem Menü Sketch -> Überprüfen/Kompilieren, oder mit dem Häkchen-Button im Programm wird das Kompilieren gestartet.

Auf vielfachen Wunsch hier der Link zum Download als pdf (gültig bis 31.07.2020)
https://www.dropbox.com/s/f7ri7ji7lz7rs3t/Arduino%20IDE_Teil1.pdf?dl=0

 

 

17 Kommentare

Patrick

Patrick

Ich kann mich den Vorrednern nur anschließen. Tolle Sache, macht bitte weiter so!

DC8SE

DC8SE

Hallo zusammen,
ich finde die Teile 1 – 3 seeeehhhr gut.
Gibts das auch als PDF zum runter laden???? Oder noch besser als Buch
73
DC8SE

Stefan M. Caillet

Stefan M. Caillet

Hallo liebes AZ-Delivery Team,
Ich finde diese Tutorials absolut Top. Genauso wie Eure E-Books. besonders lobenswert an den E-Books finde ich, dass sie im pdf. Format sind, sodass man sich zum lesen nicht noch extra nen e-Reader zulegen muss. Ihr stellt Damit und mit Euren Tutorials eine grosse Ausnahme unter den Electronic-Versendern dar, die meisten schmeissen einem die Module vor die Füsse und sagen ‘nun schau mal, wie du weiter kommst, wir verkaufen nur’.
Besonders Gut finde ich , dass eben alles in deutscher Sprache erklärt wird, weil es eben auch heute noch viele Anfänger (aber auch Fortgeschrittene) gibt, die eben des Englischen nicht mächtig sind.
Des weiteren erklärt ihr alles sehr Anfängerfreundlich sodass man alles nachvolziehen kann, ohne erst ein 1000 seitiges C++ Buch gelesen zu haben.
Bitte macht weiter so.

Liebe Grüsse
Stefan

David

David

Danke für das Tutorial. Schön wäre es, dies auch als PDF zur Verfügung zu stellen. Damit man später noch einmal nachlesen kann.

Hans-Jürgen Purps

Hans-Jürgen Purps

Das ist doch mal eine sehr gute Idee. Ich hoffe, es wird zeitnah weiter geführt. Ich warte drauf…..

Ekkehard Kehmann

Ekkehard Kehmann

Seit einiger Zeit bin ich Kunde bei AZ-Delivery. Bisher waren alle gelieferten Bauteile in guter Qualität. Besonders aber habe ich mich über die guten E- Bücher gefreut. Sie sind ein passables Nachschlagewerk. Der jetzt beginnenden Serie über die Arduino- Familie finde ich sehr gut und bin auf die Fortsetzung gespannt. Die Arbeit, die hinter den unterstützenden Anleitungen steht, ist sicher immens. Es ist für mich ein Alleinstellungsmerkmal von AZ- Delivery im Feld der Elektronik- Versender. Ich fühle mich hier gut aufgehoben! Weiter so!

Stefan

Stefan

Danke und weiter so.

Enrique Frias

Enrique Frias

Sehr gute Idee. Vielen Dank.

Andreas Wolter

Andreas Wolter

@michael: die Arduino Referenz gibt es mittlerweile in deutscher Sprache.
Ich kann leider auch keinen Sprachbutton auf der Webseite finden. Gibst du aber statt “Arduino Reference” in die Suchmaschine deines Vertrauens “Arduino Referenz” ein, gelangst du auf die übersetzte deutsche Seite mit allen Erklärungen.

Gruß,
Andreas

Gerd

Gerd

Toll. Finde ich großartig. Weiter so!

Peter

Peter

Leider wird auf die Probleme mit dem CH340 Treiber nicht näher eingegangen. Die Linux-Variante des CH340 Treibers, die man von der chinesischen Webseite herunterladen kann, lässt sich nicht kompilieren, man muss den Treiber erst nachbearbeiten. Hier wäre es schön, wenn Az-Delivery eine funktionierende Version mit Installationsanleitung bereitstellen würde.
Unter Windows musste der CH340 Treiber erst heruntergeladen und installiert werden. Während es dann unter Windows 10 lief, bin ich mit Windows 8.1 in ein ganz fieses Problem gelaufen: Zuerst lief der CH340 Treiber, aber nach dem nächsten Windows-Update nicht mehr, außerdem war mein Smartphone nicht mehr sichtbar. Nachdem ich zunächst keine Lösung für meinen Arduino Nano hatte, habe ich mir einen HW-598 CP2102 USB to TTL Converter bestellt. Nach langem Suchen bin ich auf den Blog https://www.borncity.com/blog/2017/03/10/microsofts-fix-fr-microsoft-wpd-2222016-120000-am-5-2-5326-4762-treiberproblem/ gestossen: Microsoft hatte einen defekten “Microsoft – WPD – 2/22/2016 12:00:00 AM – 5.2.5326.4762” Patch für Windows 7, Windows 8.1 und Windows 10 in die Updates aufgenommen. Dieser Patch wurde später für Windows 10 zurückgezogen, aber nicht für Windows 8.1 und Windows 7. Nach dem Entfernen dieses Updates gemäß dem Blog und Blacklisten dieses Updates läuft der CH340 Treiber auch unter meinem WIndows 8.1 problemlos

Schlabberle

Schlabberle

Hallo,
an allen die englisch nicht so gut können, ein großteil der Befehle gibt es in deutscher Sprache.
HIER: https://www.arduino.cc/reference/de/

Udo vI

Udo vI

Für mich als Anfänger genau richtig. Sehr gut!
Es wäre noch besser wenn diese Anleitung noch als PDF o.ä. zum Download zur Verfügung gestellt werden könnte. Für den Offline-Fundus… ;-)
Vielen Dank.

H.König

H.König

Sehr gut , hoffentlich wird diese Einführung weiter geführt.
So können gleich die anschließenden Sketches in die Praxis
umgesetzt werden .
Danke.

michael

michael

Super, der Anfang ist gemacht…..nur die Seite " arduino.cc " müßte noch in deutsch sein. Gibt leider immer noch User die der Sprache nicht mächtig sind.
Vielen Dank

Rolf Zimmermann

Rolf Zimmermann

Perfekt….. genau darauf habe ich gewartet, gehofft.
Super…. Danke.

Yves Guidot

Yves Guidot

could you translate the site for french reader, at least ?

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert