Taula de continguts:

Detector de finestres obertes Arduino: per a l'hivern: 6 passos
Detector de finestres obertes Arduino: per a l'hivern: 6 passos

Vídeo: Detector de finestres obertes Arduino: per a l'hivern: 6 passos

Vídeo: Detector de finestres obertes Arduino: per a l'hivern: 6 passos
Vídeo: Heated Acetone to Smooth Polycarbonate 2024, Desembre
Anonim
Detector de finestres obertes Arduino: per a l’hivern
Detector de finestres obertes Arduino: per a l’hivern

A fora fa fred, però de vegades necessito aire fresc a les habitacions. Per tant, obro la finestra, surto de l’habitació, tanco la porta i vull tornar d’aquí a 5 o 10 minuts. I al cap d'unes hores recordo que la finestra està oberta … Potser ho sabeu o teniu fills, cosa que us dóna aquesta experiència.

La meva solució és el Detector de finestres obertes. La bateria durarà més d’un any, de manera que només cal que la col·loqueu a la tardor i traieu-la a la primavera.

Pas 1: llista de peces

Llista de peces
Llista de peces
Llista de peces
Llista de peces
Llista de peces
Llista de peces
Llista de peces
Llista de peces
  1. Tauler Digispark d’Ebay.
  2. Auriculars antics.
  3. Petit botó per restablir.
  4. Connectors per a altaveus; en cas contrari, no és possible reprogramar la placa.
  5. Filferro.
  6. Per a la font d'alimentació necessiteu:

Funda de la bateria AAA amb interruptor d’encès / apagat. Fins i tot podeu utilitzar bateries gastades, ja que el mòdul funcionarà fins a 2,4 Volts

O

Bateria lipo antiga (fins i tot amb un 30% de capacitat és suficient per a aquest propòsit) i, si no en teniu, un carregador per a bateries lipo d’Ebay.

O

Un suport per a cèl·lula de moneda CR2032

I

1A diode 1N4001 o equivalent -o el que tingueu en aquesta mida- per protegir la polaritat inversa

Pas 2: Programació del tauler Digispark

Programació del tauler Digispark
Programació del tauler Digispark
Programació del tauler Digispark
Programació del tauler Digispark

Instal·lació del controlador

Heu d’instal·lar el controlador Digispark abans de poder programar el tauler. Baixeu-lo aquí, obriu-lo i executeu "InstallDrivers.exe".

Instal·lació d’Arduino IDE

Instal·leu la placa Digispark per a l'IDE Arduino tal com es descriu a

Recomano utilitzar com a URL de la placa Digispark a Arduino File / Preferences el nou https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json en lloc de https://digistump.com/package_digistump_index.json i instal·lar el Digistump AVR Boards versió 1.6.8.

Com que volem estalviar energia, el rellotge de la placa canvia a 1 MHz a la nostra configuració (), podeu triar Digispark (1mhz - No USB) com a tauler al menú Eines.

Compileu i pengeu el programa al tauler

A l’IDE Arduino, creeu un nou esbós amb File / New i nomeneu-lo, per exemple. "Alarma OpenWindow". Copieu el codi d'OpenWindowAlarm.ino

O

Descarregueu i extreu el dipòsit. Obriu l'esbós amb Fitxer -> Obre … i seleccioneu la carpeta "OpenWindowAlarm".

Compileu-lo i pengeu-lo. Tingueu en compte que aquesta càrrega no funcionarà si hi ha un altaveu connectat. Si tot funciona bé, el LED integrat del Digispark parpellejarà 5 vegades (durant el retard d'alarma de 5 minuts) i començarà a parpellejar al cap de 8 segons amb un interval de 24 segons per indicar cada lectura de temperatura.

Pas 3: reducció de potència

Reducció de potència
Reducció de potència
Reducció de potència
Reducció de potència

La nostra placa Digispark utilitza 5 mA a 3, 0 volts. Amb 2 piles AAA (1000 mAh) funcionarà durant 8 dies. Però és possible reduir el consum d'energia fins a 26 µA en 3 passos.

  1. Desactivar el LED d’alimentació trencant el fil de coure que connecta el LED d’alimentació al díode amb un ganivet o treure / desactivar la resistència 102 estalvia 1,3 mA.
  2. En treure el regulador de tensió VIN, s’estalvien 1,2 mA.
  3. Si desconnecteu la resistència USB Pullup (marcada 152) de 5 volts (VCC), s’estalvien els 2,5 mA restants. Desconnecteu-lo trencant el fil de coure al costat de la resistència que apunta a l'ATTiny. Això desactiva la interfície USB i, al seu torn, la possibilitat de programar la placa Digispark mitjançant USB. Per tornar-lo a habilitar, però encara estalvieu energia, connecteu la resistència (marcada amb 152) directament a l'USB de 5 volts que està fàcilment disponible a la part exterior del díode.

    El costat correcte del díode es pot trobar mitjançant un provador de continuïtat. Un dels costats d’aquest díode està connectat al pin 8 de l’ATtiny (VCC). L'altra cara està connectada a USB de 5 volts.

Ara, la resistència d’extracció USB només s’activa si la placa Digispark està connectada a USB, per exemple. durant la programació i la placa consumeix 26 µA durant el son.

Si reprogrameu els fusibles, podeu obtenir un consum d'energia de 6 µA.

Per reprogramar els fusibles, necessiteu un ISP (que es pot construir amb un Arduino) i un adaptador de connexió. Per reprogramar podeu utilitzar aquest script.

Pas 4: botó Restableix

Botó de reset
Botó de reset
Botó de reset
Botó de reset
Botó de reset
Botó de reset
Botó de reset
Botó de reset

Si no voleu treure l'alimentació per restablir l'alarma, connecteu un botó de restabliment entre PB5 i terra. Ho vaig fer connectant la superfície de coure VIN no connectada a PB5 i soldant el botó de reinici directament al forat del pin VIN i a la gran superfície de terra del regulador de voltatge VIN eliminat.

Si voleu desfer-vos dels 5 segons d'espera de la connexió USB després de reiniciar-lo, podeu canviar el nucli de micronucli de l'ATtiny85. Executeu l'script "0_Burn_upgrade-t85_recommended.cmd" i, a continuació, torneu a carregar l'aplicació OpenWindowAlarm amb l'IDE Arduino.

Pas 5: altaveu

Altaveu
Altaveu
Altaveu
Altaveu
Altaveu
Altaveu

Vaig desmuntar uns auriculars antics i vaig connectar el connector mascle al cable.

Pas 6: funcionament

En funcionament
En funcionament
En funcionament
En funcionament
En funcionament
En funcionament

Per utilitzar el tauler, col·loqueu-lo en un llindar de la finestra i connecteu-lo a una bateria. Si la temperatura del llindar és inferior a la temperatura on es trobava originalment el tauler, trigareu 5 minuts addicionals a adoptar de manera intel·ligent el nou valor inicial.

Aleshores us alarmareu si deixeu la finestra oberta durant més de cinc minuts.

Funcionament intern

  • Es detecta una finestra oberta després de TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) segons de llegir una temperatura amb un valor de TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) inferior a la temperatura TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE_SAMPLE_SAMPLE_SAMPLE_SAMPLE_SAMPLE_SECONDS (48) segons
  • El retard s'implementa dormint 3 vegades a "SLEEP_MODE_PWR_DOWN" durant un període de 8 segons per reduir el consum d'energia.
  • La detecció d’una finestra oberta s’indica amb un parpelleig més llarg de 20 ms i un clic curt cada 24 segons. Per tant, el sensor intern té un temps de 3 minuts per ajustar-se a la temperatura exterior per tal de captar fins i tot petits canvis de temperatura. Com més gran sigui el canvi de temperatura, abans canviarà el valor del sensor i detectarà una finestra oberta.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minuts després de la detecció de la finestra oberta, l'alarma s'activa.

    L'alarma no s'iniciarà o una alarma activada s'aturarà si la temperatura actual és superior a la temperatura mínima mesurada (+ 1), és a dir, la finestra ja s'ha tancat.

  • L’alarma inicial dura 10 minuts. Després d'això, s'activa durant un període de 10 segons amb un augment creixent de 24 segons fins a 5 minuts.
  • Cada VCC_MONITORING_DELAY_MIN (60) minuts es mesura la tensió de la bateria. Depenent del tipus de bateria detectat a l’engegada (vegeu VCC_VOLTAGE_LIPO_DETECTION (3,6 volts)), una tensió de la bateria inferior a VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) o VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Millivolt s’indica cada 24 segons i parpelleja. Només el pit (no el flaix) és significativament més llarg que el pit per a la detecció d'una finestra oberta.
  • Després de l’encesa, el temps de decantació inactiu és de 5 minuts. Si la placa es refreda durant el temps de resolució, s’afegeixen 4:15 (o 8:30) minuts per evitar falses alarmes després de l’encesa.

Recomanat: