INHOUDSOPGAWE:

Arduino oop venster detector - vir die winter: 6 stappe
Arduino oop venster detector - vir die winter: 6 stappe

Video: Arduino oop venster detector - vir die winter: 6 stappe

Video: Arduino oop venster detector - vir die winter: 6 stappe
Video: CS50 2015 - Week 4 2024, November
Anonim
Arduino oop venster detector - vir die winter
Arduino oop venster detector - vir die winter

Dit raak koud buite, maar soms het ek vars lug in my kamers nodig. Ek maak die venster oop, verlaat die kamer, maak die deur toe en wil binne 5 tot 10 minute terugkom. En na 'n paar uur onthou ek dat die venster oop is … Miskien weet u dit of het u kinders, wat u hierdie ervaring gee.

My oplossing is die Open Window Detector. Die battery sal langer as 'n jaar hou, dus plaas dit in die herfs en verwyder dit in die lente.

Stap 1: Onderdele lys

Onderdele lys
Onderdele lys
Onderdele lys
Onderdele lys
Onderdele lys
Onderdele lys
Onderdele lys
Onderdele lys
  1. Digispark -bord van eBay.
  2. Ou koptelefoon.
  3. Klein knoppie om terug te stel.
  4. Verbindings vir luidspreker - anders is dit nie moontlik om die bord te herprogrammeer nie.
  5. Draad.
  6. Vir kragtoevoer benodig u:

AAA -batterykas met aan/uit -skakelaar. U kan selfs verslete batterye gebruik, aangesien die module tot 2,4 volt werk

OF

Ou lipo -battery (selfs 30% kapasiteit is voldoende vir hierdie doel) en as u nog nie beskik nie, 'n laaier vir lipo -batterye van eBay.

OF

'N Houer vir CR2032 muntstuk

EN

1A -diode 1N4001 of ekwivalent - of wat u ook al in hierdie grootte het - vir omgekeerde polariteitsbeskerming

Stap 2: Die programmering van die Digispark -bord

Die programmering van die Digispark Board
Die programmering van die Digispark Board
Die programmering van die Digispark Board
Die programmering van die Digispark Board

Bestuurder installasie

U moet die Digispark -bestuurder installeer voordat u die bord kan programmeer. Laai dit hier af, maak dit oop en voer "InstallDrivers.exe" uit.

Installasie van Arduino IDE

Installeer die Digispark -bord vir die Arduino IDE soos beskryf in

Ek beveel aan dat u die nuwe https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json in plaas van https://digistump.com/package_digistump_index.json as Digispark -bord -URL in Arduino File/Preferences gebruik en die Digistump AVR Boards weergawe 1.6.8.

Aangesien ons krag wil bespaar, word die bordklok in ons opstelling (1) oorgeskakel na 1 MHz (), en u kan Digispark (1mhz - geen USB) as bord kies in die menu Gereedskap.

Stel die program saam en laai dit op die bord op

Skep in die Arduino IDE 'n nuwe skets met File/New en noem dit bv. "OpenWindowAlarm". Kopieer die kode van OpenWindowAlarm.ino

OF

Laai die bewaarplek af en haal dit uit. Maak die skets oop met File -> Open … en kies die gids "OpenWindowAlarm".

Stel dit op en laai dit op. Hou in gedagte dat die oplaai nie werk as die luidspreker gekoppel is nie. As alles goed werk, flikker die ingeboude LED van die Digispark 5 keer (vir die 5 minute alarmvertraging) en begin dan na 8 sekondes met 'n interval van 24 sekondes om elke temperatuurlesing aan te dui.

Stap 3: Vermindering van krag

Kragvermindering
Kragvermindering
Kragvermindering
Kragvermindering

Ons Digispark -bord gebruik 5mA by 3, 0 volt. Met 2 AAA -batterye (1000mAh) werk dit vir 8 dae. Maar dit is moontlik om die energieverbruik in 3 stappe tot 26 µA te verminder.

  1. Deur die krag -LED uit te skakel deur die koperdraad wat die krag -LED met 'n mes verbind, te breek of die 102 -weerstand te verwyder / deaktiveer, bespaar 1,3 mA.
  2. As u die VIN -spanningsreguleerder verwyder, bespaar u 1,2 mA.
  3. As u die USB Pullup -weerstand (gemerk 152) van 5 Volt (VCC) ontkoppel, bespaar u die oorblywende 2,5 mA. Ontkoppel dit deur die koperdraad aan die kant van die weerstand wat na die ATTiny wys, te breek. Dit skakel die USB -koppelvlak uit en weer die moontlikheid om die Digispark -bord via USB te programmeer. Koppel die weerstand (gemerk 152) direk aan die USB 5 volt wat maklik aan die buitekant van die diode beskikbaar is om dit weer moontlik te maak, maar steeds krag te bespaar.

    Die korrekte kant van die diode kan gevind word deur 'n kontinuïteitstoetser te gebruik. Die een kant van hierdie diode is verbind met pen 8 van die ATtiny (VCC). Die ander kant is gekoppel aan USB 5 volt.

