Arduino: Die einsteigerfreundliche Mikrocontroller-Plattform für Maker, Bildung & Prototyping
Was ist Arduino?
Arduino ist eine Open-Source-Plattform aus Mikrocontroller-Boards (z. B. Uno, Nano, Mega) und einer leicht zu bedienenden Arduino IDE. Dank tausender Bibliotheken und Beispiele lassen sich Sensoren, Motoren, LEDs & Co. in wenigen Minuten zum Laufen bringen.
Warum Arduino?
-
Einfacher Einstieg: klare Pin-Belegung, viele Tutorials.
-
Großes Ökosystem: Unmengen an Libraries, Shields und kompatiblen Modulen.
-
Stabil & zuverlässig: ideal für IO-Aufgaben, Bildung und schnelle Prototypen.
-
Plattformübergreifend: Windows, macOS, Linux; Web-Editor verfügbar.
Wichtige Boards (Kurzüberblick)
-
Uno / Nano (ATmega328P): Klassiker für den Einstieg, viele Shields/Beispiele.
-
Mega 2560: mehr Flash/RAM & viele Pins für größere Projekte.
-
Nano Every / Leonardo / Micro: kompakte Alternativen, teils mit USB-HID.
-
Nano RP2040 Connect / Portenta-Reihe: modernere Leistung & Konnektivität.
Schnittstellen & Pegel
-
Logikpegel: Uno/Mega typ. 5 V, viele moderne Sensoren 3,3 V → ggf. Pegelwandler.
-
I²C: Uno A4 (SDA) / A5 (SCL), Pull-Ups beachten.
-
SPI: Pins 10–13 (bzw. ICSP-Header).
-
UART: Pins 0/1 (Seriell, auch für Upload).
-
PWM: ~-markierte Pins (z. B. 3, 5, 6, 9, 10, 11 am Uno).
Stromversorgung
- Über USB oder DC-Buchse (Vin) – On-Board-Regler erzeugt 5 V/3,3 V (boardabhängig).
- I/O-Ströme begrenzt (z. B. LED mit Vorwiderstand).
- Für Motoren/LED-Strips separate Versorgung + MOSFET/ Treiber verwenden.
Beispiel: Blink (Arduino IDE)
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Beispiel: I²C-Sensor (BME280 mit Bibliothek)
#include <Wire.h>
#include <Adafruit_BME280.h>
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200);
Wire.begin(); // Uno: A4/A5
if (!bme.begin(0x76)) { // Adresse je nach Modul 0x76/0x77
Serial.println("BME280 nicht gefunden!");
while (1) delay(10);
}
}
void loop() {
Serial.print("T: "); Serial.print(bme.readTemperature());
Serial.print(" °C RH: "); Serial.print(bme.readHumidity());
Serial.print(" % p: "); Serial.print(bme.readPressure() / 100.0);
Serial.println(" hPa");
delay(2000);
}
Troubleshooting (Kurz)
-
Upload schlägt fehl: richtigen Port/Board wählen, ggf. Treiber (CH340/CP2102).
-
Bibliothek nicht gefunden: über Library Manager installieren.
-
Sensor reagiert nicht: Verkabelung, I²C-Adresse, gemeinsame Masse, Pull-Ups prüfen.
-
Flackernde LEDs/Motorscheinen: ausreichende Versorgung, Masseführung, Entstörung/Kondensatoren.
Weiterführend: ESP32, I²C, SPI, UART, PWM, BME280, MOSFET, MicroPython/CircuitPython (modellabhängig).
0 Kommentare