Arduino-Sonnenblume: Elektronischer Sonnen-Tracker selbst bauen
Bauteile
- 1× Arduino Uno (oder Crowduino ATmega328)
- 1× Base Shield V2 (z. B. Seeed / Crowtail)
- 4× Lichtsensor (Crowtail / RobotGeek / LDR-Modul)
- 2× Lineares Potentiometer (Crowtail, 10 kΩ) – für Reaktionszeit & Servogeschwindigkeit
- 1× Pan-Tilt-Modul (2× 9G-Servo, 180° horizontal & vertikal)
- 6× 3-polige Crowtail-Kabel
- Bastelmaterial: 2× Pappe, 1× Styroporplatte, 1× Holzstab, Heißkleber, Schere/Cutter
- Stromversorgung: USB-Powerbank oder DC-Netzteil (5 V)
Software
- Arduino IDE
- Servo-Bibliothek (Standard)
Idee & Prinzip
Vier Lichtsensoren (oben-links, oben-rechts, unten-links, unten-rechts) messen Helligkeit. Der Arduino berechnet Mittelwerte (oben/unten, links/rechts) und steuert die Pan-Tilt-Servos so nach, dass die Differenzen minimiert werden – die „Blüte“ (Pappe am Stab) dreht sich stets zur hellsten Lichtquelle. Zwei Potentiometer justieren Toleranz (Toleranzschwelle) und Verzögerung (Reaktionszeit).
Mechanischer Aufbau
- Blüte: Zwei Pappstücke kreuzweise verkleben → Stab als Stiel ankleben (hält Blüte & Sensoren).
- Sensorhalter: 4 Löcher in Styroporplatte bohren (Sensoren 1–4), Mittelloch für Stab. Sensoren einsetzen, nummerieren (1=unten-links, 2=unten-rechts, 3=oben-links, 4=oben-rechts). Stab mit Heißkleber fixieren.
- Verkabelung: Crowtail-Kabel an Sensoren, mit Heißkleber sichern.
- Pan-Tilt: Stab an Pan-Tilt-Halterung befestigen (Ausrichtung beachten: Sensoren 1/2 unten). Solarpaneele (Deko) auf Styropor kleben.
Elektronik & Verdrahtung
- Arduino + Base Shield stapeln.
- Sensoren an Shield: Kabel 1→A0, 2→A1, 4→A2, 3→A3 (Reihenfolge beachten!).
- Potentiometer: Poti 1→A4 (Verzögerung), Poti 2→A5 (Servogeschwindigkeit).
- Pan-Tilt: Horizontaler Servo (unten)→D9, Vertikaler Servo (oben)→D10.
- Code hochladen (vor Verkabelung der Sensoren/Potis am Shield).
Code-Logik (Kern)
// LDR an A0..A3
lt = analogRead(A2); // oben-links
rt = analogRead(A3); // oben-rechts
ld = analogRead(A1); // unten-links
rd = analogRead(A0); // unten-rechts
avt = (lt + rt) / 2; // Mittelwert oben
avd = (ld + rd) / 2; // Mittelwert unten
avl = (lt + ld) / 2; // Mittelwert links
avr = (rt + rd) / 2; // Mittelwert rechts
dvert = avt - avd; // Differenz vertikal
dhoriz = avl - avr; // Differenz horizontal
tol = analogRead(A5) / 4; // Toleranz (0..255)
dtime = analogRead(A4) / 20; // Verzögerung ms
if (abs(dvert) > tol) { // vertikal nachführen
if (avt > avd) servov++; else servov--;
servov = constrain(servov, 0, 180);
vertical.write(servov);
}
if (abs(dhoriz) > tol) { // horizontal nachführen
if (avl > avr) servoh--; else servoh++;
servoh = constrain(servoh, 0, 180);
horizontal.write(servoh);
}
delay(dtime);
Test & Betrieb
In dunklem Raum Taschenlampe/Handy-LED anschalten – die Blüte folgt dem Licht. Potentiometer justieren: A4 (Verzögerung) höher = ruhiger, A5 (Toleranz) höher = weniger Nervosität. Stromversorgung per Powerbank (mobil) oder Netzteil (stationär).
Erweiterungen
- Echte Solarzelle zur Stromversorgung (MPPT-Lader)
- Datologging (SD-Karte, Uhrzeit, Winkel)
- Mehrere Blüten an einem Mast (Array-Tracking)
- Wetterfestes Gehäuse für Außeneinsatz
Dateien
- Code: CODE FOR ARDUINO SUNFLOWER.ino (Arduino)
- Schaltplan & Aufbau-Fotos (Bilder)
Herstellungsprozess
- Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
- Klassisches Pong-Spiel auf Arduino UNO mit OLED-Display bauen – Schritt-für-Schritt-Tutorial
- Arduino Audio-Frequenz-Detektor – Lauteste Schallpeaks mit hochsensiblem Modul messen
- Selbstbau-Tamagotchi: Digitales Haustier mit Arduino
- Elektronisches Chamäleon: Arduino Nano RGB LED & Farbsensor Projekt
- Intelligenter kabelloser Lichtschalter-Controller: Arduino-basierter Fernschalter-Manipulator
- Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
- Intelligente, bewegungsaktivierte Wasserpistole mit Arduino Nano
- Zuverlässigen Arduino-Countdown-Timer mit SparkFun 7-Segment-Display bauen
- Smartes Check-In-System für Hackerspaces – Arduino Mega, RFID (RC522) & Node.js