
Schnellstart in das Arduino-System
Die Arbeit mit Mikrocontrollern und die Ansteuerung von Hardware war vor einigen Jahren noch mit großen Hindernissen verbunden. Es war sehr viel Fachwissen nötig, um simpelste Projekte zu verwirklichen.
Eine Schwierigkeit war unter anderem die schwerverständlichen Programmiersprachen. So wurden anfangs Mikrocontroller primär in Assembler programmiert. Das ist eine Programmiersprache, die sehr kryptisch, sehr komprimiert und schwer zu verstehen ist. Hier ein Beispiel: movb $0x61, %al
Heute hat sich dies geändert. Die Hürden sind wesentlich leichter zu überwinden. Das Arduino wird in einer sogenannten Hochsprache programmiert. Diese lehnt sich an die gesprochene menschliche Sprache und ist um einiges verständlicher und intuitiver.
Der maßgebliche Umschwung hat sich im Jahr 2005 ergeben. Italienische Designstudenten der Hochschule Interaction Design Institute im Ivrea suchten eine einfache Möglichkeit Ihre Ideen für neuartige Interaktion zwischen Mensch und Maschine umzusetzen. Aus diesen Bedürfnissen heraus wurde die Arduino Plattform entwickelt.
Das kleine Board wurde sehr schnell erfolgreich, weil es sich an Designer und Künstler und nicht an Fachexperten richtete. Also an Menschen, die ohne großes Vorwissen schnell ihre Ideen verwirklichen können. Mittlerweile wird eine Vielzahl an Boards zu unterschiedlichen Zwecken angeboten.
Das bekannteste und meistgenutzte Board ist das Arduino Uno. Wir werden in diesem Kurs je nach Anwendung unterschiedliche Boards benutzen und ihre Vorteile uns zunutze machen.
Der Name Arduino bezeichnet sowohl das Board (Hardware) als auch die Software, in der der Code geschrieben wird. Hiermit entwickelt man kleine Programme, "Sketches" genannt und sendet sie per USB-Kabel an das Arduino-Board. Das gesendete Programm bleibt dauerhaft im Arduino-Speicher und wird sofort ausgeführt.
Die Arduino Uno Hardware
Schauen uns wir das Arduino Uno an. In die seitlich angeordneten Anschlüsse (auch Pins genannt) werden die elektronischen Komponenten reingesteckt. Diese Anschlüsse können digitale oder analoge Signale erzeugen oder einlesen. Nicht alle Anschlüsse erzeugen digitale oder analoge Steuersignale. Manche haben ganz andere Funktionen. Der 5V Pin ist z.B. eine reine Stromversorgung für externe Elektronik und kann nicht angesteuert werden.
Jeder Pin hat eine eigene Bezeichnungsnummer, die direkt neben dem Pin auf der Platine aufgedruckt ist. Das sind die Zahlen wie z.B. 13 oder A0. Diese Nummern werden in der Programmierung als Identifikationsnummer genutzt. Die meisten Pins sind multifunktionsfähig, d.h. dass sie z.B. als INPUT oder OUTPUT konfiguriert werden können. Vor allem die Pins 3, 5, 6, 9, 10 und 11 sind echte Allrounder. Du erkennst sie auch an dem kleinen Symbol der Welle. Sie können auf drei verschieden Arten eingestellt werden. Auf deinem Arduino Uno sind gewisse Labels (Überschriften) aufgedruckt, die die gleichartigen Pins zusammenfassen:
ANALOG IN
Die Anschlüsse A0 bis A5 sind analoge INPUTs, mit denen wir analoge Sensorwerte einlesen können. Diese messen Spannungen bis von 0 bis 5V. Höhere Spannungen verträgt das Board nicht. Später werden wir diese Pinart benutzen, um die Spannung von Akkus zumessen.
Digitale Pins (PWM + DIGITAL)
Pins mit den Nummern 0 bis 13 sind digitale Anschlüsse. Sie alle können entweder als INPUT oder OUTPUT konfiguriert werden und liefern 0V oder 5V. Mit ihnen werden wir beispielsweise einen Servomotor ansteuern.
PWM-Pins (PWM = Pulsweitenmodulation) sind spezielle digitale Anschlüsse. Das sind die Pins 3, 5, 6, 9, 10 und 11 . Sie sind sehr vielfältig, da sie bis zu drei unterschiedliche Funktionen innehaben: digital INPUT, digital OUTPUT und analog OUTPUT. Mit einem PWM-Pin können wir eine spezielle Art von Signalen erzeugen, die wir für den Piezo-Lautsprecher brauchen werden.
Die Power-Pins
Digitale Elektronik braucht eine geregelte Spannungsversorgung. Das bedeutet, dass durch bestimmte Bauteile auf dem Board die Spannung immer gleich bleibt und nicht hin und her schwankt. Das ist für die korrekte Funktion eines Mikrocontrollers sehr wichtig. Die Power-Pins des Arduino Uno werden benutzt, um zusätzliche Elektronik mit Strom zu versorgen.
Der 3,3V Pin
Dieser Pin liefert 3,3V. Das bedeutet, dass man mit dem Arduino andere Elektronikkomponenten, die exakt 3,3V brauchen, mit Strom versorgen kann. Neuere energieschonende Bauteile verwenden nämlich 3,3V statt 5V versorgt.
Der 5V Pin
Auch der 5V-Pin ist auch eine geregelte Spannungsquelle für externe Boards. Wie der 3,3V-Pin wird dieser Pin benutzt um externe Boards mit Strom zu versorgen.
Die GND Pins
GND ist die Kurzform für Ground. Es ist das englische Wort für Erdung oder Negativ-Pol. Wenn ein externes Board mit Strom versorgt (3,3V oder 5V) wird, muss natürlich der Strom auch wieder zurückfließen, um den Stromkreis zu schließen. Aus diesem Grund wird z.B. der 5V-Pin zusammen mit dem GND-Pin an ein externes Board angeschlossen.
Der VIN Pin
Mithilfe von VIN (Volt Input) werden unsere Projekte mobil und sind nicht an den Computer gebunden. VIN ist die Möglichkeit eine externe Stromversorgung z.B. in Form von einer Batterie anzuschließen.
Weitere Komponenten des Boards
Pin 13 LED
Fast alle Arduinoboards besitzen eine LED, die direkt an Pin 13 verdrahtet ist. Diese LED können wir direkt ansteuern – ohne eine externe LED anzuschließen. Die Boards werden werksseitig mit einem Blink-Code versehen. Das heißt, dass die LED an Pin 13 blinken sollte, sobald das Board mit Strom versorgt wird. Dadurch wird überprüft, ob das Board ordnungsgemäß funktioniert.
Der USB Anschluss
Viele Arduino Boards (nicht alle) besitzen einen USB-Anschluss, der dazu dient um Daten zwischen dem Computer und dem Board auszutauschen. Um z.B. den Code auf den ATmega Chip zu übertragen. Außerdem versorgt der Anschluss das Arduino mit Strom.
Power Jack
Der Power Jack ist eine Buchse, mit der man zusätzlich zum VIN das Arduino mit Strom versorgen kann. Hier kann z.B. ein Universaladapter angeschlossen werden.
TX RX LED
Immer wenn Daten zwischen deinem Arduino und dem Computer über das USB-Kabel verschickt oder empfangen werden, leuchteten zwei LEDs: TX und RX.
Tx = Transmitter = Sender
Rx = Receiver = Empfänger
Die Tx LED leuchtet, wenn Signale vom Arduino gesendet werden. Und Rx, wenn Signale empfangen werden. Beide LEDs sind eine hilfreiche Visualisierung des Datenverkehrs zwischen dem Board und dem Computer. Beispielsweise können sie bei der Fehlersuche eingesetzt werden.
Die Betriebs-LED
Wie jedes anständige Elektrogerät besitzt das Arduino eine Betriebs-LED, die anzeigt, dass das Board ordnungsgemäß mit Strom versorgt wird.
RESET-Button
In der Mitte des Boards siehst du den RESET–Button. Wird dieser während des Betriebs gedrückt, startet das Arduino-Board neu. Er ist vergleichbar mit dem Reset-Button eines Heimcomputers. Das Programm wird im Arduino dadurch neu gestartet.
Reset Pin
Auch hier können wir das Arduino neu starten, wenn wir einen externen Schalter an diesem Pin anbringen. Aber warum ein zusätzlicher Reset-Pin und Schalter, wenn wir doch schon ein Reset-Button haben? Oft ist es so, dass das Arduino-Board in Projekten in einer Schutzhülle steckt und der Reset-Schalter dann schwer zugänglich ist. Aus diesem Grund ist es ratsam, einen externen Schalter an die Hülle zu platzieren.