Inhaltsverzeichnis:
- Schritt 1: Teileliste
- Schritt 2: Programmieren der Digispark-Karte
- Schritt 3: Leistungsreduzierung
- Schritt 4: Reset-Taste
- Schritt 5: Lautsprecher
- Schritt 6: Betrieb
Video: Arduino Open Window Detector - für den Winter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Draußen wird es kalt, aber manchmal brauche ich frische Luft in meinen Zimmern. Also öffne ich das Fenster, verlasse den Raum, schließe die Tür und will in 5 bis 10 Minuten wiederkommen. Und nach ein paar Stunden fällt mir ein, dass das Fenster offen steht… Vielleicht wissen Sie das oder haben Kinder, die Ihnen diese Erfahrung machen.
Meine Lösung ist der Open Window Detector. Die Batterie hält über ein Jahr, also legen Sie sie einfach im Herbst ein und entfernen Sie sie im Frühjahr.
Schritt 1: Teileliste
- Digispark-Board von eBay.
- Alte Kopfhörer.
- Winziger Knopf zum Zurücksetzen.
- Anschlüsse für Lautsprecher - ansonsten ist eine Neuprogrammierung der Platine nicht möglich.
- Kabel.
- Zur Stromversorgung benötigen Sie:
AAA Batteriefach mit Ein-/Ausschalter. Sie können sogar verbrauchte Batterien verwenden, da das Modul bis zu 2,4 Volt arbeitet
ODER
Alter Lipo-Akku (dafür reichen schon 30% Kapazität) und falls noch nicht vorhanden, ein Ladegerät für Lipo-Akkus von eBay.
ODER
Ein Halter für CR2032 Knopfzelle
UND
1A Diode 1N4001 oder gleichwertig - oder was auch immer Sie in dieser Größe haben - für Verpolungsschutz
Schritt 2: Programmieren der Digispark-Karte
Treiberinstallation
Sie müssen den Digispark-Treiber installieren, bevor Sie das Board programmieren können. Laden Sie es hier herunter, öffnen Sie es und führen Sie " InstallDrivers.exe " aus.
Installation der Arduino-IDE
Installieren Sie das Digispark-Board für die Arduino-IDE wie in https://digistump.com/wiki/digispark/tutorials/connecting. beschrieben
Ich empfehle, als Digispark-Board-URL in Arduino File/Preferences das neue https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json anstelle von https://digistump.com/package_digistump_index.json zu verwenden und das zu installieren Digistump AVR Boards Version 1.6.8.
Da wir Strom sparen wollen, ist der Board-Takt in unserem Setup auf 1 MHz geschaltet () können Sie im Tools-Menü Digispark (1mhz - No USB) als Board auswählen.
Kompilieren und laden Sie das Programm auf das Board
Erstellen Sie in der Arduino IDE mit File/New eine neue Skizze und benennen Sie diese z. B. "OpenWindowAlarm". Kopieren Sie den Code von OpenWindowAlarm.ino
ODER
Laden Sie das Repository herunter und extrahieren Sie es. Öffnen Sie die Skizze mit Datei -> Öffnen… und wählen Sie den Ordner „OpenWindowAlarm“.
Kompilieren und hochladen. Beachten Sie, dass das Hochladen nicht funktioniert, wenn der Lautsprecher angeschlossen ist. Wenn alles gut funktioniert, blinkt die eingebaute LED des Digispark 5 Mal (für die 5 Minuten Alarmverzögerung) und beginnt dann nach 8 Sekunden mit einem Intervall von 24 Sekunden zu blinken, um jeden Temperaturmesswert anzuzeigen.
Schritt 3: Leistungsreduzierung
Unser Digispark-Board verwendet 5 mA bei 3,0 Volt. Mit 2 AAA-Batterien (1000mAh) läuft es 8 Tage lang. Es ist jedoch möglich, den Stromverbrauch in 3 Schritten auf 26 µA zu reduzieren.
- Das Deaktivieren der Power-LED durch Brechen des Kupferdrahts, der die Power-LED mit der Diode mit einem Messer verbindet, oder das Entfernen / Deaktivieren des 102-Widerstands spart 1,3 mA.
- Das Entfernen des VIN-Spannungsreglers spart 1,2 mA.
-
Durch Trennen des USB-Pullup-Widerstands (gekennzeichnet mit 152) von 5 Volt (VCC) werden die restlichen 2,5 mA gespart. Trennen Sie es, indem Sie den Kupferdraht an der Seite des Widerstands durchbrechen, die auf den ATTiny zeigt. Dadurch wird die USB-Schnittstelle deaktiviert und damit die Möglichkeit, das Digispark-Board über USB zu programmieren. Um es wieder zu aktivieren, aber trotzdem Strom zu sparen, verbinden Sie den Widerstand (markiert mit 152) direkt mit dem USB 5 Volt, der an der Außenseite der Diode leicht zugänglich ist.
Die richtige Seite der Diode kann mit einem Durchgangsprüfer gefunden werden. Eine Seite dieser Diode ist mit Pin 8 des ATtiny (VCC) verbunden. Die andere Seite ist an USB 5 Volt angeschlossen.
Jetzt wird der USB-Pullup-Widerstand nur aktiviert, wenn das Digispark-Board an USB angeschlossen ist, z. B. während der Programmierung und das Board verbraucht 26 µA im Ruhezustand.
Wenn Sie die Sicherungen umprogrammieren, können Sie einen Stromverbrauch von 6 µA erzielen.
Um die Sicherungen umzuprogrammieren, benötigen Sie einen ISP (der mit einem Arduino gebaut werden kann) und einen Verbindungsadapter. Zum Umprogrammieren können Sie dieses Skript verwenden.
Schritt 4: Reset-Taste
Wenn Sie die Stromversorgung zum Zurücksetzen des Alarms nicht unterbrechen möchten, schließen Sie eine Reset-Taste zwischen PB5 und Masse an. Ich tat dies, indem ich die nicht verbundene VIN-Kupferfläche mit PB5 verband und den Reset-Knopf direkt an das VIN-Stiftloch und die große Massefläche des entfernten VIN-Spannungsreglers lötete.
Wenn Sie die 5 Sekunden Wartezeit auf die USB-Verbindung nach dem Reset loswerden möchten, können Sie den Micronucleus-Kernel auf dem ATtiny85 ändern. Führen Sie das Skript "0_Burn_upgrade-t85_recommended.cmd" aus und laden Sie dann die OpenWindowAlarm-Anwendung erneut mit der Arduino IDE.
Schritt 5: Lautsprecher
Ich habe ein altes Headset zerlegt und den Stecker mit dem Kabel verbunden.
Schritt 6: Betrieb
Um das Board zu verwenden, legen Sie es auf eine Fensterbank und schließen Sie es an eine Batterie an. Wenn die Temperatur auf der Fensterbank niedriger ist als die Temperatur, an der sich das Board ursprünglich befand, dauert es weitere 5 Minuten, um sich auf den neuen Startwert intelligent einzustellen.
Sie werden dann alarmiert, wenn Sie das Fenster länger als fünf Minuten geöffnet lassen.
Interner Betrieb
- Ein offenes Fenster wird erkannt, nachdem TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) Sekunden eine Temperatur gelesen wurde, deren Wert TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) niedriger ist als die Temperatur TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE_SECONDS (192 -> vor 3 Minuten und 12 Sekunden) Sekunden
- Die Verzögerung wird durch dreimaliges Schlafen im `SLEEP_MODE_PWR_DOWN` für einen Zeitraum von 8 Sekunden implementiert, um den Stromverbrauch zu reduzieren.
- Die Erkennung eines geöffneten Fensters wird durch ein längeres 20ms Blinken und ein kurzes Klicken alle 24 Sekunden angezeigt. Daher hat der interne Sensor eine Zeit von 3 Minuten, sich an die Außentemperatur anzupassen, um auch kleine Temperaturänderungen zu erfassen. Je größer die Temperaturänderung ist, desto früher ändert sich der Sensorwert und erkennt ein offenes Fenster.
-
`OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) Minuten nach Erkennung des offenen Fensters wird der Alarm aktiviert.
Der Alarm wird nicht gestartet oder ein aktivierter Alarm wird gestoppt, wenn die aktuelle Temperatur höher ist als die gemessene Mindesttemperatur (+ 1), d. h. das Fenster wurde bereits geschlossen.
- Der anfängliche Alarm dauert 10 Minuten. Danach wird es für 10 Sekunden mit einer zunehmenden Pause von 24 Sekunden auf 5 Minuten aktiviert.
- Alle VCC_MONITORING_DELAY_MIN (60) Minuten wird die Batteriespannung gemessen. Abhängig vom erkannten Batterietyp beim Einschalten (siehe VCC_VOLTAGE_LIPO_DETECTION (3,6 Volt)) wird eine Batteriespannung unter VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) oder VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Millivolt durch Piepen und Blinken der LED alle 24 Sekunden angezeigt. Nur der Piepton (nicht der Blitz) ist deutlich länger als der Piepton bei einer offenen Fenstererkennung.
- Nach dem Einschalten beträgt die inaktive Einschwingzeit 5 Minuten. Wenn die Platine während der Einschwingzeit kälter wird, werden 4:15 (oder 8:30) Minuten hinzugefügt, um Fehlalarme nach dem Einschalten zu vermeiden.
Empfohlen:
So wählen Sie den richtigen Komponenten-Footprint: 3 Schritte
So wählen Sie den richtigen Komponenten-Footprint: Ein Footprint- oder Land-Muster ist die Anordnung von Pads (bei der Oberflächenmontage-Technologie) oder Durchgangslöchern (bei der Durchgangsloch-Technologie), die verwendet werden, um eine Komponente physisch mit einer Leiterplatte zu verbinden und elektrisch mit ihr zu verbinden . Das Landmuster auf einem Zirku
So verdrahten und verwenden Sie den Lichtsensor GY-30 BH1750 (GY30 / GY302) – Einfach – Arduino-Projekt
So verdrahten und verwenden Sie den Lichtsensor GY-30 BH1750 (GY30 / GY302) - Einfach - Arduino-Projekt!: In diesem Tutorial erfahren Sie, wie Sie den Lichtintensitätssensor GY-30 BH1750 schnell und einfach mit Arduino verwenden
Programmierung des Open DSKY: 5 Schritte (mit Bildern)
Programmierung des Open DSKY: Willkommen zu unseren laufenden Instructables zur Programmierung Ihres Open DSKY. Stellen Sie sicher, dass Sie wiederkommen, da dieses Instructable weiter wachsen wird, da wir ständig neues Programmiermaterial produzieren und veröffentlichen. Also folgen Sie ihm, mögen Sie es und bevorzugen Sie es. Diese Videoserie
Ultraschall-Regenmesser: Raspebbery Pi Open Weather Station: Teil 1: 6 Schritte
Ultraschall-Regenmesser: Raspebbery Pi Open Weather Station: Teil 1: Kommerziell verfügbare IoT (Internet of Things) Wetterstationen sind teuer und nicht überall verfügbar (wie in Südafrika). Extreme Wetterbedingungen treffen uns. SA erlebt die härteste Dürre seit Jahrzehnten, die Erde heizt sich auf und Ackerbau
So richten Sie die Arduino-IDE ein, um mit den Tinusaur-Boards zu arbeiten: 3 Schritte
So richten Sie die Arduino-IDE für die Arbeit mit den Tinusaur-Boards ein.: Dies ist eine kurze Anleitung, wie Sie die Arduino-IDE für die Arbeit mit den Tinusaur-Boards einrichten . Der einzige Unterschied ist, dass es auf der Liste der Boards als Tinusau erscheint