Arduino atvērtā loga detektors - ziemai: 6 soļi
Arduino atvērtā loga detektors - ziemai: 6 soļi
Anonim
Arduino atvērtā loga detektors - ziemai
Arduino atvērtā loga detektors - ziemai

Ārā kļūst auksts, bet dažreiz man istabās vajag svaigu gaisu. Tātad, es atveru logu, izeju no istabas, aizveru durvis un gribu atgriezties pēc 5 līdz 10 minūtēm. Un pēc dažām stundām es atceros, ka logs ir atvērts … Varbūt jūs to zināt vai jums ir bērni, kas jums sniedz šo pieredzi.

Mans risinājums ir atvērtā loga detektors. Akumulators ilgs vairāk nekā gadu, tāpēc vienkārši ievietojiet to rudenī un izņemiet to pavasarī.

1. darbība: detaļu saraksts

Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
Detaļu saraksts
  1. Digispark dēlis no eBay.
  2. Vecās austiņas.
  3. Maza poga atiestatīšanai.
  4. Savienotāji skaļrunim - pretējā gadījumā nav iespējams pārprogrammēt plāksni.
  5. Vads.
  6. Barošanai nepieciešams:

AAA bateriju korpuss ar ieslēgšanas/izslēgšanas slēdzi. Jūs pat varat izmantot nolietotas baterijas, jo modulis darbosies līdz 2,4 voltiem

VAI

Vecs lipo akumulators (šim nolūkam pietiek pat ar 30% ietilpību) un, ja jums vēl nav, lādētājs lipo baterijām no eBay.

VAI

Monētas turētājs CR2032

UN

1A diode 1N4001 vai līdzvērtīga ierīce - vai viss, kas jums ir šajā izmērā - aizsardzībai pret pretēju polaritāti

2. darbība: Digispark dēļa programmēšana

Digispark dēļa programmēšana
Digispark dēļa programmēšana
Digispark dēļa programmēšana
Digispark dēļa programmēšana

Draivera uzstādīšana

Lai varētu programmēt dēli, jums jāinstalē Digispark draiveris. Lejupielādējiet to šeit, atveriet to un palaidiet "InstallDrivers.exe".

Arduino IDE instalēšana

Instalējiet Digispark dēli Arduino IDE, kā aprakstīts vietnē

Arduino failā/preferencēs es ieteiktu izmantot kā Digispark dēļa URL jauno https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json, nevis https://digistump.com/package_digistump_index.json, un instalējiet Digistump AVR Boards versija 1.6.8.

Tā kā mēs vēlamies taupīt enerģiju, mūsu iestatījumos () pulksteņa pulkstenis tiek pārslēgts uz 1 MHz, izvēlnē Rīki kā plati varat izvēlēties Digispark (1 MHz - nav USB).

Apkopojiet un augšupielādējiet programmu tāfele

Arduino IDE izveidojiet jaunu skici ar File/New un nosauciet to, piem. "OpenWindowAlarm". Kopējiet kodu no vietnes OpenWindowAlarm.ino

VAI

Lejupielādējiet un izvelciet krātuvi. Atveriet skici ar File -> Open… un atlasiet mapi “OpenWindowAlarm”.

Apkopojiet un augšupielādējiet to. Ņemiet vērā, ka augšupielāde nedarbosies, ja skaļrunis ir pievienots. Ja viss darbojas labi, Digispark iebūvētā gaismas diode mirgos 5 reizes (par 5 minūšu trauksmes aizkavi) un pēc tam sāks mirgot pēc 8 sekundēm ar 24 sekunžu intervālu, lai signalizētu par katru temperatūras rādījumu.

3. darbība: jaudas samazināšana

Jaudas samazināšana
Jaudas samazināšana
Jaudas samazināšana
Jaudas samazināšana

Mūsu Digispark plate izmanto 5 mA pie 3, 0 voltiem. Ar 2 AAA baterijām (1000mAh) tas darbosies 8 dienas. Bet ir iespējams samazināt enerģijas patēriņu līdz 26 µA 3 soļos.

  1. Barošanas gaismas diodes atspējošana, pārtraucot vara vadu, kas ar nazi savieno barošanas gaismas diodu, vai noņemot / atspējojot 102 rezistoru, ietaupa 1,3 mA.
  2. Noņemot VIN sprieguma regulatoru, tiek ietaupīts 1,2 mA.
  3. Atvienojot USB pievilkšanas rezistoru (apzīmēts ar 152) no 5 voltiem (VCC), tiek ietaupīti atlikušie 2,5 mA. Atvienojiet to, pārtraucot vara stiepli rezistora pusē, kas norāda uz ATTiny. Tas atspējo USB saskarni un, savukārt, iespēju programmēt Digispark plati, izmantojot USB. Lai to atkal iespējotu, bet tomēr taupītu enerģiju, pievienojiet rezistoru (apzīmēts ar 152) tieši pie USB 5 voltu, kas ir viegli pieejams diodes ārējā pusē.

    Diodes pareizo pusi var atrast, izmantojot nepārtrauktības testeri. Šī diodes viena puse ir savienota ar ATtiny (VCC) 8. tapu. Otra puse ir savienota ar 5 voltu USB.

Tagad USB pievilkšanas rezistors tiek aktivizēts tikai tad, ja Digispark plate ir pievienota USB, piem. programmēšanas laikā un tāfele miega laikā patērē 26 µA.

Pārprogrammējot drošinātājus, jūs varat iegūt 6 µA enerģijas patēriņu.

Lai pārprogrammētu drošinātājus, jums ir nepieciešams ISP (kuru var veidot, izmantojot Arduino) un savienojošais adapteris. Pārprogrammēšanai varat izmantot šo skriptu.

4. solis: atiestatīšanas poga

Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga
Atiestatīšanas poga

Ja nevēlaties atvienot strāvu, lai atiestatītu modinātāju, pievienojiet atiestatīšanas pogu starp PB5 un zemi. Es to izdarīju, savienojot nesaistīto VIN vara virsmu ar PB5 un lodējot atiestatīšanas pogu tieši pie VIN tapas cauruma un noņemtā VIN sprieguma regulatora lielās zemes virsmas.

Ja pēc atiestatīšanas vēlaties atbrīvoties no 5 sekunžu gaidīšanas līdz USB savienojumam, varat mainīt ATtiny85 kodolkodolu kodolu. Palaidiet skriptu "0_Burn_upgrade-t85_recommended.cmd" un pēc tam vēlreiz ielādējiet programmu OpenWindowAlarm ar Arduino IDE.

5. solis: runātājs

Runātājs
Runātājs
Runātājs
Runātājs
Runātājs
Runātājs

Es izjaucu vecās austiņas un pievienoju kabeļa vīriešu savienotāju.

6. darbība: ekspluatācija

Darbojas
Darbojas
Darbojas
Darbojas
Darbojas
Darbojas

Lai izmantotu dēli, novietojiet to uz palodzes un pievienojiet to akumulatoram. Ja temperatūra uz palodzes ir zemāka par temperatūru, kurā plāksne sākotnēji atradās, būs nepieciešamas vēl 5 minūtes, lai saprātīgi pieņemtu jauno sākuma vērtību.

Pēc tam jūs būsiet satraukts, ja atstāsit logu atvērtu ilgāk par piecām minūtēm.

Iekšējā darbība

  • Atvērts logs tiek atklāts pēc TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekundēm, kad tiek nolasīta temperatūra, kuras vērtība ir TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) zemāka par temperatūru TEMPERATURE_COMPARE_DISTANCE * 3 minūtes pirms TEMPERATUR.
  • Lai samazinātu enerģijas patēriņu, aizkave tiek īstenota, 3 reizes gulējot pie “SLEEP_MODE_PWR_DOWN” 8 sekundes.
  • Atvērta loga noteikšanu norāda ilgāks 20 ms mirgojums un īss klikšķis ik pēc 24 sekundēm. Tāpēc iekšējam sensoram ir 3 minūtes, lai pielāgotos ārējai temperatūrai, lai fiksētu pat nelielas temperatūras izmaiņas. Jo lielākas temperatūras izmaiņas, jo agrāk sensora vērtība mainīsies un atklās atvērtu logu.
  • "OPEN_WINDOW_ALARM_DELAY_MINUTES" (5) minūtes pēc atvērtā loga noteikšanas modinātājs ir aktivizēts.

    Modinātājs nesāks darboties vai aktivizēsies, ja pašreizējā temperatūra ir augstāka par minimālo izmērīto temperatūru (+ 1), t.i., logs jau ir aizvērts.

  • Sākotnējais trauksmes signāls ilgst 10 minūtes. Pēc tam tas tiek aktivizēts uz 10 sekundēm ar pieaugošu pārtraukumu no 24 sekundēm līdz 5 minūtēm.
  • Ik pēc VCC_MONITORING_DELAY_MIN (60) minūtēm tiek mērīts akumulatora spriegums. Atkarībā no noteiktā akumulatora veida ieslēgšanas brīdī (sk. VCC_VOLTAGE_LIPO_DETECTION (3,6 volti)), akumulatora spriegums zem VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) vai VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD ik pēc 24 sekundēm tiek parādīts ik pēc sekundes. Tikai pīkstiens (nevis zibspuldze) ir ievērojami garāks par pīkstienu atvērtā loga noteikšanai.
  • Pēc ieslēgšanas neaktīvais nostādināšanas laiks ir 5 minūtes. Ja norēķinu laikā tāfele kļūst aukstāka, tiek pievienotas 4:15 (vai 8:30) minūtes, lai izvairītos no viltus trauksmēm pēc ieslēgšanas.

Ieteicams: