Kazalo:

Arduino detektor odprtih oken - za zimo: 6 korakov
Arduino detektor odprtih oken - za zimo: 6 korakov

Video: Arduino detektor odprtih oken - za zimo: 6 korakov

Video: Arduino detektor odprtih oken - za zimo: 6 korakov
Video: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, November
Anonim
Arduino detektor odprtih oken - za zimo
Arduino detektor odprtih oken - za zimo

Zunaj je hladno, včasih pa potrebujem svež zrak v sobah. Odprem okno, zapustim sobo, zaprem vrata in se želim vrniti čez 5 do 10 minut. In po nekaj urah se spomnim, da je okno odprto … Morda to veš ali imaš otroke, ki ti dajo to izkušnjo.

Moja rešitev je detektor odprtih oken. Baterija zdrži več kot eno leto, zato jo postavite jeseni in jo odstranite spomladi.

Korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov
  1. Digispark deska z eBaya.
  2. Stare slušalke.
  3. Majhen gumb za ponastavitev.
  4. Priključki za zvočnik - drugače plošče ni mogoče ponovno programirati.
  5. Žica.
  6. Za napajanje potrebujete:

Ohišje baterije AAA s stikalom za vklop/izklop. Uporabite lahko celo izrabljene baterije, saj bo modul deloval do 2,4 volta

ALI

Stara lipo baterija (za ta namen zadostuje tudi 30% zmogljivost) in če je še nimate, polnilec za lipo baterije z eBaya.

ALI

Držalo za gumbno celico CR2032

IN

1A dioda 1N4001 ali enakovredna - ali karkoli imate v tej velikosti - za zaščito pred povratno polarnostjo

2. korak: Programiranje plošče Digispark

Programiranje plošče Digispark
Programiranje plošče Digispark
Programiranje plošče Digispark
Programiranje plošče Digispark

Namestitev gonilnika

Pred programiranjem plošče morate namestiti gonilnik Digispark. Prenesite ga tukaj, odprite in zaženite "InstallDrivers.exe".

Namestitev Arduino IDE

Namestite ploščo Digispark za Arduino IDE, kot je opisano na

Priporočam, da kot URL plošče Digispark v datoteki Arduino/Nastavitve uporabite nov https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json namesto https://digistump.com/package_digistump_index.j in Digistump AVR plošče različica 1.6.8.

Ker želimo prihraniti energijo, se ura v naši nastavitvi () preklopi na 1 MHz. Za ploščo v meniju Orodja lahko izberete Digispark (1 mhz - brez USB -ja).

Sestavite in naložite program na tablo

V Arduino IDE ustvarite novo skico z datoteko/novo in jo poimenujte npr. "OpenWindowAlarm". Kopirajte kodo iz OpenWindowAlarm.ino

ALI

Prenesite in izvlecite skladišče. Odprite skico z Datoteka -> Odpri … in izberite mapo "OpenWindowAlarm".

Sestavite in naložite. Upoštevajte, da nalaganje ne bo delovalo, če je priključen zvočnik. Če vse deluje dobro, bo vgrajena LED dioda Digisparka utripala 5-krat (za 5-minutno zakasnitev alarma), nato pa bo po 8 sekundah začela utripati z intervalom 24 sekund, da signalizira vsako odčitano temperaturo.

3. korak: Zmanjšanje moči

Zmanjšanje moči
Zmanjšanje moči
Zmanjšanje moči
Zmanjšanje moči

Naša plošča Digispark uporablja 5 mA pri 3, 0 volti. Z 2 baterijama AAA (1000 mAh) bo deloval 8 dni. Vendar pa je mogoče v 3 korakih zmanjšati porabo energije na 26 µA.

  1. Onemogočanje napajalne LED z lomljenjem bakrene žice, ki z nožem poveže napajalno LED z diodo ali odstranitvijo / onemogočenje upora 102 prihrani 1,3 mA.
  2. Odstranitev regulatorja napetosti VIN prihrani 1,2 mA.
  3. Če odklopite upor USB USB (označen s 152) od 5 voltov (VCC), prihranite preostalih 2,5 mA. Odklopite ga tako, da zlomite bakreno žico na strani upora, ki kaže na ATTiny. To onemogoči vmesnik USB in posledično možnost programiranja plošče Digispark prek USB -ja. Če ga želite znova omogočiti, vendar še vedno prihranite energijo, priključite upor (označen s 152) neposredno na 5 -voltni USB, ki je zlahka dostopen na zunanji strani diode.

    Pravilno stran diode lahko najdete s pomočjo merilnika kontinuitete. Ena stran te diode je priključena na pin 8 ATtiny (VCC). Druga stran je priključena na USB 5 voltov.

