Diese fünfteilige Serie richtet sich an diejenigen, die gerne Arduino Projekte 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 Arduino kompatiblen 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 Maustaste geschehen. 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
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.
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.
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>
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.
So geht's weiter:
25 commenti
Andreas Wolter
@Mario Geyer: Sie müssen zuerst in den Boardverwalter. Dort suchen Sie nach ESP und werden wahrscheinlich dann ESP32 sehen. Davon gibt es auch verschiedene Versionen. ES gibt leider immer wieder mal Probleme mit aktualisierten oder nicht aktualisierten Bibliotheken und den ESP Cores. Wenn Sie später Probleme haben, dann an dieser Stelle versuchen, die Version zu ändern.
Ansonsten, wenn Sie den ESP Core installiert haben, müsste dann unter Werkzeuge / Boards der ESP auszuwählen sein. Wenn Sie das getan haben, tauchen in den Beispielen die ESP Examples auf.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Mario Geyer
Hallo Herr Wolter,
vielleicht können Sie mir helfen.
In der Arduino IDE Voreinstellungen habe ich folgende Einträge:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://dl.espressif.com/dl/package_esp32_index.json
Gehe ich nun in Bibliotheken verwalten und gebe dort ESP32 ein kommt keine ESP32 von Espressif Systems, nur eine von Espressif die heisst ESP32_Display_Panel.
Ich kann zur Zeit keine ESP32 programmieren. Arduino IDE habe ich schon komplett neu installiert. Weiss nicht weiter? Haben Sie einen Tipp? Im Voraus Danke
Andreas Wolter
@Henry Winter: die anderen Beiträge wurden später veröffentlicht, weswegen sie hier nicht verlinkt werden konnten. Das werden wir bei Gelegenheit nachholen. Bis dahin finden Sie die weiteren Folgen dieser Reihe über die Suchfunktion: https://www.az-delivery.de/pages/search-results-page?q=einsteiger&tab=pages
Grüße,
Andreas Wolter
Henry Winter
Wenn man jetzt noch sehen könnte wo es weiter geht wäre das sehr schön …. :-)
Andreas Wolter
Nachtrag: die Beta Version gibt es aktuell nur in englischer Sprache. Daher bitte das Stable Release verwenden. Dort kann man dir Sprache umstellen.
Andreas Wolter
Die Arduino IDE bringt mehrere Sprachen mit. Man kann sie ändern unter Datei → Voreinstellungen (oder STRG + Komma) und dann Editor-Sprache.
Marcel Thommen
Wo finde ich eine Deutsche Version von Arduino
georg
Hallo Michael, habe auch Probleme mit der englischer Sprache und dein Beitrag wenn ich denn gut verstanden habe, finde super gut, halte mich an AZ-Delivery noch fest weil dort wird noch die deutsche Sprache verwendet, aber auch nicht immer, sehr schade. Nach Anweisungen klicke lings und rechts, nach oben und unten um am Ende landen meine Versuche im Papierkorb.
Lg, Georg
Patrick
Ich kann mich den Vorrednern nur anschließen. Tolle Sache, macht bitte weiter so!
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
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
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
Das ist doch mal eine sehr gute Idee. Ich hoffe, es wird zeitnah weiter geführt. Ich warte drauf…..
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
Danke und weiter so.
Enrique Frias
Sehr gute Idee. Vielen Dank.
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
Toll. Finde ich großartig. Weiter so!
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
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
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
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
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
Perfekt….. genau darauf habe ich gewartet, gehofft.
Super…. Danke.
Yves Guidot
could you translate the site for french reader, at least ?