Sommario:
- Passaggio 1: elenco delle parti
- Passaggio 2: Programmazione della scheda Digispark
- Passaggio 3: riduzione della potenza
- Passaggio 4: pulsante di ripristino
- Passaggio 5: altoparlante
- Passaggio 6: funzionamento
Video: Rilevatore di finestre aperte Arduino - per l'inverno: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Fuori fa freddo, ma a volte ho bisogno di aria fresca nelle mie stanze. Quindi, apro la finestra, esco dalla stanza, chiudo la porta e voglio tornare tra 5-10 minuti. E dopo qualche ora mi ricordo che la finestra è aperta… Forse lo sai o hai dei figli, che ti danno questa esperienza.
La mia soluzione è il rilevatore di finestre aperte. La batteria durerà per oltre un anno, quindi basta posizionarla in autunno e rimuoverla in primavera.
Passaggio 1: elenco delle parti
- Tabellone Digispark da eBay.
- Vecchie cuffie.
- Piccolo pulsante per il ripristino.
- Connettori per altoparlante - altrimenti non è possibile riprogrammare la scheda.
- Filo.
- Per l'alimentazione è necessario:
Custodia per batterie AAA con interruttore on/off. Puoi persino utilizzare batterie esaurite, poiché il modulo funzionerà fino a 2,4 Volt
O
Vecchia batteria lipo (anche il 30% di capacità è sufficiente per questo scopo) e se non si dispone già, un caricabatterie per batterie lipo da eBay.
O
Un supporto per pile a bottone CR2032
E
Diodo 1A 1N4001 o equivalente -o qualunque cosa tu abbia in queste dimensioni- per la protezione dall'inversione di polarità
Passaggio 2: Programmazione della scheda Digispark
Installazione del driver
È necessario installare il driver Digispark prima di poter programmare la scheda. Scaricalo qui, aprilo ed esegui " InstallDrivers.exe ".
Installazione di Arduino IDE
Installa la scheda Digispark per l'IDE Arduino come descritto in
Consiglio di utilizzare come URL della scheda Digispark in Arduino File/Preferences il nuovo https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json invece di https://digistump.com/package_digistump_index.json e installare il Schede Digistump AVR versione 1.6.8.
Poiché vogliamo risparmiare energia, il clock della scheda è impostato su 1 MHz nel nostro setup(), puoi scegliere Digispark (1 mhz - No USB) come scheda nel menu Strumenti.
Compila e carica il programma sulla bacheca
Nell'IDE di Arduino crea un nuovo schizzo con File/Nuovo e chiamalo ad es. "OpenWindowAlarm". Copia il codice da OpenWindowAlarm.ino
O
Scarica ed estrai il repository. Apri lo schizzo con File -> Apri… e seleziona la cartella "OpenWindowAlarm".
Compilalo e caricalo. Tieni presente che il caricamento non funzionerà se l'altoparlante è collegato. Se tutto funziona correttamente, il LED integrato del Digispark lampeggerà 5 volte (per il ritardo di allarme di 5 minuti) e poi inizierà a lampeggiare dopo 8 secondi con un intervallo di 24 secondi per segnalare ogni lettura di temperatura.
Passaggio 3: riduzione della potenza
La nostra scheda Digispark utilizza 5 mA a 3, 0 volt. Con 2 batterie AAA (1000mAh) funzionerà per 8 giorni. Ma è possibile ridurre il consumo energetico fino a 26 µA in 3 passaggi.
- Disabilitare il LED di potenza rompendo il filo di rame che collega il LED di potenza al diodo con un coltello o rimuovendo/disabilitando la resistenza da 102 si risparmia 1,3 mA.
- La rimozione del regolatore di tensione VIN consente di risparmiare 1,2 mA.
-
Scollegando la resistenza USB Pullup (contrassegnata con 152) da 5 Volt (VCC) si risparmiano i restanti 2,5 mA. Scollegalo rompendo il filo di rame sul lato del resistore che punta all'ATTiny. Questo disabilita l'interfaccia USB e di conseguenza la possibilità di programmare la scheda Digispark tramite USB. Per abilitarlo di nuovo, ma comunque risparmiare energia, collega il resistore (contrassegnato con 152) direttamente all'USB 5 volt che è facilmente disponibile sul lato esterno del diodo.
Il lato corretto del diodo può essere trovato utilizzando un tester di continuità. Un lato di questo diodo è collegato al pin 8 dell'ATtiny (VCC). L'altro lato è collegato a USB 5 volt.
Ora la resistenza di pullup USB viene attivata solo se la scheda Digispark è collegata a USB, ad es. durante la programmazione e la scheda consuma 26 µA durante lo sleep.
Se si riprogrammano i fusibili, è possibile ottenere un consumo di energia di 6 µA.
Per riprogrammare i fusibili, è necessario un ISP (che può essere costruito con un Arduino) e un adattatore di connessione. Per la riprogrammazione è possibile utilizzare questo script.
Passaggio 4: pulsante di ripristino
Se non si desidera togliere l'alimentazione per ripristinare l'allarme, collegare un pulsante di ripristino tra PB5 e massa. L'ho fatto collegando la superficie in rame VIN non collegata a PB5 e saldando il pulsante di ripristino direttamente al foro del pin VIN e alla grande superficie di massa del regolatore di tensione VIN rimosso.
Se vuoi eliminare i 5 secondi di attesa per la connessione USB dopo il ripristino, puoi cambiare il kernel del micronucleo su ATtiny85. Eseguire lo script "0_Burn_upgrade-t85_recommended.cmd" e quindi ricaricare nuovamente l'applicazione OpenWindowAlarm con l'IDE Arduino.
Passaggio 5: altoparlante
Ho smontato una vecchia cuffia e ho collegato il connettore maschio al cavo.
Passaggio 6: funzionamento
Per utilizzare la scheda posizionarla su un davanzale e collegarla a una batteria. Se la temperatura sul davanzale è inferiore alla temperatura in cui si trovava originariamente la scheda, saranno necessari altri 5 Minuti per adeguarsi in modo intelligente al nuovo valore di partenza.
Sarai quindi allarmato se lasci la finestra aperta per più di cinque minuti.
Operazione interna
- Viene rilevata una finestra aperta dopo TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) secondi di lettura di una temperatura con un valore di TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) inferiore alla temperatura TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE_SECONDS (192 secondi) -> prima di 3 minuti e 12 secondi.
- Il ritardo viene implementato dormendo 3 volte a `SLEEP_MODE_PWR_DOWN` per un periodo di 8 secondi per ridurre il consumo di energia.
- Il rilevamento di una finestra aperta è indicato da un lampeggio più lungo di 20 ms e da un breve clic ogni 24 secondi. Pertanto, il sensore interno ha un tempo di 3 minuti per adattarsi alla temperatura esterna in modo da catturare anche piccoli cambiamenti di temperatura. Maggiore è la variazione di temperatura, prima il valore del sensore cambierà e rileverà una finestra aperta.
-
`OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minuti dopo il rilevamento della finestra aperta viene attivato l'allarme.
L'allarme non partirà o un allarme attivato cesserà se la temperatura attuale è maggiore della temperatura minima misurata (+ 1) cioè la finestra è già stata chiusa.
- L'allarme iniziale dura 10 minuti. Successivamente si attiva per un periodo di 10 secondi con una pausa crescente da 24 secondi fino a 5 minuti.
- Ogni VCC_MONITORING_DELAY_MIN (60) minuti viene misurata la tensione della batteria. A seconda del tipo di batteria rilevato all'accensione (vedi VCC_VOLTAGE_LIPO_DETECTION (3.6 volt)), una tensione della batteria inferiore a VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) o VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Millivolt è indicata da un segnale acustico e dal lampeggio del LED ogni 24 secondi. Solo il segnale acustico (non il flash) è significativamente più lungo del segnale acustico per il rilevamento di una finestra aperta.
- Dopo l'accensione, il tempo di assestamento inattivo è di 5 minuti. Se la scheda si raffredda durante il tempo di assestamento, vengono aggiunti 4:15 (o 8:30) minuti per evitare falsi allarmi dopo l'accensione.
Consigliato:
Gestore finestre integrato: 10 passaggi
Embedded Window Manager: questo progetto mostra come implementare un window manager con finestre sovrapposte mobili su un microcontrollore incorporato con un pannello LCD e un touch screen. Ci sono pacchetti software disponibili in commercio per farlo, ma costano e sono vicini
Spettacolo di luci natalizie a LED facile: maghi in inverno - Striscia LED WS2812B con FastLED e tutorial Arduino: 6 passaggi
Spettacolo di luci natalizie a LED facile: maghi in inverno | Striscia LED WS2812B con FastLED e un tutorial Arduino: ho progettato e programmato questo spettacolo di luci natalizio da visualizzare ovunque. Ho usato una striscia led WS2812B con una densità di pixel di 30 pixel/metro. Dato che ho usato 5 metri, ho avuto un totale di 150 LED. Ho mantenuto il codice semplice in modo che chiunque fosse nuovo nell'uso di WS2812
Rilevatore di fumo IOT: aggiorna il rilevatore di fumo esistente con IOT: 6 passaggi (con immagini)
Rilevatore di fumo IOT: aggiorna il rilevatore di fumo esistente con IOT: elenco dei contributori, Inventore: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Supervisore: Dr Chia Kim Seng Dipartimento di ingegneria meccatronica e robotica, Facoltà di ingegneria elettrica ed elettronica, Universiti Tun Hussein Onn Malaysia.Distribuzione
Come aggiungere finestre di messaggio nella programmazione batch: 3 passaggi
Come aggiungere finestre di messaggio nella programmazione batch: hai mai desiderato aggiungere un'interfaccia grafica per i tuoi file batch come puoi in VBScript? di sicuro l'ho fatto. Ma ora puoi farlo con questo fantastico programma chiamato MessageBox
Come ripristinare le cartelle aperte quando accedi nuovamente dopo la disconnessione: 5 passaggi
Come ripristinare le cartelle aperte quando effettui nuovamente l'accesso dopo la disconnessione: Ok, ecco la situazione, stai utilizzando il computer con un sacco di cartelle aperte… Poi, tua madre è tornata a casa prima del previsto! Sai perfettamente che se ti becca mentre usi il computer, mentre dovresti essere a letto perché