Karteikarten

Arduino Karteikarten

🤖 Arduino Karteikarten

20 Projekte für Klasse 5–8  |  Einstieg bis Schleifen  |  Standard-Kit

🟢 Niveau 1 – Einstieg

01 „Hallo Licht!“ – Die blinkende LED
Klasse 5–6 ⏱ 20 Min Einstieg
Eine LED blinkt regelmäßig – dein allererstes Arduino-Programm!
Arduino Uno 1× LED 1× 220Ω Breadboard + Kabel
Pin 13 → 220Ω → LED (+) → GND
void setup() {
  pinMode(13, OUTPUT);   // Pin 13 = Ausgang
}

void loop() {
  digitalWrite(13, HIGH); // LED an
  delay(1000);            // 1 Sekunde warten
  digitalWrite(13, LOW);  // LED aus
  delay(1000);            // 1 Sekunde warten
}
💡 Probier aus: Ändere delay(1000) auf delay(100) oder delay(2000) – was passiert?
🚀 Erweiterung: Programmiere ein SOS-Signal: · · · — — — · · ·
02 „Herzschlag“ – LED im Rhythmus
Klasse 5–6 ⏱ 20 Min Einstieg
Die LED blinkt wie ein Herzschlag – du bestimmst den Rhythmus selbst!
Arduino Uno 1× LED 1× 220Ω Breadboard + Kabel
AN (100ms) → AUS (100ms) → AN (100ms) → AUS (700ms) → wiederholen
digitalWrite(13, HIGH);  // LED an
digitalWrite(13, LOW);   // LED aus
delay(100);              // 100 Millisekunden warten
💡 Aufgabe: Schreib den Code komplett selbst! Du brauchst 4× digitalWrite und 4× delay.
🚀 Erweiterung: Erfinde einen eigenen Rhythmus – z. B. einen Walzer mit 3 Schlägen!
03 „Ampel“ – 3 LEDs steuern
Klasse 5–6 ⏱ 30 Min Einstieg ⭐⭐
Eine vollständige Ampelschaltung – Rot, Gelb, Grün in der richtigen Reihenfolge.
Arduino Uno 3× LED (rot/gelb/grün) 3× 220Ω Breadboard + Kabel
Pin 2 → 220Ω → Rote LED → GND
Pin 3 → 220Ω → Gelbe LED → GND
Pin 4 → 220Ω → Grüne LED → GND
void setup() {
  pinMode(2, OUTPUT); // Rot
  pinMode(3, OUTPUT); // Gelb
  pinMode(4, OUTPUT); // Grün
}
void loop() {
  digitalWrite(2, HIGH); delay(3000);      // ROT
  digitalWrite(3, HIGH); delay(1000);      // ROT+GELB
  digitalWrite(2, LOW);  digitalWrite(3, LOW);
  digitalWrite(4, HIGH); delay(3000);      // GRÜN
  digitalWrite(4, LOW);
  digitalWrite(3, HIGH); delay(1000);      // GELB
  digitalWrite(3, LOW);
}
🚀 Erweiterung: Füge eine Fußgängerampel hinzu, die gegenläufig schaltet!
04 „Knopfdruck“ – Taster & LED
Klasse 5–6 ⏱ 25 Min Einstieg ⭐⭐
Eine LED leuchtet nur, solange du den Taster gedrückt hältst – Eingang trifft Ausgang!
Arduino Uno 1× Taster 1× 10kΩ (Pull-Down) 1× LED + 220Ω Breadboard + Kabel
Taster: Pin 7 → Taster → 5V  |  10kΩ → GND
LED: Pin 13 → 220Ω → LED → GND
void setup() {
  pinMode(7, INPUT);    // Taster = Eingang
  pinMode(13, OUTPUT);  // LED = Ausgang
}
void loop() {
  if (digitalRead(7) == HIGH) {
    digitalWrite(13, HIGH); // Taster gedrückt → LED an
  } else {
    digitalWrite(13, LOW);  // Taster los → LED aus
  }
}
💡 Tipp: Probiere INPUT_PULLUP – dann brauchst du keinen externen Widerstand, aber HIGH/LOW sind vertauscht!

