GeekzeugLifehacks – digital und analog

Arduino-Einstieg: Schritt für Schritt mit Fotos und Erklärungen

Viele Arduino-Tutorials beschränken sich auf Code und ein Schema für den Schaltkreis - aber reicht das? Klar, das Projekt wird funktionieren. Aber versteht Ihr das auch wirklich? Könnt Ihr danach etwas eigenes basteln? Wir fangen exakt bei Null an, kein Vorwissen nötig, nutzen Fotos statt Grafiken und erklären jeden einzelnen Schritt. Auch für die Software. Ein Einstieg für Menschen, die noch nie mit Bastel-Computern und Platinen zu tun hatten.

Über den Artikel

Warum noch ein Tausendstes Arduino-Tutorial? Es gibt bereits etliche Tutorials, aber drei Dinge stören fast immer: Nur ein kompletter Schaltkreis zum Nachstecken, keine Einzelschritte. Schemata (meist von Fritzing) statt Fotos. Kaum Erklärungen, was da genau passiert. Komplette Schaltkreise nachzubasteln ist doch immer wieder frickelig, Schemata entsprechen oft nicht exakt der Realität, was es für Laien schwieriger macht und fehlende Erklärungen sorgen zwar für ein funktionierendes Projekt. Aber eigene Erweiterungen oder ganze Projekte bekommt man damit auch nicht.

Was gibt es hier? Wir zeigen hier alles, damit Ihr den Arduino in Betrieb nehmen und mit Software versorgen, Schaltkreise per Breadboard aufbauen und Sketches (Arduino-Skripte) gaaanz grob verstehen könnt. Im Detail sieht das dann so aus:

  1. Ganz kurz zum Arduino, Liste der Bauteile.
  2. Kommunikation mit dem Arduino, Software hochladen.
  3. Anschlüsse auf dem Arduino.
  4. Arbeit mit dem Breadboard.
  5. RGB-LED blau leuchten lassen.
  6. RGB-LED dimmen per Software.
  7. RGB-LED dimmen per Potentiometer.
  8. RGB-LED blau, rot, grün blinken lassen.

Aber natürlich haben auch wir ein Fritzing-Bild - wohlgemerkt für das letzte Beispiel:

arduino
Wenn Euch solche Bilder genügen, könnt Ihr dieses Tutorial eigentlich überspringen.

Kurz über Arduino

Arduino ist eigentlich ein ganzes Ökosystem aus Hardware-Spezifikationen, Bauteilen, Entwicklungs-Software und Dokumentation. Wenn hier von "dem Arduino" sprechen, meinen wir natürlich das Arduino-Board. Davon gibt es verschiedene Ausführungen. Hier kommt ein Arduino Mega 2560 von Elegoo zum Einsatz. Es kann aber auch ein Mega von einem anderen Hersteller oder ein ganz anderes Arduino-Board sein, etwa ein Arduino Uno - die hier gezeigten Grundlagen passen auch auf viele andere Boards, selbst das Beispiel lässt sich übernehmen.

