MODE 2 — CLIMATE
Easy · 1h · Fast kostenlos
Ziel & Anwendung
Temperatur, Luftfeuchtigkeit, Druck und Helligkeit live auf Servo-Zeigern und Display — plus automatischer DC-Lüfter wenn es zu warm wird.
- Mehrere Sensordaten gleichzeitig auf verschiedene Ausgaben mappen.
- Encoder als interaktiven Grenzwert-Regler nutzen.
- Automatische Aktor-Reaktion (DC-Motor) auf Schwellwerte programmieren.
Anschluss & Funktion
Motoren am Board
| Anschluss | Motor | Aufgabe |
|---|---|---|
| S1 | 180°-Servo | Temperatur-Zeiger |
| S2 | 180°-Servo | Luftdruck-Zeiger |
| S3 | 180°-Servo | Feuchte-Zeiger |
| S4 | 360°-Servo | Wettersymbol-Rad — zeigt eine grobe Wetterlage |
| S5 | 360°-Servo | Wind-Anzeige — dreht, solange der Lüfter läuft |
| S6 | 180°-Servo | Fensterflügel — öffnet einen Spalt, wenn der Lüfter läuft |
| STEPPER | Schrittmotor | Jalousie — fährt schrittweise zu, je heißer es wird |
| DC | DC-Motor | Lüfter — startet automatisch bei Überschreiten des Grenzwerts |
Materialliste
- 3 Kartonstreifen ca. 8 × 1 cm als Zeiger für S1/S2/S3
- 1 Kartonbasis A5 für die Servo-Anzeige
- Optional: kleines Windrad aus Papier für den DC-Lüfter
Step-by-Step Tutorial
Drei Zeiger-Servos vorbereiten
Schneide drei leichte Kartonpfeile (7 × 1 cm). Schraube das Servo-Horn auf S1, klebe Zeiger flächig auf das Horn. Wiederhole für S2 und S3. Klebe alle drei Servos auf die Kartonbasis und beschrifte sie.
Check: S1 = Temperatur, S2 = Luftdruck, S3 = Luftfeuchtigkeit — jeder mit Kartonzeiger
Tipp: Beschrifte die Basis mit den Einheiten: °C, hPa, % — dann weiß man sofort welcher Zeiger was anzeigt.
Winkelskala aufzeichnen
Fahre jeden Servo in die Endpositionen (1000µs und 2000µs) und markiere diese Punkte mit dem Marker auf der Basis. Zeichne Zwischenwerte ein — so entsteht eine analoge Anzeigeskala.
Check: Min/Max-Positionen der Zeiger sind klar markiert
Tipp: S1 (Temperatur): 0°C bei 1000µs, 50°C bei 2000µs. S3 (Feuchte): 0% bei 1000µs, 100% bei 2000µs.
Optional: Windrad für DC-Ausgang bauen
Falte ein kleines Papier-Windrad (ca. 5 cm Durchmesser). Stecke den Mitnehmer auf die DC-Motor-Achse und schraubt oder klebe das Windrad auf den Mitnehmer. Der Motor läuft automatisch wenn Temperatur > Grenzwert.
Check: Windrad sitzt fest auf dem DC-Motor-Mitnehmer und dreht frei
Tipp: Den Plastik-Mitnehmer des DC-Motors zuerst aufstecken, dann das Papier-Windrad mit Heißkleber darauf befestigen — nie direkt auf die Motorwelle kleben.
Leichtgängigkeits-Test
VOR dem Einschalten alle drei Zeiger von Hand durchdrehen. Erst wenn alle leichtgängig sind, ProtoPeaks einschalten.
Check: Alle Zeiger drehen sich hand-leicht von Anschlag zu Anschlag
Tipp: Ein klemmender Zeiger zeigt an, dass er zu schwer oder schief sitzt.
MODE 2 aktivieren und Grenzwert setzen
EasySensors → MODE 2 auswählen. Display zeigt alle Messwerte. Encoder drehen um den Temperatur-Grenzwert einzustellen. Wenn Temperatur den Grenzwert überschreitet: DC-Motor (Lüfter) startet automatisch und Buzzer gibt LONG_BLINK.
Check: Zeiger bewegen sich, Display zeigt Temp/Feuchte/Druck. DC-Motor startet wenn Temp > Grenzwert.
Tipp: Encoder dreht den Temperatur-Grenzwert (15–45°C). Anfangs auf 28°C voreingestellt.
Wettersymbol, Jalousie und Fensterflügel anbringen
Klebe eine kleine Scheibe auf den Wettersymbol-Servo, die je nach Temperatur/Feuchte-Kombination eine andere Position zeigt. Baue einen Fensterflügel, der bei laufendem Lüfter einen Spalt öffnet, und eine kleine Jalousie, die der Schrittmotor je nach Temperatur zufährt.
Check: Wettersymbol-Rad, Fensterflügel und Jalousie-Zeiger bewegen sich alle frei von Hand
LDR-Wert beobachten
Halte die Hand über den LDR-Sensor: der Helligkeitswert auf dem Display ändert sich. Dieser Wert steht als `LDR`-Variable zur freien Verwendung bereit.
Check: Helligkeit ändert sich wenn du die Hand über den LDR hältst
Tipp: Der LDR-Wert erscheint auf dem Display. Er wird aktuell nicht auf einen Servo gemappt — ideal für eigene Erweiterungen.
Troubleshooting
- Zeiger bewegt sich kaum obwohl Temperatur variiert — mapTemperature mappt 0–50°C auf 1000–2000µs. Im Zimmer (20–25°C) ist das der mittlere Bereich — daher kleiner Ausschlag. Hand nah an BME280 halten zum Testen.
- DC-Motor startet nicht — Grenzwert mit dem Encoder weit genug absenken (unter aktuelle Raumtemperatur). Encoder im Uhrzeigersinn drehen senkt den Wert.
- Display zeigt '--' für Druck oder Feuchte — BME280 nicht erkannt. I2C-Verbindung prüfen. Board neu starten.
Modifikationen & Sicherheit
- Pro-Tipp: Zeiger in verschiedenen Farben beschriften (rot = Temp, blau = Luftdruck, grün = Feuchte).
- Erweiterung: LDR-Wert auf S4 mappen für eine Helligkeits-Anzeige als vierter Zeiger.
- Sicherheit: DC-Motor-Windrad nicht zu groß bauen — unter 6 cm Durchmesser bleiben.
Wichtige Code-Teile
// S1=Temp, S2=Luftdruck, S3=Feuchte (180°-Zeiger)
servocontroller.setServoPulse(1, mapTemperature);
servocontroller.setServoPulse(2, mapPressure);
servocontroller.setServoPulse(3, map(constrain((int)humiditiy, 0, 100), 0, 100, 1000, 2000));
// Encoder stellt Temperatur-Grenzwert ein
static float tempLimit = 28.0f;
tempLimit = constrain(tempLimit + EncoderPos * 0.1f, 15.0f, 45.0f);
EncoderPos = 0;
// DC-Lüfter über Grenzwert, Buzzer-Alarm
bool hot = (temperature > tempLimit);
setMotorspeed(hot ? 60 : 0);
if(hot) Buzzer.setMode(LONG_BLINK); else Buzzer.setValue(0);Ähnliche Projekte
- MODE 1 — GYRO TRACK — Drei Servos spiegeln die Lage von ProtoPeaks in Echtzeit auf allen Achsen — kippe das Board, die Zeiger folgen sofort. Bei Neigung über 45° warnt der Buzzer.
- MODE 10 — System-Check — Drei Sensoren werden gleichzeitig überwacht — zu heiß, zu nah oder zu schief, und die Alarm-Flagge wedelt los. Ein Zeiger verrät sofort, welcher der drei Grenzwerte gerade ausgelöst hat.