🟡 Niveau 2 – Variablen & Bedingungen

05 „Lauflicht“ – 5 LEDs der Reihe nach
Klasse 6–7 ⏱ 30 Min Grundlagen ⭐⭐
5 LEDs leuchten nacheinander auf und aus – wie ein klassisches Lauflicht.
Arduino Uno 5× LED + 5× 220Ω Breadboard + Kabel
LEDs an Pin 2, 3, 4, 5, 6 – jeweils 220Ω nach GND
💡 Für jede LED: an → warten → aus → nächste.

Erstelle eine Variable: int pause = 200;
Nutze überall delay(pause) – dann genügt eine Änderung für die ganze Geschwindigkeit!
🚀 Erweiterung: Lass das Lauflicht hin- und herlaufen – wie K.I.T.T. aus Knight Rider!
06 „Dimmer“ – Helligkeit steuern
Klasse 6–7 ⏱ 25 Min Grundlagen ⭐⭐
Mit einem Potentiometer die LED-Helligkeit stufenlos regeln – analoges Einlesen trifft PWM-Ausgabe.
Arduino Uno 1× LED + 220Ω 1× Potentiometer 10kΩ Breadboard + Kabel
Poti: links → GND | mitte → A0 | rechts → 5V
LED: Pin 9 (~PWM) → 220Ω → LED → GND
void setup() { pinMode(9, OUTPUT); }

void loop() {
  int wert = analogRead(A0);    // 0 – 1023
  int hell = wert / 4;          // → 0 – 255
  analogWrite(9, hell);         // PWM-Ausgabe
}
💡 analogRead → 0–1023  |  analogWrite → 0–255  → deshalb durch 4 teilen!
PWM-Pins erkennst du am ~-Zeichen: 3, 5, 6, 9, 10, 11
07 „Alarm!“ – Buzzer mit Taster
Klasse 6–7 ⏱ 25 Min Grundlagen ⭐⭐
Drückst du den Taster, ertönt ein Alarmsignal aus dem Buzzer.
Arduino Uno 1× Buzzer (aktiv) 1× Taster + 10kΩ Breadboard + Kabel
void setup() {
  pinMode(8, OUTPUT); // Buzzer
  pinMode(7, INPUT);  // Taster
}
void loop() {
  if (digitalRead(7) == HIGH) {
    digitalWrite(8, HIGH); delay(200);
    digitalWrite(8, LOW);  delay(200);
  } else {
    digitalWrite(8, LOW);
  }
}
🚀 Mit passivem Buzzer – echte Töne!
tone(8, 440); → Note A  |  tone(8, 523); → Note C
noTone(8); → Stille
08 „Reaktionstest“ – Wer ist schneller?
Klasse 6–7 ⏱ 35 Min Grundlagen ⭐⭐⭐
LED leuchtet nach zufälliger Wartezeit auf – drück so schnell wie möglich! Reaktionszeit erscheint im Seriellen Monitor.
Arduino Uno 1× LED + 220Ω 1× Taster + 10kΩ Breadboard + Kabel
Serial.begin(9600);        // Monitor starten
delay(random(2000,5000));  // Zufällig warten
digitalWrite(LED, HIGH);   // LED an!
long start = millis();     // Zeit merken
// → auf Taster warten...
long reaktion = millis() - start;
Serial.println(reaktion);  // Ausgabe in ms
💡 Herausforderung: Wer hat in der Klasse die schnellste Reaktionszeit?
🚀 Was passiert, wenn die LED zu früh gedrückt wird? Baue einen „Fehlstart“-Check ein!
09 „Morsezeichen“ – Schreibe mit Licht
Klasse 6–7 ⏱ 30 Min Grundlagen ⭐⭐
Dein Name blinkt als Morsecode – du schreibst eigene Hilfsfunktionen!
Arduino Uno 1× LED + 220Ω Breadboard + Kabel
void punkt() {          // ·  kurz
  digitalWrite(13, HIGH); delay(200);
  digitalWrite(13, LOW);  delay(200);
}
void strich() {         // –  lang
  digitalWrite(13, HIGH); delay(600);
  digitalWrite(13, LOW);  delay(200);
}
// SOS: · · · — — — · · ·
void loop() {
  punkt(); punkt(); punkt(); delay(400); // S
  strich();strich();strich();delay(400); // O
  punkt(); punkt(); punkt(); delay(2000);// S
}
💡 Suche die Morse-Tabelle im Internet und schreibe deinen Vornamen!

🟠 Niveau 3 – Schleifen & Funktionen

10 „Lauflicht mit for-Schleife“
Klasse 7–8 ⏱ 30 Min Schleifen ⭐⭐⭐
Karte 5 neu gedacht – das Lauflicht mit einer eleganten for-Schleife, viel kürzer und flexibler!
Arduino Uno 5× LED + 5× 220Ω Breadboard + Kabel
int startPin = 2, endPin = 6, pause = 150;

void setup() {
  for (int i = startPin; i <= endPin; i++)
    pinMode(i, OUTPUT);
}
void loop() {
  for (int i = startPin; i <= endPin; i++) { // vorwärts
    digitalWrite(i, HIGH); delay(pause);
    digitalWrite(i, LOW);
  }
  for (int i = endPin; i >= startPin; i--) { // rückwärts
    digitalWrite(i, HIGH); delay(pause);
    digitalWrite(i, LOW);
  }
}
💡 Denk-Frage: Was musst du ändern, um 8 statt 5 LEDs zu nutzen? Nur eine Zahl!
🚀 Steuere die Geschwindigkeit live mit einem Potentiometer an A0!
11 „RGB-Disco“ – Farben mischen
Klasse 7–8 ⏱ 35 Min Schleifen ⭐⭐⭐
Eine RGB-LED durchläuft alle Farben – du lernst eigene Funktionen mit Parametern zu schreiben.
Arduino Uno 1× RGB-LED (gem. Kathode) 3× 220Ω Breadboard + Kabel
Rot → Pin 9 (~) | Grün → Pin 10 (~) | Blau → Pin 11 (~) | GND → GND
void farbe(int r, int g, int b) {
  analogWrite(9, r);
  analogWrite(10, g);
  analogWrite(11, b);
}
void loop() {
  farbe(255, 0,   0);   delay(500); // Rot
  farbe(0,   255, 0);   delay(500); // Grün
  farbe(0,   0,   255); delay(500); // Blau
  farbe(255, 255, 0);   delay(500); // Gelb
  farbe(0,   255, 255); delay(500); // Cyan
  farbe(255, 0,   255); delay(500); // Magenta
}
🚀 Überblende Rot langsam zu Blau mit einer for-Schleife! (r von 255→0, b von 0→255)
12 „Piano“ – Töne mit Tastern
Klasse 7–8 ⏱ 40 Min Schleifen ⭐⭐⭐
4 Taster = 4 Töne – ein echtes Mini-Klavier mit Arrays und Schleifen!
Arduino Uno 4× Taster + 4× 10kΩ 1× Buzzer (passiv!) Breadboard + Kabel
int tasten[] = {2, 3, 4, 5};
int toene[]  = {262, 294, 330, 349}; // C D E F

