Tartalomjegyzék:

Arduino nyitott ablak érzékelő - télen: 6 lépés
Arduino nyitott ablak érzékelő - télen: 6 lépés

Videó: Arduino nyitott ablak érzékelő - télen: 6 lépés

Videó: Arduino nyitott ablak érzékelő - télen: 6 lépés
Videó: Lesson 76: Using one or more VL6180X 20cm Time-of-Flight proximity sensor with Arduino 2024, November
Anonim
Arduino nyitott ablak érzékelő - télen
Arduino nyitott ablak érzékelő - télen

Kint hideg van, de néha friss levegőre van szükségem a szobámba. Szóval kinyitom az ablakot, elhagyom a szobát, becsukom az ajtót, és 5-10 perc múlva vissza akarok jönni. És néhány óra múlva eszembe jut, hogy az ablak nyitva van … Talán ezt tudja, vagy gyerekei vannak, amelyek ezt az élményt nyújtják.

A megoldásom a Nyitott ablak érzékelő. Az akkumulátor több mint egy évig bírja, ezért csak ősszel helyezze el, és tavasszal vegye ki.

1. lépés: Alkatrészlista

Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista
  1. Digispark tábla az eBay -ről.
  2. Régi fejhallgató.
  3. Apró gomb a visszaállításhoz.
  4. Csatlakozók hangszóróhoz - különben nem lehetséges az alaplap újraprogramozása.
  5. Huzal.
  6. Az áramellátáshoz szüksége van:

AAA elemtartó, ki/be kapcsolóval. Akár elhasználódott elemeket is használhat, mivel a modul 2,4 V -ig működik

VAGY

Régi lipo akkumulátor (akár 30% -os kapacitás is elegendő erre a célra), és ha még nincs meg, akkor töltő a lipo akkumulátorokhoz az eBay -től.

VAGY

Tartó CR2032 gombelemhez

ÉS

1A dióda 1N4001 vagy azzal egyenértékű - vagy bármi, ami ebben a méretben van - a fordított polaritás elleni védelemhez

2. lépés: A Digispark kártya programozása

A Digispark Board programozása
A Digispark Board programozása
A Digispark Board programozása
A Digispark Board programozása

Illesztőprogram telepítése

A tábla programozása előtt telepítenie kell a Digispark illesztőprogramját. Töltse le innen, nyissa meg és futtassa az "InstallDrivers.exe" fájlt.

Az Arduino IDE telepítése

Telepítse a Digispark táblát az Arduino IDE -hez a https://digistump.com/wiki/digispark/tutorials/connecting oldalon leírtak szerint

Javaslom, hogy az Arduino fájlban/Beállításokban használja az Digitsark tábla URL -jeként az új https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json címet a https://digistump.com/package_digistump_index.json helyett, és telepítse a Digistump AVR Boards 1.6.8 verzió.

Mivel energiát szeretnénk takarékoskodni, a tábla órája 1 MHz -re van kapcsolva a beállításunkban (), az Eszközök menüben választhatja a Digispark (1mhz - Nincs USB) táblát.

Fordítsa össze és töltse fel a programot a táblára

Az Arduino IDE -ben hozzon létre egy új vázlatot a File/New paranccsal, és nevezze el pl. "OpenWindowAlarm". Másolja a kódot az OpenWindowAlarm.ino webhelyről

VAGY

Töltse le és bontsa ki a tárolót. Nyissa meg a vázlatot a Fájl -> Megnyitás… paranccsal, és válassza ki az „OpenWindowAlarm” mappát.

Fordítsa össze és töltse fel. Ne feledje, hogy a feltöltés nem működik, ha a hangszóró csatlakoztatva van. Ha minden jól működik, a Digispark beépített LED-je 5-ször felvillan (az 5 perces riasztási késleltetéshez), majd 8 másodperc után 24 másodperces időközönként villogni kezd, és jelzi az egyes hőmérséklet-értékeket.

3. lépés: Teljesítménycsökkentés

Teljesítménycsökkentés
Teljesítménycsökkentés
Teljesítménycsökkentés
Teljesítménycsökkentés

Digispark lapunk 5 mA -t használ 3, 0 volton. 2 db AAA elemmel (1000mAh) 8 napig működik. De az áramfogyasztás 3 lépésben 26 µA -ra is csökkenthető.

  1. Ha kikapcsolja a tápellátást jelző LED -et a rézhuzal megszakításával, amely késsel megszakítja a tápellátás LED -ét a diódához, vagy a 102 ellenállás eltávolításával / letiltásával 1,3 mA -t takarít meg.
  2. A VIN feszültségszabályozó eltávolítása 1,2 mA -t takarít meg.
  3. Ha leválasztja az USB felhúzó ellenállást (152 jelzéssel) 5 voltról (VCC), a fennmaradó 2,5 mA -t megtakarítja. Válassza le az ellenállás ATTiny -re mutató oldalán lévő rézhuzal megszakításával. Ez letiltja az USB interfészt, és lehetővé teszi a Digispark kártya USB -n keresztüli programozását. Az ismételt engedélyezéshez, de az energiatakarékossághoz csatlakoztassa az ellenállást (152 jelzéssel) közvetlenül a dióda külső oldalán könnyen elérhető USB 5 volthoz.

    A dióda megfelelő oldala egy folytonossági teszt segítségével található. Ennek a diódának az egyik oldala az ATtiny (VCC) 8. érintkezőjéhez van csatlakoztatva. A másik oldal 5 voltos USB -hez van csatlakoztatva.

