Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Venku začíná být zima, ale někdy potřebuji na pokoji čerstvý vzduch. Takže otevřu okno, opustím místnost, zavřu dveře a chci se vrátit za 5 až 10 minut. A po několika hodinách si pamatuji, že je okno otevřené … Možná to víte nebo máte děti, které vám dávají tento zážitek.
Mým řešením je detektor otevřeného okna. Baterie vydrží více než rok, stačí ji umístit na podzim a na jaře vyjmout.
Krok 1: Seznam dílů
- Deska Digispark od eBay.
- Stará sluchátka.
- Drobné tlačítko pro reset.
- Konektory pro reproduktor - jinak není možné desku přeprogramovat.
- Drát.
- Pro napájení potřebujete:
Pouzdro na baterie AAA s vypínačem. Můžete dokonce použít vybité baterie, protože modul bude pracovat až do 2,4 V
NEBO
Stará lipo baterie (k tomuto účelu stačí i 30% kapacita) a pokud ji ještě nemáte, nabíječka pro lipo baterie od eBay.
NEBO
Držák na knoflíkovou buňku CR2032
A
1A dioda 1N4001 nebo ekvivalent - nebo cokoli, co máte v této velikosti - pro ochranu proti přepólování
Krok 2: Programování desky Digispark
Instalace ovladače
Před programováním desky musíte nainstalovat ovladač Digispark. Stáhněte si jej zde, otevřete jej a spusťte „InstallDrivers.exe“.
Instalace Arduino IDE
Nainstalujte desku Digispark pro Arduino IDE podle popisu v
Doporučuji použít jako URL desky Digispark v Arduino File/Preferences novou https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json místo https://digistump.com/package_digistump_index.json a nainstalovat Desky Digistump AVR verze 1.6.8.
Protože chceme šetřit energii, hodiny na desce jsou v našem nastavení přepnuty na 1 MHz () můžete v nabídce Nástroje zvolit jako desku Digispark (1 MHz - bez USB).
Zkompilujte a nahrajte program na tabuli
V Arduino IDE vytvořte novou skicu pomocí File/New a pojmenujte ji např. "OpenWindowAlarm". Zkopírujte kód z OpenWindowAlarm.ino
NEBO
Stáhněte a rozbalte úložiště. Otevřete skicu pomocí Soubor -> Otevřít… a vyberte složku „OpenWindowAlarm“.
Zkompilovat a nahrát. Pamatujte, že pokud je připojen reproduktor, nahrávání nebude fungovat. Pokud vše funguje dobře, vestavěná LED dioda Digispark 5krát zabliká (pro 5minutové zpoždění alarmu) a poté začne blikat po 8 sekundách v intervalu 24 sekund, aby signalizovala každé odečítání teploty.
Krok 3: Snížení výkonu
Naše deska Digispark využívá 5mA při 3, 0 voltech. Se 2 bateriemi AAA (1 000 mAh) poběží 8 dní. Je však možné snížit spotřebu energie až na 26 µA ve 3 krocích.
- Deaktivace LED napájení přerušením měděného drátu, který spojuje LED diodu napájení s diodou nožem, nebo odstraněním / deaktivací rezistoru 102 ušetří 1,3 mA.
- Sejmutí regulátoru napětí VIN ušetří 1,2 mA.
-
Odpojením odporu USB Pullup (označeného 152) z 5 V (VCC) se ušetří zbývajících 2,5 mA. Odpojte jej přerušením měděného drátu na straně rezistoru, který ukazuje na ATTiny. Tím se deaktivuje rozhraní USB a následně možnost naprogramovat desku Digispark přes USB. Chcete -li jej znovu povolit, ale přitom ušetřit energii, připojte odpor (označený 152) přímo k USB 5 voltům, které jsou snadno dostupné na vnější straně diody.
Správnou stranu diody najdete pomocí testeru spojitosti. Jedna strana této diody je připojena k pinu 8 ATtiny (VCC). Druhá strana je připojena k USB 5 voltům.
Nyní je USB pullup rezistor aktivován pouze v případě, že je deska Digispark připojena k USB, např. během programování a deska spotřebuje během spánku 26 µA.
Pokud přeprogramujete pojistky, můžete získat spotřebu energie 6 µA.
K přeprogramování pojistek potřebujete ISP (který lze sestavit pomocí Arduina) a připojovací adaptér. K přeprogramování můžete použít tento skript.
Krok 4: Tlačítko Reset
Pokud nechcete resetovat alarm, odpojte napájení, připojte resetovací tlačítko mezi PB5 a zem. Udělal jsem to tak, že jsem připojil nepřipojený měděný povrch VIN k PB5 a připájel resetovací tlačítko přímo do otvoru pro pin VIN a velkého povrchu země odstraněného regulátoru napětí VIN.
Pokud se chcete zbavit 5 sekund čekání na připojení USB po resetu, můžete na ATtiny85 změnit jádro mikrojádra. Spusťte skript „0_Burn_upgrade-t85_recommended.cmd“a poté znovu načtěte aplikaci OpenWindowAlarm pomocí Arduino IDE.
Krok 5: Reproduktor
Demontoval jsem starou náhlavní soupravu a připojil zástrčkový konektor ke kabelu.
Krok 6: Provoz
Chcete -li desku použít, umístěte ji na okenní parapet a připojte ji k baterii. Pokud je teplota na parapetu nižší než teplota, kde byla deska původně umístěna, bude trvat dalších 5 minut, než se inteligentně přizpůsobí nové počáteční hodnotě.
Pokud pak necháte okno otevřené déle než pět minut, budete znepokojeni.
Interní provoz
- Otevřené okno je detekováno po TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundách čtení teploty s hodnotou o TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) nižší než teplota TEMPERATURE_COMPARE_DISTANCE_SEMONS_SEKONY * s TEMPER
- Zpoždění je realizováno 3 krát spaním v `SLEEP_MODE_PWR_DOWN` po dobu 8 sekund, aby se snížila spotřeba energie.
- Detekce otevřeného okna je indikována delším 20ms blikáním a krátkým kliknutím každých 24 sekund. Interní senzor má proto čas 3 minuty na přizpůsobení vnější teplotě, aby zachytil i malé změny teploty. Čím větší je změna teploty, tím dříve se hodnota senzoru změní a detekuje otevřené okno.
-
`OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minut po detekci otevřeného okna je aktivován alarm.
Alarm se nespustí nebo se aktivovaný alarm zastaví, pokud je aktuální teplota vyšší než minimální naměřená teplota (+ 1), tj. Okno již bylo zavřeno.
- Počáteční poplach trvá 10 minut. Poté se aktivuje na dobu 10 sekund s rostoucí přestávkou od 24 sekund do 5 minut.
- Každých VCC_MONITORING_DELAY_MIN (60) minut se měří napětí baterie. V závislosti na detekovaném typu baterie při zapnutí (viz VCC_VOLTAGE_LIPO_DETECTION (3,6 voltů)) je napětí baterie nižší než VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) nebo VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD bliká každých 24 sekund Pouze pípnutí (nikoli blesk) je výrazně delší než pípnutí pro detekci otevřeného okna.
- Po zapnutí je doba neaktivního usazení 5 minut. Pokud se deska během doby usazování ochladí, přidají se 4:15 (nebo 8:30) minuty, aby se zabránilo falešným poplachům po zapnutí.