Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Vani postaje hladno, ali ponekad mi treba malo svježeg zraka u sobama. Otvaram prozor, izlazim iz sobe, zatvaram vrata i želim se vratiti za 5 do 10 minuta. I nakon nekoliko sati sjetim se da je prozor otvoren … Možda to znate ili imate djecu koja vam daju ovo iskustvo.
Moje rješenje je detektor otvorenih prozora. Baterija će trajati više od godinu dana, pa je stavite u jesen, a izvadite u proljeće.
Korak 1: Popis dijelova
- Digispark ploča s eBay -a.
- Stare slušalice.
- Mali gumb za resetiranje.
- Priključci za zvučnik - u protivnom nije moguće ponovno programirati ploču.
- Žica.
- Za napajanje je potrebno:
AAA kućište baterije s prekidačem za uključivanje/isključivanje. Možete čak koristiti i istrošene baterije jer će modul raditi do 2,4 Volta
ILI
Stara lipo baterija (čak 30% kapaciteta je dovoljno za tu svrhu), a ako već nemate, punjač za lipo baterije s eBay -a.
ILI
Držač za ćeliju dugmeta CR2032
I
1A dioda 1N4001 ili ekvivalent - ili što god imate u ovoj veličini - za zaštitu od obrnutog polariteta
Korak 2: Programiranje Digispark ploče
Instalacija upravljačkog programa
Prije programiranja ploče morate instalirati upravljački program Digispark. Preuzmite ga ovdje, otvorite i pokrenite "InstallDrivers.exe".
Instalacija Arduino IDE -a
Instalirajte Digispark ploču za Arduino IDE kako je opisano na
Preporučujem da koristite kao URL Digispark ploče u Arduino datoteci/Postavke novi https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json umjesto https://digistump.com/package_digistump_index.j i Digistump AVR ploče verzija 1.6.8.
Budući da želimo uštedjeti energiju, sat ploče se prebacuje na 1 MHz u našim postavkama () možete odabrati Digispark (1 MHz - Bez USB -a) kao ploču u izborniku Alati.
Sastavite i prenesite program na ploču
U Arduino IDE -u izradite novu skicu s Datoteka/Novo i dajte joj naziv npr. "OpenWindowAlarm". Kopirajte kôd s OpenWindowAlarm.ino
ILI
Preuzmite i raspakirajte spremište. Otvorite skicu pomoću Datoteka -> Otvori … i odaberite mapu "OpenWindowAlarm".
Sastavite i prenesite. Imajte na umu da prijenos neće funkcionirati ako je zvučnik spojen. Ako sve radi dobro, ugrađena LED dioda Digisparka trepnut će 5 puta (za 5 minuta odgode alarma), a zatim će početi bljeskati nakon 8 sekundi s intervalom od 24 sekunde za signalizaciju svakog očitanja temperature.
Korak 3: Smanjenje snage
Naša ploča Digispark koristi 5mA na 3, 0 volta. S 2 AAA baterije (1000mAh) radit će 8 dana. No moguće je smanjiti potrošnju energije na 26 µA u 3 koraka.
- Onemogućavanje LED -a za napajanje prekidanjem bakrene žice koja nožem spaja LED diodu za napajanje ili uklanjanjem / onemogućavanjem 102 otpornika štedi 1,3 mA.
- Uklanjanjem VIN regulatora napona štedi se 1,2 mA.
-
Isključivanjem USB Pullup otpornika (označeno 152) s 5 V (VCC) štedi se preostalih 2,5 mA. Odvojite ga tako što ćete prekinuti bakrenu žicu na strani otpornika koja pokazuje na ATTiny. Time se onemogućuje USB sučelje, a zatim i mogućnost programiranja ploče Digispark putem USB -a. Da biste ga ponovno omogućili, ali ipak uštedjeli energiju, priključite otpornik (označen 152) izravno na USB 5 volt koji je lako dostupan na vanjskoj strani diode.
Ispravna strana diode može se pronaći pomoću ispitivača kontinuiteta. Jedna strana ove diode spojena je na pin 8 ATtiny (VCC). Druga strana je spojena na USB 5 volti.
Sada se USB pullup otpornik aktivira samo ako je ploča Digispark spojena na USB, npr. tijekom programiranja, a ploča troši 26 µA tijekom spavanja.
Ako reprogramirate osigurače, možete postići potrošnju od 6 µA.
Za reprogramiranje osigurača potreban vam je ISP (koji se može sastaviti s Arduinom) i priključni adapter. Za ponovno programiranje možete koristiti ovu skriptu.
Korak 4: Gumb za resetiranje
Ako ne želite isključiti napajanje radi poništavanja alarma, spojite gumb za resetiranje između PB5 i mase. To sam učinio spajanjem nepovezane VIN bakrene površine s PB5 i lemljenjem gumba za resetiranje izravno na rupu za VIN pin i veliku masu uklonjenog VIN regulatora napona.
Ako se želite riješiti 5 sekundi čekanja na USB vezu nakon resetiranja, možete promijeniti jezgru mikronukleusa na ATtiny85. Pokrenite skriptu "0_Burn_upgrade-t85_recommended.cmd", a zatim ponovno učitajte aplikaciju OpenWindowAlarm s Arduino IDE-om.
Korak 5: Zvučnik
Rastavio sam stare slušalice i spojio muški konektor na kabel.
Korak 6: Rad
Da biste koristili ploču, postavite je na prozorsku dasku i spojite na bateriju. Ako je temperatura na pragu niža od temperature na kojoj se ploča prvobitno nalazila, trebat će dodatnih 5 minuta da se inteligentno prilagodi novoj početnoj vrijednosti.
Tada ćete biti upozoreni ako ostavite prozor otvoren dulje od pet minuta.
Unutarnji rad
- Otvoreni prozor otkriva se nakon TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundi očitanja temperature s vrijednošću od TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) nižom od temperature TEMPERATURE_COMPARE_DISTANCES TEMPER 3 sekunde * TEMPER 3) TEMPER 3 (3) TEMPER 3) TEMPER 3) TEMPER 3 * TEMPER 3 i 3 TEMPER 3 i 3 TEMPERATURE_AMOUNT * TEMPERATURE_AMOUNT * TEMPERATURE_AMOUNT * TEMPER
- Kašnjenje se provodi spavanjem 3 puta na `SLEEP_MODE_PWR_DOWN` u razdoblju od 8 sekundi radi smanjenja potrošnje energije.
- Otkrivanje otvorenog prozora naznačeno je duljim treptanjem od 20 ms i kratkim klikom svakih 24 sekunde. Stoga unutarnji senzor ima vrijeme od 3 minute da se prilagodi vanjskoj temperaturi kako bi zabilježio čak i male promjene temperature. Što je veća promjena temperature, ranije će se vrijednost osjetnika promijeniti i otkriti otvoren prozor.
-
`OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minuta nakon otkrivanja otvorenog prozora alarm se aktivira.
Alarm se neće pokrenuti ili će se aktivirani alarm zaustaviti ako je trenutna temperatura veća od minimalne izmjerene temperature (+ 1), tj. Prozor je već zatvoren.
- Početni alarm traje 10 minuta. Nakon toga se aktivira na period od 10 sekundi s povećanjem pauze od 24 sekunde do 5 minuta.
- Svakih VCC_MONITORING_DELAY_MIN (60) minuta mjeri se napon baterije. Ovisno o vrsti detektirane baterije pri uključivanju (pogledajte VCC_VOLTAGE_LIPO_DETECTION (3,6 volti)), napon baterije ispod VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) ili VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Svakih 24 sekunde označava svjetlosni indikator i svakih 24 sekunde označava da će biti prikazano svjetlosno svjetlo i Samo je zvučni signal (ne bljeskalica) znatno duži od zvučnog signala za otkrivanje otvorenog prozora.
- Nakon uključivanja, neaktivno vrijeme taloženja je 5 minuta. Ako se ploča hladi tijekom vremena slijeganja, dodaju se 4:15 (ili 8:30) minute kako bi se izbjegli lažni alarmi nakon uključivanja.