Bauteile werdet Ihr vermutlich haben - bestimmt habt Ihr ein Arduino-Set gekauft, oder? Mit dem Most Complete Starter Kit Mega 2560 von Elegoo nutzen wir hier ein ziemlich umfangreiches Set, die nötigen Bauteile sollten aber selbst in den kleinsten Sammlungen vorhanden sein:

  • Arduino Mega 2560 oder ähnliches Board.
  • 3 x 220-Ohm-Widerstand.
  • 10K-Potentiometer.
  • Breadboard.
  • RGB-LED (Standard LED tut's auch).
  • 8 x Verbindungskabel.
arduino tutorial
Die Materialien.

Workflow: Das Umsetzen eines Projekts folgt immer dem gleichen Muster: Schaltkreis aufbauen, Arduino per USB mit dem PC verbinden, Code in der Arduino-Software laden/eingeben, Software auf Arduino hochladen, Projekt bestaunen. Wir beginnen aber damit, die Arduino-Software einzurichten, damit Ihr später das Beispielprojekt sofort testen könnt.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Software auf Arduino laden

Besorgt Euch die aktuelle Software und installiert sie. Etwaige Software auf einer CD im Arduino-Set könnt Ihr ignorieren. Schließt anschließend den Arduino per USB am Rechner an - es sollte das übliche Windows-hats-erkannt-Geräusch folgen. Startet nun die Software "Arduino".

Der Software müsst Ihr nun das verwendete Board (hier Mega 2560) und den verwendeten Port angeben. Beides findet Ihr im Werkzeuge-Menü. Den richtigen Port müsst Ihr nur aus der angebotenen Liste auswählen - neben dem Standard "COM1" wird Euch da nur noch der USB-Port des Boards angeboten.

arduino tutorial
Die IDE muss kurz eingerichtet werden.

Anschließend könnt Ihr zum Testen ein beliebiges Sketch, wie Skripte/Programme in der Arduino-Welt heißen, über den kleinen Rechtspfeil oben links im Programmfenster hochladen. Wenn die Meldung "Hochladen beendet" kommt, ist alles in Ordnung. Ihr könnt das Board nun wieder vom PC entfernen.

arduino tutorial
Es hat geklappt.

Manchmal verwenden Projekte Bibliotheken. Das ist Software mit Funktionen, die in vielen Projekten benötigt werden, beispielsweise zum Ansteuern eines Displays. Solche Bibliotheken könnt Ihr über das Werkzeuge-Menü installieren und aktivieren. Für unsere Einführung ist das nicht nötig.

Arduino-Anschlüsse

Auf dem Mega findet Ihr 86 Anschlüsse (plus USB/Strom) - das scheint zunächst verwirrend. Aber schaut mal auf die Platine, die Beschriftung hilft bereits: Es gibt den Bereich PWM, was für Pulsweitenmodulation steht, und analogen Output erlaubt (etwa zum Dimmen einer LED). Der Bereich Digital liefert digitalen Output (etwa zum Ein-/Ausschalten einer LED). Der Bereich Analog in nimmt analoge Signale in Empfang, die Pins unter Communicatins kommunizieren mit angeschlossenen Computern und sonstigen Geräten und alles unter Power dient der Stromversorgung. Apropos: Pins mit der Beschriftung GND, also Ground/Erdung, gibt es mehrmals - welchen Ihr nutzt ist egal.

arduino tutorial
Verschiedene Bereiche sortieren die Pins/Anschlüsse.

PWM-Detail: Nicht alle Pins in dem Bereich sind wirklich PWM-tauglich! Bei dem Elegoo-Board befinden sich außen deutliche Beschriftungen: Nur Pins mit einer angehängten ~/Tilde sind PWM-tauglich.

arduino tutorial
Zumindest bei Elegoo sind die Pins beschriftet - achtet auf die Tilden.

Das Breadboard

Man könnte Schaltkreise auch ohne Steckbrett (oder Lötplatine) aufbauen - man hätte dann einen riesigen Kabelball ... Ein Breadboard macht die Arbeit einfach etwas, nun, einfacher. Die Standard-Breadboards bestehen aus zwei unabhänigen Hälften, geteilt durch die tiefe Einkärbung längs. Ganz außen liegen zwei Längsverbindungen für die Stromversorgung der beiden Hälften. Tipp: Die meisten Anleitungen zeigen die Breadboards quer liegend und mit der blauen Minus-/Erde-/Ground-Verbindung unten.

In den durchnummerierten Reihen sind die Verbindungen natürlich quer, so dass alle Bauteile in einer Reihe auf einer Hälfte automatisch verbunden sind. Strom kann jede Reihe bei Bedarf aus der längsseitigen Versorgung abzapfen. Supersimpelbeispiel: Ihr könntet einen beliebigen Anschluss der Plus-Schiene mit dem 5V-Pin und einen beliebigen Anschluss der Minus-Schiene mit dem GND-Pin des Arduino verbinden - und hättet damit schon mal Strom. Steckt Ihr dann eine LED mit dem langen Beinchen in die Plus- und dem kurzen Beinchen in die Minus-Schiene, egal wo, fließt Strom mit 5 Volt durch die LED - und grillt sie damit, weil zu viel Strom.

RGB-LED blau leuchten lassen

Eine RGB-LED beinhaltet eine rote, eine grüne und eine blaue LED, alle mit einem eigenen Plus-Anschluss und einem gemeinsamen Minus-Beinchen - hier das längere. Ihr könnt auch eine normale LED nehmen, da zunächst nur die blaue LED angeschlossen und genutzt wird. Den allerletzten Schritt werdet Ihr dann auch so verstehen.

Beginnt mit der LED in der oberen Hälfte: Steckt sie so, dass das längere Minus-Beinchein (die Kathode), das zweite von links ist - dann stimmt die Reihenfolge R, G, B bei den drei restlichen Beinchen. (Wie genau Bauteile beschaltet sind, müsst Ihr schlicht und ergreifend nachschlagen.)

arduino tutorial
Zunächst die RGB-LED - das lange Beinchen nach links.

Minus-Seite des Schaltkreises: Verbindet nun die Kathode mit der blauen Minus-Leiste der unteren Hälfte - wo genau ist egal. Und nun fehlt noch eine Verbindung von der Minus-Leiste zu einem GND-Pin am Arduino. Standardmäßig werden hier schwarze Kabel verwendet.

arduino tutorial
Die Kathode der RGB-LED an GND.

Fehlt noch die Plus-Seite des Stromkreises: Verbindet den 5V-Pin mit einem Anschluss auf der unteren Hälfte des Breadboards, direkt gegenüber des ganz rechten Beinchens der RGB-LED, also der blauen LED darin. Am besten mit einem blauen Kabel. (Ihr könntet all die Bauteile auch andernorts einstecken und verbinden - aber so ist es schön übersichtlich.) Verbindet nun letztlich die Reihe mit dem 5V-Anschluss mit der Reihe des rechten Beinchens der RGB-LED - und zwar mit einem Widerstand, damit die LED nicht wie oben erwähnt brutzelt. Ein 220-Ohm-Widerstand genügt, alles bis rauf zu 1 Kiloohm funktioniert.

arduino tutorial
5V ans Board und von dort per 220-Ohm-Widerstand zum rechten LED-Beinchen.

Exkurs Widerstände: Leider sind die Widerstände in den Sets oft schlecht zu entziffern und nicht beschriftet. Ihr findet hier eine Auflösung der Farbcodes auf den Widerständen - und zwar auch wenn es nicht vier, sondern fünft Ringe sind. Der letzte Ring ist meistens entweder gold und/oder hat einen größeren Abstand als die anderen Ringe zueinander. 220 Ohm erkennt Ihr an den Sequenzen Rot, Rot, Schwarz, Schwarz bei 5 Ringen und Rot, Rot, Braun bei 4 Ringen - egal, was danach folgt.

Nun könnt Ihr den Arduino per USB oder Netzteil mit Strom versorgen. Und das passiert: Der Strom kommt vom 5-Volt-Pin, durchfließt den Widerstand, in das Beinchein der blauen LED innerhalb der RGB-LED und zurück durch das lange Minus-Beinchen/die Kathode und die Minus-Leiste zum GND-Pin auf dem Arduino. Die LED leuchtet - wie spannend ... Klemmt den Strom nun wieder ab.

arduino tutorial
Strom an - LED an.

RGB-LED dimmen 1: Software

Bislang wurde nichts gesteuert. Das heißt, dass es zum einen keine Software gab, zum anderen permanente 5-Volt-Stromversorgung. Beides wird nun anders. Ändert zunächst den Schaltkreis etwas ab: Auf dem Arduino kommt das blaue Kabel nun vom 5V-Pin in den Pin 3 im Bereich PWM (PWM-Pin, zu erkennen an der Tilde). Über diesen Output-Pin kann dann gleich via Software gesteuert werden, wann und wieviel Strom zur blauen LED kommt.

arduino tutorial
Stromversorgung jetzt über Pin 3.

Klemmt den Arduino wieder an den PC, startet die Arduino-Software (kurz IDE: Integrated Development Environment, also Entwicklungsumgebung) und startet ein neues Sketch. Kopiert folgenden Code hinein und ladet ihn hoch:

// Pin definieren
#define BLUE 3

// Pin-Modus und analogen Output setzen
void setup()
{
pinMode(BLUE, OUTPUT);
analogWrite(BLUE, 127);
}

Der Code ist extrem minimalistisch: Zunächst wird dem Pin 3 der name BLUE zugeschrieben. Es folgt die setup-Funktion, die schlicht und ergreifend immer ausgeführt wird, wenn der Arduino ein neues Sketch bekommt oder resettet wird (über den kleinen, einzigen Knopf auf dem Board). Darin wird der Modus des Pins auf Output gesetzt, damit klar ist, was mit dem Signal passieren soll (eben "outputten" ...) und letztlich wird über analogWrite ein Wert an BLUE übergeben: Werte können hier zwischen 0 (aus) und 255 (maximaler Strom) wanken. Der hier vergebene Wert von 127 dimmt die LED also rund um die Hälfte. Aber ein echter Dimmer ist das noch nicht - er folgt.

Übrigens: Ein digitalWrite würde über alle Pins auf dem Arduino funktionieren, könnte aber nur die Werte HIGH und LOW ausgeben, die LED also nur an oder aus machen - folgt auch gleich.

RGB-LED dimmen 2: Potentiometer

Ein echter Dimmer sollte über einen Schalter funktionieren, beziehungsweise hier über einen Drehregler, den Potentiometer. Das ist nichts weiter als ein variabler Widerstand, der sich bis auf einen bestimmten Wert hochschrauben lässt. Hier ist es ein Potentiometer mit bis zu 10 Kiloohm. Dieser hat drei Anschlüsse: Rein, Raus und Erde. Stellt die Stromversorgung zunächst wieder auf konstant um, steckt also das blaue Kabel wieder in den 5V-Pin.

Platziert nun das Potentiometer ein Stückchen abseits der RGB-LED. Die drei Beinchen benötigen zwei Reihen auf ganzer Breite - die Seite mit zwei Beinen sollte zu Euch zeigen, damit man wie gewohnt nach rechts "aufdrehen" kann.

arduino tutorial
Stromversorgung wieder über 5V und Poti irgendwo einsetzen.

Dieser Poti soll den fixen Widerstand ersetzen - entfernt den Widerstand also und steckt jeweils ein blaues Kabel dorthin, wo eben noch der Widerstand steckte. (Auch das könnte wieder woanders stecken, aber wo wird deutlich, dass der Poti 1:1 den Widerstand ersetzt.)

arduino tutorial
Widerstand entfernen und zwei blaue Kabel einstecken.

Der Ausgang des Potis ist zwischen den beiden Beinchen - verbindet also das blaue Kabel vom Beinchen der blauen LED mit diesem Ausgang.

arduino tutorial
Vom Ausgang des Potis zur blauen LED.

Den Eingang (beim Widerstand war es der Pin in der unteren Breadboard-Hälfte) setzt Ihr auf das vordere rechte Beinchen des Potis - also von Euch aus gesehen hinten rechts am Poti, in die Reihe des Beinchens.

arduino tutorial
Die 5V-Stromversorgung an den Poti-Eingang.

Dem linken Beinchein des Potis spendiert Ihr nun noch eine Verbindung zur Minus-Leiste. Gebt dem Arduino wieder Strom und dreht am Poti - ein Dimmer in Action!

arduino tutorial
Poti via Minus-Leiste an GND.

RGB-LED blau, rot, grün blinken lassen

Zieht wieder den Stromstecker und wechselt abermals die Stromzufuhr für die blaue LED vom 5V-Pin zu Pin 3, um sie wieder via Software steuern zu können. Jetzt kommen endlich die beiden anderen LEDs in der RGB-LED ins Spiel: Schließt zunächst die rote LED, also das linke Beinchen, an Pin 6 an - wie ganz am Anfang die blaue LED: Rotes Kabel von Pin 6 in eine Reihe auf dem Breadboard und aus der Reihe eine Verbindung mit einem 220-Ohm-Widerstand zum linken Rote-LED-Beinchen.

arduino tutorial
Rote LED via 5V und Widerstand verbinden.

Und dasselbe macht Ihr mit der grünen LED, die an Pin 5 kommt. Die Pins 3, 5 und 6 sind PWE-fähig, Pin 4 ist es nicht, daher die Lücke.

arduino tutorial
Gründe LED ebenso verbinden - der Schaltkreis ist fertig.

Schließt den Arduino wieder an, startet die IDE und ein neues Projekt und ladet folgenden Code hoch:

// Pins definieren
#define BLUE 3
#define GREEN 5
#define RED 6

// Initialisierung bei reset
void setup()
{
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}

// Endlosschleife
void loop()
{

delay(2000);
digitalWrite(RED, HIGH); // Rote LED geht an
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);

delay(2000);
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH); //Grüne LED geht an
digitalWrite(BLUE, LOW);

delay(2000);
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, HIGH); //Blaue LED geht an

}

Das Meiste kennt Ihr schon: Die Pin-Definitionen und-Modi entsprechen dem ersten Code-Beispiel von oben. Es folgt das angekündigte digitalWrite, das hier zunächst mal alle LEDs über den Wert LOW ausschaltet. Es folgt eine Endlosschleife: Über delay wird 2 Sekunden gewartet, dann wird der Wert für die rote LED auf HIGH geändert - sie leuchtet. Wieder 2 Sekunden später wird rot zurück auf LOW und die grüne LED auf HIGH gesetzt. Und dann folgt das Ganze nochmal für Blau. Und die blaue LED könnt Ihr in den zwei Sekunden natürlich nach wie vor mit dem Poti regeln.

Fritzing-Schema

Nochmal kurz zur oben bereits gezeigten Fritzing-Grafik: Der Poti wird hier direkt mit den Beinchen verbunden, nicht mit den gegenüberliegenden Anschlüssen derselben Reihe - daher entspricht es nicht ganz den Fotos.

arduino
Der Poti ist hier direkt an den Beinchen verschaltet - nicht über die jeweilige Reihe.

Lessons Learned

Oha, bestes Buzzwordgequatsche ... Naja, nennen wir es Dinge zum Mitnehmen. Was solltet Ihr nun wissen?

  • Kommunikation mit Arduino über IDE.
  • Funktionsweise des Breadboards.
  • Steuerbare/permanente Stromversorgung über Output-/Power-Pins.
  • Signalregulierung über fixe/variable Widerstände.
  • Grundlegende Ansteuerung von Pins aus Sketches.

Damit könnt Ihr sicherlich nicht sofort eigene Projekte starten. Andere Bauteile sind deutlich komplexer und von der Software braucht man gar nicht erst reden. Aber: Es sollte genügen, um mit den typischen, superkurzen Projektbeschreibungen zurecht zu kommen, kleinere Anpassungen vorzunehmen und auch ein wenig Fehlerbehebung zu betreiben. Beispielsweise könnt Ihr nun wunderbar Pin-Definitionen nachvollziehen.

Und wenn Ihr Blut geleckt habt: Wir haben noch eine Anleitung für Wenn-Dann-Projekte, um beispielsweise eine LED zu erleuchten, wenn ein bestimmter Abstand unterschritten wird. Und als Praxisprojekt: Die Tutobar.

Und hier noch ein paar Amazon-Links auf typische Boards und Sets:

Arduino Leonardo with Headers [A000057]
25,99 €
(Stand: 12.12.2024 13:42 - Details)
Verkäufer: ARDUINO
Zum Angebot bei Amazon ↗ *
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
27% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
30% sparen
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"