Most az USB felhúzó ellenállás csak akkor aktiválódik, ha a Digispark kártya USB -hez van csatlakoztatva, pl. programozás közben, és a kártya alvás közben 26 µA -t fogyaszt.

Ha átprogramozza a biztosítékokat, 6 µA áramfogyasztást kaphat.

A biztosítékok újraprogramozásához szüksége van egy internetszolgáltatóra (amely Arduino -val építhető) és egy csatlakoztató adapterre. Az átprogramozáshoz használhatja ezt a szkriptet.

4. lépés: Visszaállítás gomb

Reset gomb
Reset gomb
Reset gomb
Reset gomb
Reset gomb
Reset gomb
Reset gomb
Reset gomb

Ha nem szeretné lekapcsolni a riasztást, csatlakoztassa a reset gombot a PB5 és a föld közé. Ezt úgy tettem, hogy a nem csatlakoztatott VIN rézfelületet a PB5 -hez kötöttem, és a reset gombot közvetlenül a VIN csap furatához és az eltávolított VIN feszültségszabályozó nagy talajfelületéhez forrasztottam.

Ha meg akar szabadulni az 5 másodperc várakozástól az USB -kapcsolatra a visszaállítás után, módosíthatja az ATtiny85 mikronukleusz -magját. Futtassa a "0_Burn_upgrade-t85_recommended.cmd" szkriptet, majd töltse be újra az OpenWindowAlarm alkalmazást az Arduino IDE-vel.

5. lépés: Hangszóró

Hangszóró
Hangszóró
Hangszóró
Hangszóró
Hangszóró
Hangszóró

Szétszedtem egy régi headsetet, és csatlakoztattam a dugót a kábelhez.

6. lépés: Üzemeltetés

Üzemeltetési
Üzemeltetési
Üzemeltetési
Üzemeltetési
Üzemeltetési
Üzemeltetési

A tábla használatához helyezze azt az ablakpárkányra, és csatlakoztassa az akkumulátorhoz. Ha a küszöb hőmérséklete alacsonyabb, mint a tábla eredeti helye, további 5 percet vesz igénybe az új kezdőérték intelligens elfogadása.

Akkor riaszt, ha öt percnél tovább nyitva hagyja az ablakot.

Belső működés

  • Nyitott ablak észlelhető TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) másodperc múlva, amikor olyan hőmérsékletet olvas, amelynek hőmérséklete TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) alacsonyabb, mint a hőmérséklet TEMPERATURE_COMPARE_DISTANCE * 3 másodperc és 3 másodperc (TEMPERATURE_COMPARE_DISTANCE * 3 perc).
  • A késleltetés úgy valósul meg, hogy háromszor alszik a „SLEEP_MODE_PWR_DOWN” -on 8 másodpercig az energiafogyasztás csökkentése érdekében.
  • A nyitott ablak észlelését hosszabb 20 ms -os villogás és 24 másodpercenként rövid kattanás jelzi. Ezért a belső érzékelőnek 3 perce van arra, hogy a külső hőmérséklethez igazodjon, hogy még a legkisebb hőmérsékletváltozásokat is rögzítse. Minél nagyobb a hőmérsékletváltozás, annál korábban változik az érzékelő értéke, és nyitott ablakot észlel.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) perccel a nyitott ablak észlelése után a riasztó aktiválódik.

    A riasztás nem indul el, vagy az aktivált riasztás leáll, ha az aktuális hőmérséklet meghaladja a minimális mért hőmérsékletet (+ 1), azaz az ablakot már bezárták.

  • Az első riasztás 10 percig tart. Ezt követően 10 másodpercre aktiválódik, 24 másodpercről 5 percre növekvő szünetekkel.
  • Minden VCC_MONITORING_DELAY_MIN (60) percben megmérik az akkumulátor feszültségét. A bekapcsoláskor észlelt akkumulátortípustól függően (lásd: VCC_VOLTAGE_LIPO_DETECTION (3,6 volt)), az akkumulátor feszültsége a VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) vagy VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD alatt másodpercenként villog. Csak a hangjelzés (nem a vaku) szignifikánsan hosszabb, mint a nyitott ablak észlelésére szolgáló hangjelzés.
  • A bekapcsolás után az inaktív ülepedési idő 5 perc. Ha a tábla hidegebbé válik az ülepedési idő alatt, 4:15 (vagy 8:30) percet ad hozzá a bekapcsolás utáni hamis riasztások elkerülése érdekében.

Ajánlott: