Detektor otevřeného okna Arduino - na zimu: 6 kroků
Detektor otevřeného okna Arduino - na zimu: 6 kroků
Anonim
Detektor otevřeného okna Arduino - na zimu
Detektor otevřeného okna Arduino - na zimu

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ů

Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů
  1. Deska Digispark od eBay.
  2. Stará sluchátka.
  3. Drobné tlačítko pro reset.
  4. Konektory pro reproduktor - jinak není možné desku přeprogramovat.
  5. Drát.
  6. 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

Programování desky Digispark
Programování desky Digispark
Programování desky Digispark
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

Snížení výkonu
Snížení výkonu
Snížení výkonu
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.

  1. 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.
  2. Sejmutí regulátoru napětí VIN ušetří 1,2 mA.
  3. 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

Tlačítko reset
Tlačítko reset
Tlačítko reset
Tlačítko reset
Tlačítko reset
Tlačítko reset
Tlačítko reset
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

mluvčí
mluvčí
mluvčí
mluvčí
mluvčí
mluvčí

Demontoval jsem starou náhlavní soupravu a připojil zástrčkový konektor ke kabelu.

Krok 6: Provoz

Provozní
Provozní
Provozní
Provozní
Provozní
Provozní

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