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

AnschlussMotorAufgabe
S1180°-ServoTemperatur-Zeiger
S2180°-ServoLuftdruck-Zeiger
S3180°-ServoFeuchte-Zeiger
S4360°-ServoWettersymbol-Rad — zeigt eine grobe Wetterlage
S5360°-ServoWind-Anzeige — dreht, solange der Lüfter läuft
S6180°-ServoFensterflügel — öffnet einen Spalt, wenn der Lüfter läuft
STEPPERSchrittmotorJalousie — fährt schrittweise zu, je heißer es wird
DCDC-MotorLü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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  7. 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.