Sedaj se vlečni upor USB aktivira le, če je plošča Digispark priključena na USB, npr. med programiranjem in plošča med spanjem porabi 26 µA.

Če ponovno programirate varovalke, lahko porabite 6 µA energije.

Za reprogramiranje varovalk potrebujete ponudnika internetnih storitev (ki ga je mogoče sestaviti z Arduinom) in povezovalni adapter. Za reprogramiranje lahko uporabite ta skript.

4. korak: Gumb za ponastavitev

Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev
Gumb za ponastavitev

Če ne želite izklopiti napajanja za ponastavitev alarma, povežite gumb za ponastavitev med PB5 in maso. To sem naredil tako, da sem nepovezano bakreno površino VIN priključil na PB5 in gumb za ponastavitev spajkal neposredno na luknjo za VIN pin in veliko ozemljitveno površino odstranjenega regulatorja napetosti VIN.

Če se želite po ponastavitvi znebiti 5 -sekundnega čakanja na povezavo USB, lahko spremenite jedro mikrojedra na ATtiny85. Zaženite skript "0_Burn_upgrade-t85_recommended.cmd" in nato znova naložite aplikacijo OpenWindowAlarm z IDE Arduino.

5. korak: Zvočnik

Zvočnik
Zvočnik
Zvočnik
Zvočnik
Zvočnik
Zvočnik

Razstavil sem stare slušalke in priključil moški konektor na kabel.

6. korak: Delovanje

Delovanje
Delovanje
Delovanje
Delovanje
Delovanje
Delovanje

Če želite uporabiti ploščo, jo postavite na okensko polico in jo povežite z baterijo. Če je temperatura na pragu nižja od temperature, kjer je bila plošča prvotno nameščena, bo trajalo dodatnih 5 minut, da se inteligentno prilagodi novi začetni vrednosti.

Takrat boste zaskrbljeni, če pustite okno odprto dlje kot pet minut.

Notranje delovanje

  • Odprto okno je zaznano po TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundah odčitavanja temperature z vrednostjo TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) nižjo od temperature TEMPERATURE_COMPARE_DISTANCE_SEMPER 3 sekunde * TEMPER 3 TEMPER TEMPER TEMPER TEMPER 3: TEMPER TEMPER: 3 TEMPER: 3 TEMPER: 3: TEMPER: TEMPER: TEMPER: TEMPER: TAMPER_AMOUNT * TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: TEMPER: DIMENZIJE: TEMPER: 3
  • Zakasnitev se izvede s spanjem 3 -krat pri `SLEEP_MODE_PWR_DOWN` za obdobje 8 sekund, da se zmanjša poraba energije.
  • Odkritje odprtega okna označuje daljši utripanje 20 ms in kratek klik vsakih 24 sekund. Zato ima notranji senzor 3 minute časa, da se prilagodi zunanji temperaturi, da zajame tudi majhne spremembe temperature. Večja kot je sprememba temperature, prej se bo vrednost senzorja spremenila in zaznala odprto okno.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minut po odkritju odprtega okna se aktivira alarm.

    Alarm se ne bo zagnal ali pa se bo aktivirani alarm ustavil, če je trenutna temperatura višja od najnižje izmerjene temperature (+ 1), torej je okno že zaprto.

  • Začetni alarm traja 10 minut. Po tem se aktivira za obdobje 10 sekund s povečanjem odmora od 24 sekund do 5 minut.
  • Vsakih VCC_MONITORING_DELAY_MIN (60) minut se meri napetost akumulatorja. Odvisno od zaznane tip baterije po vklopu (glej VCC_VOLTAGE_LIPO_DETECTION (3,6 voltov)), napetost akumulatorja pod VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) ali VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD milivolt je označena s piska in utripa LED vsakih 24 sekund. Za zaznavanje odprtega okna je le pisk (ne bliskavica) bistveno daljši od piska.
  • Po vklopu je čas mirovanja neaktiven 5 minut. Če se plošča v času poravnave ohladi, se dodajo 4:15 (ali 8:30) minute, da se prepreči lažni alarm po vklopu.

Priporočena: