Abschalten der Spannungsversorgung verlieren. Das ist jedoch kein Problem, denn ein Sketch nutzt diese Daten nur zur Laufzeit und sie werden nach dem erneuten Starten wieder hergestellt. Da der Speicherbereich je nach Modell sehr begrenzt ist, ist es möglich, Daten statt im SRAM im Flash-Speicher abzulegen. Nähere Informationen hierzu sind unter der folgenden Adresse zu finden:
https://www.arduino.cc/en/Reference/PROGMEM
Das EEPROM
Die Abkürzung EEPROM steht für Electrically Erasable Programmable Read-Only Memory. Es handelt sich wie beim Flash-Speicher um einen nichtflüchtigen Speicher, der einmal gespeicherte Daten auch nach dem Verlust der Versorgungsspannung behält. Er kann dazu genutzt werden, wichtige Daten wie zum Beispiel Messwerte permanent zu speichern. Es ist jedoch zu beachten, dass die Schreibzugriffe auf diesen Speicherbereich begrenzt sind. Die maximalen Schreib- und Löschvorgänge sind offiziell mit einem Wert von 100.000 angegeben. Dieser Speicherbereich sollte also nicht für recht kurze zyklische Messvorgänge zur Speicherung von Messdaten verwendet werden.
Das war jetzt eine geballte Ladung Informationen, die ich dir über die Arduino-Hardware gegeben habe. Du solltest jetzt in etwa wissen, wo sich welche Bauteile auf dem Arduino Uno befinden. Du hast Informationen über das Herzstück des Arduino-Boards bekommen, dem ATmega328-Mikrocontroller. Wie das Board mit Strom versorgt wird, hast du ebenfalls gelernt, außerdem was die digitalen und anologen Ein- und Ausgänge sind. Du hast etwas über die Speicher gelesen, die beim Arduino genutzt werden. Und obendrauf hast du gelernt, was Strom und Spannung eigentlich ist und wie man das mithilfe von mathematischen Formeln darstellen kann.
Im folgenden Kapitel 2 zeige ich, wie du das Arduino-Board mit seiner Software-Entwicklungsumgebung steuern kannst.
Kapitel 2:
Arduino: Die Software
Wenn ich von Arduino spreche, dann meine ich damit sowohl das Arduino-Board als auch die Arduino-Software, die man braucht, um den Mikrocontroller steuern zu können. In diesem Kapitel wirst du erfahren, wie du die notwendige Software auf deinem Rechnersystem installierst und worauf du alles achten musst, bis das erste Arduino-Programm korrekt läuft. Ich erkläre, wo du was in der Arduino-Entwicklungsumgebung findest. Außerdem erfährst du in diesem Kapitel auch, was im Hintergrund abläuft, wenn du ein Programm auf deinem Arduino ans Laufen gebracht hast. Außerdem sage ich dir, was an Grundausstattung zu deiner Bastelwerkstatt gehören sollte.
Grundsätzlich gibt es zwei Möglichkeiten, dein Arduino-Board anzusprechen: Entweder nutzt du dafür ein Softwareprogramm, das du auf deinem Computer installierst, es ist die Arduino-Entwicklungsumgebung. Oder du verwendest Arduino Create, das ist ein webbasierter Editor, den du über deinen bevorzugten Browser aufrufen kannst.
Alle notwendigen Schritte zur Installation sowohl der lokal installierbaren als auch der Onlinevariante sind im Download-Verzeichnis meiner Interseite zu finden:
die Installation der Arduino-Entwicklungsumgebung in der aktuellen Version
die Einrichtung zur Verwendung von Arduino Create in der aktuellen Version
https://erik-bartmann.de/?Downloads___Arduino
Hinsichtlich des zu installierenden Plug-ins bei der Verwendung des webbasierten Arduino Create handelt es sich nicht um ein Browser-Plug-in, sondern um einen Agenten, der im Hintergrund arbeitet und quasi browserunabhängig seinen Dienst verrichtet. Jeder andere Browser nutzt diesen Agenten und sollte dann darüber eine Verbindung zur Cloud beziehungsweise zum Arduino herstellen können. Dieser Agent wird übrigens nach jedem Neustart des Systems gestartet. Du kannst die Informationen über den Task-Manager einholen, in dem du in den Tab-Reiter Autostart wechselst. Dort ist ein Eintrag mit dem Namen Arduino_Create_Bridge zu sehen:
Abb. 1: Die Konfiguration der Startprogramme unter Windows
Falls du nicht möchtest, dass dieser Agent mit Windows gestartet werden soll, setze den Status auf Deaktiviert.
Arduino-IDE oder Arduino Create?
Wenn du dich für die lokale Installation der Arduino-Entwicklungsumgebung entschieden hast, dann befindet sich dein gesamter Code, inklusive der Bibliotheken, auf deinem Rechner. Du hast also alles vor Ort und kannst direkt darauf zugreifen, ohne dass eine Internetverbindung erforderlich ist. Falls es neue Bibliotheken – das sind bereits erstellte Arduino-Programme – oder neue Versionen von bestehenden Bibliotheken gibt, liegt es in deiner Verantwortung, diese auf den neuesten Stand zu bringen oder sie zu installieren. Du erhältst jedoch Informationen über eventuell vorliegende Updates.
Im Gegensatz dazu bietet die Arduino-Create-Plattform die Speicherung deines Codes in der sogenannten Arduino IOT Cloud, was einen Speicher darstellt, der sich irgendwo in den Weiten des Internets befindet. Aus diesem Grund ist auch eine ständige Internetverbindung erforderlich, da alles über einen webbasierten Zugriff des Browsers abgewickelt wird. Der Vorteil dieser Variante ist natürlich der weltweite Zugriff auf alle Arduino-Ressourcen, also Code und Bibliotheken. Angebotene Bibliotheken werden auf diese Weise zentral auf einem aktuellen Stand gehalten und es ist nicht erforderlich, sich um eine Aktualisierung zu kümmern. Ich schlage vor, dass du beide Varianten testest und dich für die Version entscheidest, die dir am meisten zusagt. Sowohl mit der Arduino-IDE als auch mit Arduino Create ist ein praktisches Arbeiten möglich. Ich verwende in diesem Buch die Arduino-IDE, weil sie mir persönlich besser gefällt und ich nicht gezwungen sein möchte, immer auf eine bestehende Internetverbindung zurückgreifen zu müssen, obwohl das heutzutage ja fast immer gewährleistet ist. Ich bin kein Freund von Cloud-Lösungen, doch das musst du für dich selbst entscheiden.
Was befindet sich wo?
Nach dem Starten der Arduino-Entwicklungsumgebung, die du auf deinem Computer installiert hast, öffnet sich ein Fenster, das aussieht wie in Abbildung 2. Die Arduino-Entwicklungsumgebung ist in einzelne Bereiche unterteilt. Es gibt einen Ein- und einen Ausgabebereich, Steuerelemente, Informationen über die Verbindungsparameter und einiges mehr. Schauen wir uns das im Detail an.
Der Editor
Der Bereich, in dem du deinen Programmiercode eintippst, wird Editor genannt. Er beherrscht das sogenannte Syntax-Highlighting, was besagt, dass erkannte Schlüsselwörter der Programmiersprache meist farbig dargestellt werden.
Statusinformationen
Unterhalb des Editors befindet sich ein schmaler Bereich, der Statusinformationen anzeigt. Das können Hinweise darüber sein, was gerade passiert oder Meldungen der letzten ausgeführten Aktion. Du kannst in Abbildung 2 erkennen, dass ich gerade einen Sketch erfolgreich auf das Arduino-Board hochgeladen hatte.
Abb. 2: Die Bereiche der Arduino-Entwicklungsumgebung
Compiler-Meldungen