Detektor otvoreného okna Arduino - na zimu: 6 krokov
Detektor otvoreného okna Arduino - na zimu: 6 krokov
Anonim
Detektor otvoreného okna Arduino - na zimu
Detektor otvoreného okna Arduino - na zimu

Vonku sa ochladzuje, ale niekedy potrebujem vo svojich izbách čerstvý vzduch. Takže otvorím okno, odídem z miestnosti, zatvorím dvere a chcem sa vrátiť o 5 až 10 minút. A po niekoľkých hodinách si pamätám, že okno je otvorené … Možno to viete alebo máte deti, ktoré vám prinášajú tento zážitok.

Moje riešenie je detektor otvoreného okna. Batéria vydrží viac ako rok, stačí ju umiestniť na jeseň a na jar vybrať.

Krok 1: Zoznam dielov

Zoznam položiek
Zoznam položiek
Zoznam položiek
Zoznam položiek
Zoznam položiek
Zoznam položiek
Zoznam položiek
Zoznam položiek
  1. Doska Digispark od spoločnosti eBay.
  2. Staré slúchadlá.
  3. Malé tlačidlo na resetovanie.
  4. Konektory pre reproduktor - inak nie je možné dosku preprogramovať.
  5. Drôt.
  6. Na napájanie potrebujete:

Puzdro na batérie AAA s vypínačom. Môžete dokonca použiť opotrebované batérie, pretože modul bude pracovať až do 2,4 V

ALEBO

Stará lipo batéria (na tento účel stačí aj 30% kapacita) a ak ju ešte nemáte, nabíjačka na lipo batérie od eBay.

ALEBO

Držiak na mincovú bunku CR2032

A

1A dióda 1N4001 alebo ekvivalent - alebo čokoľvek, čo v tejto veľkosti máte - na ochranu proti prepólovaniu

Krok 2: Programovanie dosky Digispark

Programovanie rady Digispark
Programovanie rady Digispark
Programovanie rady Digispark
Programovanie rady Digispark

Inštalácia ovládača

Pred programovaním dosky je potrebné nainštalovať ovládač Digispark. Tu si ho stiahnite, otvorte a spustite „InstallDrivers.exe“.

Inštalácia Arduino IDE

Nainštalujte dosku Digispark pre Arduino IDE podľa popisu v

Odporúčam použiť ako adresu URL dosky Digispark v súbore/predvoľbách Arduino nový https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json namiesto https://digistump.com/package_digistump_index.json a nainštalovať Dosky Digistump AVR verzie 1.6.8.

Pretože chceme ušetriť energiu, hodiny v našej ponuke sú prepnuté na 1 MHz (), v ponuke Nástroje môžete ako dosku zvoliť Digispark (1 MHz - bez USB).

Zostavte a nahrajte program na tabuľu

V Arduino IDE vytvorte nový náčrt pomocou File/New a pomenujte ho napr. "OpenWindowAlarm". Skopírujte kód z OpenWindowAlarm.ino

ALEBO

Stiahnite a rozbaľte úložisko. Otvorte skicu pomocou Súbor -> Otvoriť… a vyberte priečinok „OpenWindowAlarm“.

Skompilovať a nahrať. Nezabudnite, že nahrávanie nebude fungovať, ak je pripojený reproduktor. Ak všetko funguje dobre, vstavaná dióda LED v zariadení Digispark 5-krát zabliká (pre 5-minútové oneskorenie alarmu) a potom začne blikať po 8 sekundách s intervalom 24 sekúnd, aby signalizovala každé čítanie teploty.

Krok 3: Zníženie výkonu

Redukcia výkonu
Redukcia výkonu
Redukcia výkonu
Redukcia výkonu

Naša doska Digispark používa 5mA pri 3, 0 voltoch. S 2 batériami AAA (1 000 mAh) vydrží 8 dní. Je však možné znížiť spotrebu energie až na 26 µA v 3 krokoch.

  1. Vypnutím LED diódy napájania prerušením medeného drôtu, ktorý spája diódu LED diódy napájania s diódou, nožom alebo odstránením / deaktiváciou rezistora 102 ušetríte 1,3 mA.
  2. Odstránením regulátora napätia VIN sa ušetrí 1,2 mA.
  3. Odpojením odporu USB Pullup (označeného 152) z 5 V (VCC) sa ušetrí zvyšných 2,5 mA. Odpojte ho prerušením medeného drôtu na strane rezistora, ktorý ukazuje na ATTiny. Tým sa deaktivuje rozhranie USB a následne možnosť naprogramovať dosku Digispark prostredníctvom USB. Aby ste to znova povolili, ale stále šetrili energiou, pripojte odpor (označený 152) priamo k 5 voltovému USB konektoru, ktorý je ľahko dostupný na vonkajšej strane diódy.

    Správnu stranu diódy nájdete pomocou testera kontinuity. Jedna strana tejto diódy je pripojená k pinu 8 ATtiny (VCC). Druhá strana je pripojená k USB 5 voltom.

Teraz je USB pullup odpor aktivovaný iba vtedy, ak je doska Digispark pripojená k USB napr. počas programovania a doska počas spánku spotrebuje 26 µA.

Ak preprogramujete poistky, môžete dosiahnuť spotrebu energie 6 µA.

Na preprogramovanie poistiek potrebujete ISP (ktorý je možné zostaviť s Arduino) a prepojovací adaptér. Na preprogramovanie môžete použiť tento skript.

Krok 4: Resetovacie tlačidlo

Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart
Tlačidlo reštart

Ak nechcete resetovať alarm, odpojte napájanie, pripojte resetovacie tlačidlo medzi PB5 a uzemnenie. Urobil som to tak, že som pripojil nespojený medený povrch VIN k PB5 a spájkoval som tlačidlo reset priamo do otvoru pre pin VIN a veľkého povrchu zeme odstráneného regulátora napätia VIN.

Ak sa chcete zbaviť 5 sekúnd čakania na pripojenie USB po resete, môžete na ATtiny85 zmeniť jadro mikrojadra. Spustite skript „0_Burn_upgrade-t85_recommended.cmd“a potom znova načítajte aplikáciu OpenWindowAlarm s Arduino IDE.

Krok 5: Reproduktor

Rečník
Rečník
Rečník
Rečník
Rečník
Rečník

Rozložil som starú náhlavnú súpravu a zapojil som zástrčkový konektor do kábla.

Krok 6: Prevádzka

Prevádzkové
Prevádzkové
Prevádzkové
Prevádzkové
Prevádzkové
Prevádzkové

Ak chcete použiť dosku, umiestnite ju na okenný parapet a pripojte ju k batérii. Ak je teplota na parapete nižšia ako teplota, na ktorej bola doska pôvodne umiestnená, inteligentnému prijatiu na novú počiatočnú hodnotu bude trvať ďalších 5 minút.

Potom vás znepokojí, ak necháte okno otvorené dlhšie ako päť minút.

Vnútorná prevádzka

  • Otvorené okno sa zistí po TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundách odčítania teploty s hodnotou TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) nižšou ako je teplota TEMPERATURE_COMPARE_DISTANCE_ TIME
  • Oneskorenie je implementované trojnásobným spánkom v „SLEEP_MODE_PWR_DOWN“po dobu 8 sekúnd, aby sa znížila spotreba energie.
  • Detekcia otvoreného okna je indikovaná dlhším bliknutím 20 ms a krátkym kliknutím každých 24 sekúnd. Vnútorný senzor má preto čas 3 minúty na prispôsobenie sa vonkajšej teplote, aby zachytil aj malé zmeny teploty. Čím väčšia je zmena teploty, tým skôr sa zmení hodnota senzora a detekuje otvorené okno.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minút po detekcii otvoreného okna je aktivovaný alarm.

    Alarm sa nespustí alebo sa aktivovaný alarm zastaví, ak je aktuálna teplota vyššia ako minimálna nameraná teplota (+ 1), t.j. okno už bolo zatvorené.

  • Počiatočný alarm trvá 10 minút. Potom sa aktivuje na 10 sekúnd s rastúcou prestávkou od 24 sekúnd do 5 minút.
  • Každých VCC_MONITORING_DELAY_MIN (60) minút sa meria napätie batérie. V závislosti od detekovaného typu batérie pri zapnutí (pozri VCC_VOLTAGE_LIPO_DETECTION (3,6 voltu)) je napätie batérie nižšie ako VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) alebo VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD bliknutie každých 24 sekúnd. Iba pípnutie (nie blesk) je výrazne dlhší ako pípnutie na detekciu otvoreného okna.
  • Po zapnutí je neaktívny čas usadzovania 5 minút. Ak sa doska v priebehu času usadzovania ochladí, pridajú sa 4:15 (alebo 8:30) minúty, aby sa predišlo falošným poplachom po zapnutí.