Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Vani je 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 i izvadite u proljeće.
Korak 1: Lista dijelova
- Digispark ploča sa eBay -a.
- Stare slušalice.
- Sitno dugme za resetovanje.
- Konektori za zvučnik - u protivnom nije moguće ponovno programirati ploču.
- Žica.
- Za napajanje je potrebno:
AAA kućište baterije sa prekidačem za uključivanje/isključivanje. Možete čak koristiti i istrošene baterije jer će modul raditi na 2,4 volta
ILI
Stara lipo baterija (čak 30% kapaciteta je dovoljno za ovu svrhu), a ako već nemate, punjač za lipo baterije sa eBay -a.
ILI
Držač za ćeliju dugmeta CR2032
AND
1A dioda 1N4001 ili ekvivalentna - 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 ga 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šoj postavci () možete odabrati Digispark (1 mhz - bez USB -a) kao ploču u izborniku Alati.
Sastavite i postavite program na ploču
U Arduino IDE -u stvorite novu skicu s File/New i dajte joj naziv npr. "OpenWindowAlarm". Kopirajte kôd s OpenWindowAlarm.ino
ILI
Preuzmite i izdvojite spremište. Otvorite skicu pomoću Datoteka -> Otvori … i odaberite mapu "OpenWindowAlarm".
Sastavite i učitajte. Imajte na umu da prijenos neće funkcionirati ako je zvučnik priključen. Ako sve radi dobro, ugrađena LED dioda Digisparka će treperiti 5 puta (za 5 minuta odgode alarma), a zatim će početi treperiti nakon 8 sekundi s intervalom od 24 sekunde za signalizaciju svakog očitanja temperature.
Korak 3: Smanjenje snage
Naša Digispark ploča koristi 5mA na 3, 0 volta. Sa 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 povezuje LED diodu za napajanje ili uklanjanjem / onemogućavanjem otpornika 102 štedi 1,3 mA.
- Uklanjanjem VIN regulatora napona štedi se 1,2 mA.
-
Isključivanjem USB Pullup otpornika (označeno 152) sa 5 V (VCC) štedi se preostalih 2,5 mA. Odvojite ga tako što ćete prekinuti bakrenu žicu na strani otpornika koja pokazuje na ATTiny. Ovo onemogućava USB sučelje i zauzvrat mogućnost programiranja Digispark ploče putem USB -a. Da biste ga ponovo omogućili, ali ipak uštedjeli energiju, priključite otpornik (označen 152) izravno na USB 5 volti koji je lako dostupan na vanjskoj strani diode.
Pravilna 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 otpornik aktivira samo ako je Digispark ploča spojena na USB, npr. tokom programiranja i ploča troši 26 µA tokom 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: Dugme za poništavanje
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 poništavanje izravno na rupu za VIN pin i veliku površinu uzemljenog 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 ponovo 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 povežite je s baterijom. 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 duže od pet minuta.
Interna operacija
- Otvoreni prozor se otkriva nakon TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundi očitavanja temperature čija je vrijednost TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) niža od temperature TEMPERATURE_COMPARE_DISTANCES TEMPER 1 TEMPER 1 TEMPER 3 TEMPER 2: 3 TEMPER 3: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: 3 TEMPER: DIMENZIJE: TEMPER: TEMPER: DIMENZIJE: TEMPER: DIMENZIJE: TEMPER: TEMPER: DIMENZIJE: TEMPER: TEMPER: TEMPER: DIMENZIJE, TEMPERATURA: 1
- Kašnjenje se provodi spavanjem 3 puta na `SLEEP_MODE_PWR_DOWN` u periodu 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 senzora 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 sa povećanjem pauze od 24 sekunde do 5 minuta.
- Svakih VCC_MONITORING_DELAY_MIN (60) minuta mjeri se napon baterije. Ovisno o otkrivenoj vrsti 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, bit će označeno s milivolti od 24 sekunde, a svakih 24 sekunde bit će prikazano svjetlosno svjetlo, koje će biti prikazano svakih 24 sekunde, a svjetlosni pokazivač u sekundi bit će označen svakim pritiskom na tipku od 1 do 3 Samo je zvučni signal (ne blic) 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 u vrijeme taloženja, dodaje se 4:15 (ili 8:30) minuta kako bi se izbjegli lažni alarmi nakon uključivanja.