void loop() {
  bool gespielt = false;
  for (int i = 0; i < 4; i++) {
    if (digitalRead(tasten[i]) == HIGH) {
      tone(8, toene[i]);
      gespielt = true;
    }
  }
  if (!gespielt) noTone(8);
}
NoteC4D4E4F4G4A4
Hz262294330349392440
🚀 Füge 4 weitere Taster hinzu und spiele eine Melodie!
13 „Entfernungsmesser" – Ultraschall
Klasse 7–8 ⏱ 35 Min Schleifen ⭐⭐⭐
Der HC-SR04 misst Abstände in Zentimetern – wie ein Echolot im Miniformat!
Arduino Uno 1× HC-SR04 Breadboard + Kabel
VCC→5V | GND→GND | TRIG→Pin 9 | ECHO→Pin 10
void loop() {
  digitalWrite(9, LOW);  delayMicroseconds(2);
  digitalWrite(9, HIGH); delayMicroseconds(10);
  digitalWrite(9, LOW);
  long us = pulseIn(10, HIGH);
  int cm = us * 0.034 / 2;
  Serial.print(cm); Serial.println(" cm");
  delay(500);
}
💡 Schall legt ~0,034 cm pro Mikrosekunde zurück. Hin + zurück → durch 2 teilen!
🚀 Eine LED blinkt schneller, je näher ein Objekt kommt!
14 „Servo-Schranke" – Motor steuern
Klasse 7–8 ⏱ 30 Min Schleifen ⭐⭐⭐
Ein Servo-Motor öffnet und schließt eine Schranke per Tastendruck.
Arduino Uno 1× Servo-Motor 1× Taster + 10kΩ Breadboard + Kabel
#include <Servo.h>
Servo schranke;
bool offen = false;

void setup() {
  schranke.attach(9);
  pinMode(7, INPUT);
  schranke.write(0); // geschlossen
}
void loop() {
  if (digitalRead(7) == HIGH) {
    delay(50); // Entprellung
    offen = !offen;
    schranke.write(offen ? 90 : 0);
    delay(500);
  }
}
💡 schranke.write(winkel) – Winkel von 0° bis 180°
🚀 Kombiniere mit Karte 13: Schranke öffnet automatisch bei Annäherung!

🔴 Niveau 4 – Fortgeschritten

15 „Würfel" – Zufallszahlen mit LEDs
Klasse 7–8 ⏱ 40 Min Fortgeschritten ⭐⭐⭐⭐
7 LEDs zeigen per Taster eine zufällige Würfelzahl in echtem Würfelmuster an!
Arduino Uno 7× LED + 7× 220Ω 1× Taster + 10kΩ Breadboard + Kabel
bool muster[6][7] = {
  {0,0,0,1,0,0,0}, // 1 – Mitte
  {1,0,0,0,0,0,1}, // 2
  {1,0,0,1,0,0,1}, // 3
  {1,1,0,0,0,1,1}, // 4
  {1,1,0,1,0,1,1}, // 5
  {1,1,1,0,1,1,1}, // 6
};
// Würfeln:
int z = random(0, 6);
for (int i=0; i<7; i++)
  digitalWrite(pins[i], muster[z][i]);
🚀 Lass LEDs vor dem Ergebnis kurz zufällig blinken – echter Würfel-Effekt!
16 „Temperatur-Anzeige" – DHT11 Sensor
Klasse 7–8 ⏱ 40 Min Fortgeschritten ⭐⭐⭐⭐
Temperatur & Luftfeuchtigkeit messen und im Seriellen Monitor ausgeben – erste externe Bibliothek!
Arduino Uno 1× DHT11 Breadboard + Kabel
VCC→5V | GND→GND | DATA→Pin 2
⚙️ Bibliotheksmanager → „DHT sensor library" installieren!
#include <DHT.h>
DHT dht(2, DHT11);

void setup() { Serial.begin(9600); dht.begin(); }

void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  Serial.print(t); Serial.print(" C | ");
  Serial.print(h); Serial.println(" %");
  delay(2000);
}
🚀 Ab 28°C → rote LED an + Buzzer piept!
17 „Stimmungslampe" – Poti & RGB
Klasse 7–8 ⏱ 35 Min Fortgeschritten ⭐⭐⭐⭐
Ein Potentiometer steuert die Farbe der RGB-LED – sanft von Rot über Grün nach Blau.
Arduino Uno 1× RGB-LED + 3× 220Ω 1× Potentiometer Breadboard + Kabel
// map(wert, vonMin, vonMax, bisMin, bisMax)
int w = analogRead(A0);           // 0–1023

if (w < 341) {
  analogWrite(9,  map(w, 0, 341, 255, 0));  // R↓
  analogWrite(10, map(w, 0, 341, 0, 255));  // G↑
} else if (w < 682) {
  analogWrite(10, map(w, 341, 682, 255, 0));// G↓
  analogWrite(11, map(w, 341, 682, 0, 255));// B↑
} else {
  analogWrite(11, map(w, 682,1023,255, 0)); // B↓
  analogWrite(9,  map(w, 682,1023, 0,255)); // R↑
}
🚀 Programmiere einen automatischen Regenbogen-Loop ohne Potentiometer!
18 „LCD-Uhr" – Zähler auf dem Display
Klasse 7–8 ⏱ 45 Min Fortgeschritten ⭐⭐⭐⭐
Ein 16×2 LCD-Display zeigt einen laufenden Sekunden- und Minutenzähler an.
Arduino Uno 1× LCD 16×2 + I2C-Modul Kabel
VCC→5V | GND→GND | SDA→A4 | SCL→A5
⚙️ Bibliotheksmanager → „LiquidCrystal I2C" installieren!
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int sek = 0;

void setup() { lcd.init(); lcd.backlight(); }

void loop() {
  lcd.setCursor(0, 0); lcd.print("Arduino Uhr:");
  lcd.setCursor(0, 1);
  lcd.print(sek/60);  lcd.print("m ");
  lcd.print(sek%60);  lcd.print("s   ");
  sek++; delay(1000);
}
🚀 Zeige zusätzlich die Temperatur vom DHT11 (Karte 16) in Zeile 2!

🟣 Niveau 5 – Abschluss-Projekte

19 „Mini-Wetterstation"
Klasse 8 ⏱ 60 Min Projekt ⭐⭐⭐⭐⭐
Kombiniere DHT11 + LCD + LEDs zu einer echten Wetterstation – alles was du gelernt hast in einem Gerät!
Arduino Uno 1× DHT11 1× LCD 16×2 (I2C) 3× LED (grün/gelb/rot) + 3× 220Ω Breadboard + Kabel
LCD Zeile 1Temp: 22.5 C
LCD Zeile 2Feuchte: 65 %
🟢 Grüne LED18–25°C – angenehm
🟡 Gelbe LED25–30°C – warm
🔴 Rote LEDüber 30°C – zu heiß
1️⃣ DHT11 auslesen (→ Karte 16)
2️⃣ LCD einrichten (→ Karte 18)
3️⃣ LED-Logik mit if / else if
4️⃣ Alles zusammenfügen & testen
🚀 Schreibe saubere Funktionen: void zeigeAufLCD() und void aktualisiereLEDs(). Erkläre der Klasse, wie der DHT11 Temperatur misst!
20 „Einparkhilfe" – Ultraschall, Buzzer & LEDs
Klasse 8 ⏱ 60 Min Projekt ⭐⭐⭐⭐⭐
Wie beim echten Auto: Je näher ein Objekt, desto schneller piept es und desto mehr LEDs leuchten!
Arduino Uno 1× HC-SR04 1× Buzzer (passiv) 3× LED (grün/gelb/rot) + 3× 220Ω Breadboard + Kabel
AbstandLEDTon
> 30 cm🟢 GrünAus
15–30 cm🟡 GelbLangsam piepen
5–15 cm🔴 RotSchnell piepen
< 5 cm🔴🟡🟢 AlleDauerton
int messeEntfernung() {
  digitalWrite(9, LOW);  delayMicroseconds(2);
  digitalWrite(9, HIGH); delayMicroseconds(10);
  digitalWrite(9, LOW);
  return pulseIn(10, HIGH) * 0.034 / 2;
}

void loop() {
  int d = messeEntfernung();
  if      (d > 30) { /* grün, kein Ton */ }
  else if (d > 15) { /* gelb, langsam  */ }
  else if (d > 5)  { /* rot, schnell   */ }
  else             { /* alle, Dauerton */ }
}
🚀 Abschluss-Challenge: Präsentiere dein Gerät! Erkläre: Wie funktioniert Ultraschall? Was ist PWM?