Nou word die USB -pullup -weerstand slegs geaktiveer as die Digispark -bord aan USB gekoppel is, bv. tydens die programmering en die bord verbruik 26 µA tydens slaap.

As u die lont herprogrammeer, kan u 6 µA kragverbruik kry.

Om die siklusse te herprogrammeer, benodig u 'n ISP (wat met 'n Arduino gebou kan word) en 'n verbindingsadapter. Vir herprogrammering kan u hierdie script gebruik.

Stap 4: knoppie Herstel

Herstelknoppie
Herstelknoppie
Herstelknoppie
Herstelknoppie
Herstelknoppie
Herstelknoppie
Herstelknoppie
Herstelknoppie

As u nie die krag wil verwyder om die alarm te herstel nie, koppel 'n resetknoppie tussen PB5 en die grond. Ek het dit gedoen deur die ongekoppelde VIN -koperoppervlak aan PB5 te koppel en die resetknoppie direk aan die VIN -pengat en die groot grondoppervlak van die verwyderde VIN -spanningsreguleerder te soldeer.

As u wil ontslae raak van die 5 sekondes wag vir die USB -verbinding na die herstel, kan u die mikrokernpit op die ATtiny85 verander. Voer die script "0_Burn_upgrade-t85_recommended.cmd" uit en laai dan weer die OpenWindowAlarm-toepassing met die Arduino IDE.

Stap 5: Luidspreker

Spreker
Spreker
Spreker
Spreker
Spreker
Spreker

Ek het 'n ou headset uitmekaar gehaal en die manlike aansluiting aan die kabel gekoppel.

Stap 6: Werk

Bedryf
Bedryf
Bedryf
Bedryf
Bedryf
Bedryf

Om die bord te gebruik, plaas dit op 'n vensterbank en koppel dit aan 'n battery. As die temperatuur op die vensterbank laer is as die temperatuur waar die bord oorspronklik geleë was, sal dit nog 5 minute neem om die nuwe beginwaarde intelligent te aanvaar.

U sal dan skrik as u die venster langer as vyf minute oop laat bly.

Interne werking

  • 'N Oop venster word bespeur nadat TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) sekondes van die lees van 'n temperatuur met 'n waarde van TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) laer as die temperatuur TEMPERATURE_COMPARE_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPER_DISTANCE * TEMPERATURS * TEMPERATURS * TEMPERATURS * TEMPERATUUR * TEMPERATUUR
  • Die vertraging word geïmplementeer deur 3 keer op 'SLEEP_MODE_PWR_DOWN' vir 8 sekondes te slaap om die kragverbruik te verminder.
  • 'N Opsporing van 'n oop venster word aangedui deur 'n langer knip van 20 ms en 'n kort klik elke 24 sekondes. Daarom het die interne sensor 'n tyd van 3 minute om aan te pas by die buitentemperatuur om selfs klein temperatuurveranderinge vas te vang. Hoe groter die temperatuurverandering, hoe vroeër sal die sensorwaarde verander en 'n oop venster opspoor.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minute na opsporing van oop venster word die alarm geaktiveer.

    Die alarm sal nie begin nie, of 'n geaktiveerde alarm sal stop as die huidige temperatuur hoër is as die minimum gemete temperatuur (+ 1), dws die venster is reeds gesluit.

  • Die aanvanklike alarm duur 10 minute. Daarna word dit geaktiveer vir 'n periode van 10 sekondes met 'n toenemende onderbreking van 24 sekondes tot 5 minute.
  • Elke VCC_MONITORING_DELAY_MIN (60) minute word die batteryspanning gemeet. Afhangende van die tipe battery wat opgespoor word (sien VCC_VOLTAGE_LIPO_DETECTION (3,6 volt)), word 'n batteryspanning onder VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) of VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD elke 24 sekondes aangedui. Slegs die piep (nie die flits nie) is aansienlik langer as die piep vir 'n oop venster -opsporing.
  • Na aanskakel is die onaktiewe vestigingstyd 5 minute. As die bord kouer word tydens die vestigingstyd, word 4:15 (of 8:30) minute bygevoeg om vals alarm te vermy nadat dit aangeskakel is.

Aanbeveel: