Sensoren: wie ein MCU die Welt liest 🌡️
Ein MCU ohne Sensoren ist wie ein Mensch mit Kopfhörern und Augenklappe — er kann zwar denken, kriegt aber nichts mit. Auf dieser Page lernst du die 4 Hauptarten, wie Sensoren Daten an den MCU schicken: Digital, Analog, I2C und SPI. Plus: ein Sensor-Zoo, damit du weisst, was du wann nimmst.
01Wie redet ein Sensor mit dem MCU?
Sensoren sind kleine Spezialisten — einer für Temperatur, einer für Licht, einer für Beschleunigung. Aber wie schicken sie ihre Daten an den MCU? Vier Hauptwege:
🔁 Digital 1 Pin
Sensor sagt nur „JA/NEIN" — z.B. PIR-Bewegungsmelder, Reedkontakt, Endschalter. Schlechteste Auflösung, einfachste Verkabelung.
digitalRead()📊 Analog 1 Pin
Sensor gibt eine variable Spannung aus (0V – Vcc). Der MCU misst sie mit ADC. Klassiker: Potentiometer, LDR, einfache Temperatursensoren.
🔗 I2C 2 Pins
Bus-Protokoll: viele Sensoren teilen sich 2 Drähte (SDA + SCL). Jeder Sensor hat eine eigene Adresse. Geschwindigkeit: 100 kHz – 1 MHz.
⚡ SPI 4 Pins
Hochgeschwindigkeits-Bus: 4 Leitungen (MOSI, MISO, SCK, CS). Jeder Sensor hat ein eigenes CS-Kabel — der MCU wählt aus.
02ADC: wie aus Spannung eine Zahl wird
„Analog lesen" heisst, der MCU wandelt eine analoge Spannung in eine digitale Zahl um — mit dem Analog-Digital-Converter (ADC). So funktioniert's:
Beispiel: Photo-Widerstand (LDR) am Arduino Uno
Der LDR ändert seinen Widerstand je nach Licht — von ~1 kΩ (hell) bis ~1 MΩ (dunkel). Du verschaltest ihn mit einem festen Widerstand zu einem Spannungsteiler. Das Resultat: eine Spannung zwischen 0V und 5V am Analog-Pin A0.
Der Arduino ADC hat 10 Bit Auflösung = 2¹⁰ = 1024 Stufen. Bei 5V: jede Stufe ist ~4.88 mV. analogRead(A0) gibt dir einen Wert zwischen 0 und 1023.
03Live-Demo: I2C-Bus in Action 🔗
Schau zu, wie der MCU (Master) über zwei einzige Drähte mit drei verschiedenen Sensoren redet — jeder hat seine eigene Adresse:
04Sensor-Zoo: die wichtigsten 9 zum Bookmarken
Diese Sensoren findest du in fast jedem Maker-Projekt. Schnellüberblick mit Protokoll + Lab-Preis:
DHT22 1-Wire
Temperatur (-40 bis 80°C) + Luftfeuchte. Klassiker für Wetterstationen.
CHF 6MPU6050 I2C
6-Achs-IMU: 3× Beschleunigung + 3× Drehrate. Für Drohnen, Wearables.
CHF 3VL53L0X I2C
Time-of-Flight Distanz-Sensor. 0–2 m, ±3% genau. Laser-basiert.
CHF 8HC-SR04 Digital
Ultraschall-Distanz. 2 cm – 4 m. Klassiker für Roboter.
CHF 2BMP280 I2C/SPI
Druck + Temperatur. Daraus → Höhe (±1 m). Für Drohnen / Höhenmesser.
CHF 4BH1750 I2C
Lichtstärke in Lux (0–65 000). Genauer als ein einfacher LDR.
CHF 4PIR HC-SR501 Digital
Bewegungsmelder. Reagiert auf Wärme-Veränderung. Klassiker für Alarme.
CHF 3MQ-2 Analog
Gas-Sensor (Rauch, LPG, Methan). Liefert Analog-Wert, nicht super präzise.
CHF 3Bodenfeuchte Analog
Misst Feuchtigkeit der Erde. Mega für Pflanzen-Monitor-Projekte.
CHF 2055 Pro-Tipps, die Stunden Debug ersparen
Die typischen Stolpersteine, in die jeder Maker einmal tritt:
Pull-Up-Widerstände bei I2C
Die SDA + SCL-Leitungen brauchen meistens 4.7 kΩ Pull-Ups zu Vcc. Manche Sensor-Module haben sie eingebaut, manche nicht. Wenn der Bus nicht reagiert → das prüfen.
Adresse mit i2cdetect finden
Sensor angeschlossen aber weisst die Adresse nicht? Auf RPi: i2cdetect -y 1. Auf Arduino: I2C-Scanner-Sketch. Zeigt alle aktiven Adressen.
Spannungen nicht mischen
3.3V-Sensor an 5V-MCU? Du brauchst einen Level-Shifter (BSS138, TXS0108). Sonst killst du den Sensor — manchmal still und langsam.
Kabel kurz halten
I2C-Bus wird ab ~50 cm Kabel-Länge wackelig. Bei längeren Strecken: I2C-Buffer-Chips (P82B96) verwenden, oder anderes Protokoll wählen.
Datenblatt lesen lohnt sich
Jeder Sensor hat ein PDF mit allen Specs. Klingt nerdig, ist aber Gold wert: zeigt min/max Spannungen, Timing-Diagramme, Code-Beispiele.
06Echtes Code-Beispiel: BMP280 mit Arduino
Druck + Temperatur lesen in 10 Zeilen — dank Adafruit-Library:
Adafruit_*. Library-Manager öffnen → Sensor-Namen suchen → installieren → Beispiel-Sketch laden. So sparst du Stunden an Datenblatt-lesen.
🎯Key Takeaways aus Page 05
- 4 Wege, wie Sensoren reden: Digital, Analog (ADC), I2C, SPI.
- I2C ist König: 2 Drähte, bis zu 127 Sensoren auf einem Bus. Standard heute.
- RPi hat keinen ADC — analoge Sensoren brauchen externen MCP3008-Chip.
- 9 must-know Sensoren: DHT22, MPU6050, VL53L0X, HC-SR04, BMP280, BH1750, PIR, MQ-2, Bodenfeuchte.
- Pull-Ups + Level-Shifter sind die zwei häufigsten Stolpersteine beim Verkabeln.
- Libraries (Adafruit_*) sparen dir Stunden. Library-Manager nutzen!