🍁 Raspberry Pi Projekt: Herbst-Lichterkette mit Temperatur- und Helligkeitssensor
Der Herbst bringt lange Abende und gemütliche Stimmung ins Haus. Mit einem Raspberry Pi kannst du eine smarte Lichterkette bauen, die auf **Raumtemperatur** und **Umgebungshelligkeit** reagiert. Die LED-Kette passt ihre Helligkeit automatisch an, leuchtet warm, wenn es draußen dunkel wird, und simuliert eine gemütliche Herbststimmung. Dieses Projekt verbindet **Elektronik, Sensorik, Python-Programmierung** und kreatives Basteln.
🎯 Projektidee
Die Idee: Eine LED-Lichterkette, gesteuert vom Raspberry Pi, reagiert auf zwei Faktoren:
- Helligkeitssensor (LDR) – LEDs dimmen oder leuchten heller je nach Tageslicht. ☐
- Temperatursensor (DS18B20) – bei kälteren Temperaturen wird ein warmes Licht aktiviert, bei wärmeren Temperaturen kühleres Licht. ☐
So entsteht eine dynamische Herbst-Lichtstimmung, die sich automatisch an Tages- und Nachtverlauf anpasst.
🧰 Benötigte Komponenten
- Raspberry Pi 3 oder 4 ☐
- DS18B20 Temperatursensor ☐
- LDR (Lichtabhängiger Widerstand) ☐
- 10k Ohm Widerstand für LDR ☐
- WS2812b LED-Leiste oder einzelne adressierbare LEDs ☐
- 5 V Netzteil für LEDs ☐
- Jumper-Kabel ☐
- Breadboard ☐
- Python 3 + Bibliothek
rpi_ws281x☐ - Optional: Dekoration wie Blätter, Zweige oder Glasröhren ☐
🔧 Aufbau und Anschluss
Jede Verbindung Schritt für Schritt mit Checkboxen für Übersicht:
- Verbinde den DS18B20 Temperatursensor mit 3,3 V am Raspberry Pi. ☐
- Schließe GND vom DS18B20 an Masse. ☐
- Verbinde DATA vom DS18B20 mit GPIO4 und Pull-up-Widerstand 4,7k Ohm zu 3,3 V. ☐
- Verbinde den LDR mit 3,3 V auf der einen Seite. ☐
- Die andere Seite des LDR geht über einen 10k Ohm Widerstand auf GND. ☐
- Verbinde den Mittelknoten (zwischen LDR und Widerstand) mit GPIO27 für die Messung. ☐
- LED-Leiste Datenleitung mit GPIO18 verbinden über 220 Ohm Widerstand. ☐
- LED-Leiste Masse an GND und +5 V an Netzteil. ☐
- Optional: Dekoriere LEDs hinter Blättern, Glasröhren oder Holzrahmen. ☐
💻 Python-Code
Der Raspberry Pi liest LDR- und Temperatursensor aus und passt die Helligkeit der LED-Lichterkette automatisch an. Die LEDs leuchten warmorange bei kalten Temperaturen und bei Dunkelheit heller.
import time
import glob
import RPi.GPIO as GPIO
from rpi_ws281x import PixelStrip, Color
# GPIO Setup
GPIO.setmode(GPIO.BCM)
LDR_PIN = 27
# LED Setup
LED_COUNT = 30
LED_PIN = 18
LED_FREQ_HZ = 800000
LED_DMA = 10
LED_BRIGHTNESS = 150
LED_INVERT = False
strip = PixelStrip(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS)
strip.begin()
# DS18B20 Sensor initialisieren
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp():
with open(device_file, 'r') as f:
lines = f.readlines()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
with open(device_file, 'r') as f:
lines = f.readlines()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_c = float(lines[1][equals_pos+2:]) / 1000.0
return temp_c
def read_ldr():
# Einfache LDR-Widerstandsmessung mit Spannungsteiler
GPIO.setup(LDR_PIN, GPIO.OUT)
GPIO.output(LDR_PIN, GPIO.LOW)
time.sleep(0.1)
GPIO.setup(LDR_PIN, GPIO.IN)
start_time = time.time()
while(GPIO.input(LDR_PIN) == GPIO.LOW):
pass
duration = time.time() - start_time
return duration
def autumn_light(strip, brightness):
# Farbtemperatur anpassen
temp = read_temp()
if temp < 20:
color = Color(255, 120, 0) # warmorange
else:
color = Color(255, 200, 150) # helles Weiß-Orange
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.setBrightness(brightness)
strip.show()
try:
while True:
ldr_value = read_ldr()
brightness = min(255, max(50, int((ldr_value * 50)))) # Helligkeit anpassen
autumn_light(strip, brightness)
time.sleep(0.5)
except KeyboardInterrupt:
strip.clear()
strip.show()
GPIO.cleanup()
📈 Erweiterungsmöglichkeiten
- Mehrere Sensoren für unterschiedliche Räume einsetzen. ☐
- Animationen wie flackerndes Licht einbauen. ☐
- Weboberfläche oder Smartphone-Steuerung via Flask/MQTT. ☐
- Farbverläufe dynamisch nach Temperatur oder Tageszeit. ☐
- LED-Leiste mit Herbstdekoration kombinieren: Blätter, Zapfen, kleine Figuren. ☐
🪴 Bastelideen
- LEDs in Glasröhren mit getrockneten Herbstblättern für stimmungsvolle Optik. ☐
- Blätter oder Papierblumen auf Holzrahmen für LED-Lichterrahmen kleben. ☐
- Optional Duftkapseln oder Zimtstangen nahe der LEDs für herbstliche Aromen. ☐
- Mehrere Ketten für Flur, Wohnzimmer oder Fenster bauen. ☐
💭 Tipps für Anfänger
- Teste jeden Sensor einzeln, bevor alles zusammengebaut wird. ☐
- Beginne mit wenigen LEDs, um Stromverbrauch zu prüfen. ☐
- Python-Skript mit
sudo python3starten. ☐ - Netzteil und Raspberry Pi getrennt halten, um Spannungsspitzen zu vermeiden. ☐
- Experimente mit Helligkeit, Farbtemperatur und Sensorwerte machen. ☐
🌟 Fazit
Die Herbst-Lichterkette mit Temperatur- und Helligkeitssensor ist ein perfektes Projekt für die dunkle Jahreszeit. Sie zeigt praxisnah den Umgang mit Raspberry Pi, Sensorik und LED-Programmierung. Das Ergebnis ist eine interaktive, stimmungsvolle Lichtquelle, die automatisch auf Umgebung und Temperatur reagiert und die Wohnung herbstlich beleuchtet.
