Sommario:
- Passaggio 1: raccogliere le parti
- Passaggio 2: assemblaggio del circuito
- Passaggio 3: impostazione del display LCD e dell'orologio
- Passaggio 4: codifica
- Passaggio 5: tempo per il test
- Passaggio 6: configurazione dell'app Bluetooth
- Passaggio 7: costruire il caso
- Passaggio 8: finito
Video: Sveglia Sunrise con display LCD e app Bluetooth: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
L'inverno può essere triste. Ti svegli, è buio e devi alzarti dal letto. L'ultima cosa che vuoi sentire è il suono fastidioso della tua sveglia. Se anche tu, come me, hai difficoltà a svegliarti la mattina, questa sveglia è proprio ciò di cui hai bisogno.
In questo tutorial, costruiremo una sveglia Sunrise. È una sveglia come un'altra in quanto puoi impostare l'ora e i minuti in cui vuoi svegliarti, ma con il vantaggio di usare la luce per illuminare la tua camera da letto per un periodo di tempo come un'alba per svegliarti invece di un fastidioso cicalino!
Utilizzeremo anche un modulo bluetooth per creare un'app che ti consentirà di impostare la sveglia sull'orologio tramite il telefono. Il display LCD mostrerà l'ora, la data e il giorno della settimana. Le lampade Sunrise esistono sul mercato ma possono essere costose (una rapida ricerca su Google restituisce prodotti nella fascia di 100€), fragili e dall'aspetto piuttosto clinico. Ecco perché ho deciso di crearne uno mio per il mio progetto Arduino School. Tutte le parti verranno elencate nel passaggio successivo. Il codice può essere scaricato dal mio repository Github sunrise-alarm-clock. Cominciamo:)
tutto il codice può essere trovato su:
Passaggio 1: raccogliere le parti
Useremo un orologio come input e un LED ultra luminoso come output per simulare la nostra alba.
Per costruire il circuito avremo bisogno di:
- Arduino Uno- clockmodule RTC DS3231 - un MOSFET per controllare la luminosità della luce - un LED super luminoso (ne ho comprati 2, uno caldo, uno freddo) - Batteria da 9V per alimentare il LED - una breadboard- un Display LCD (16:2)- Adattatore Bluetooth hc-05 così possiamo usare un'app per impostare la sveglia.
Tutto ciò di cui hai bisogno può essere acquistato su www.martoparts.nl
Passaggio 2: assemblaggio del circuito
Puoi fare riferimento allo schizzo per il mio circuito, sfortunatamente non ho trovato l'RTC DS3231 nel programma quindi ho dovuto fare con questo. Le connessioni sono un po' diverse in realtà, ecco le connessioni. (il modulo bluetooth non è nello schizzo ma spiegherò come funziona di seguito perché è piuttosto complicato)
RTC DS3231GND va a GND sull'arduino
VCC va al 5v
SDA va ad arduino
SCL va su arduinoNon useremo SQW e 32KMOSFET
Il pin del gate va al pin ~ 9 su Arduino Uno perché è PWM Il pin di Drain va sul lato negativo del LED Il pin della sorgente va a GND sull'ArduinoLCD-DisplayGND va a GND sull'arduino
VCC va a 5VSDA va a A4 su arduinoSKL va a A5 su arduinoLED- va a mosfet+ va alla batteria 5v9v Puoi acquistare una batteria da 9v in qualsiasi negozio locale, collegalo ad arduino con una striscia di connettori.
Il modulo Bluetooth hc-055V va a 5V dall'arduino
GND va a GND sull'arduino
Ora ci sono altri 2 ingressi ma qui arriva la parte difficile, dobbiamo collegare gli ingressi opposti di quei 2 su arduinoTX da hc-05 va a RX su arduinoRX da hc-05 va a TX su arduino
Importante: assicurati di SCOLLEGARE TX e RX dall'HC-05 quando stai caricando il codice sul tuo arduino o riceverai un errore che dice "qualcosa è andato storto con il caricamento del codice" nel compilatore.
Passaggio 3: impostazione del display LCD e dell'orologio
La libreria utilizzata per il display LCD è a cristalli liquidi e può essere trovata su: https://github.com/fdebrabander/Arduino-LiquidCrys… Scarica il file zip, salvalo e inseriscilo nella cartella /libraries di Arduino
La libreria che sto usando per eseguire l'orologio può essere trovata su Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 e assicurati di essere sulla pagina DS3231. Scarica il file zip, salvalo e inseriscilo nella cartella delle librerie di Arduino.
Tempo
Includi la libreria DS3231 o DS1307 nel tuo codice arduino
Decommenta queste 3 righe di codice per impostare l'ora:
// rtc.setDOW(MONDAY); // Imposta il giorno della settimana su SUNDAY// rtc.setTime(23, 57, 0); // Imposta l'ora su 12:00:00 (formato 24 ore) // rtc.setDate(14, 1, 2019); // Imposta la data al 1 gennaio 2014
Display LCD
Includi la libreria liqduicrystal_i2c nel tuo codice arduino
Per stampare sul display LCD utilizzare
lcd.setCursor(col, row) // posizione del testo stampatolcd.print(~) // testo stampato
Passaggio 4: codifica
Scarica il codice su: github:
Decommenta queste 3 righe per impostare l'orologio sul display LCD:
// rtc.setDOW(MONDAY); // Imposta il giorno della settimana su SUNDAY// rtc.setTime(23, 57, 0); // Imposta l'ora su 12:00:00 (formato 24 ore) // rtc.setDate(14, 1, 2019); // Imposta la data al 1 gennaio 2014
Usa lcd.setCuros(col, riga); per impostare la posizione del testo sul display
lcd.setCursor(0, 2);
e print() per stampare qualcosa sul display
lcd.print(rtc.getDateStr());
Cambia queste variabili se vuoi
int fadeTime = 1; // Per quanto tempo la luce svanirà al massimo setHour = 02; // Imposta le ore di sveglia (ora militare)int setMin = 49; // Imposta i minuti per svegliarsi int uled = 9; // Imposta la piedinatura con PWM
Codice modulo Bluetooth
String firstHalf = getValue(input, ':', 0); // controlla il primo input fino a ":"
String secondHalf = getValue(input, ':', 1); // controlla il secondo input dopo ":"
// usa questo codice se non stai usando il modulo bluetooth
// //if (t.hour == setHour && t.min == setMin) // Controlla se è ora di svegliarsi! // { // cominciare(); // }
// controlla le prime 2 cifre di input, quindi controlla le seconde 2 cifre di input
if (t.hour == firstHalf.toInt() && t.min == secondHalf.toInt()) { start(); } }
// logica per separare le stringhe
String getValue(String data, char separator, int index) { int found = 0; int strIndex = { 0, -1 }; int maxIndex = data.length() - 1;
for (int i = 0; i <= maxIndex && found <= index; i++) { if (data.charAt(i) == separator || i == maxIndex) { found++; strIndex[0] = strIndex[1] + 1; strIndex[1] = (i == maxIndex) ? io+1: io; } } ritorno trovato> indice ? data.substring(strIndex[0], strIndex[1]): ""; }
Passaggio 5: tempo per il test
Compila il tuo codice e verifica se i componenti funzionano!
Passaggio 6: configurazione dell'app Bluetooth
Poiché ho trovato fastidioso scavare nel codice ogni volta che volevo impostare un allarme, volevo creare un'app che impostasse l'allarme, il che è molto più semplice.
Vai a https://ai2.appinventor.mit.eduqui possiamo creare una semplice app che ci permetta di impostare l'allarme, ho incluso il semplice set-up del design (puoi sempre modificarlo in seguito) e il codice utilizzato per connessione bluetooth. Puoi quindi pubblicare la tua app e connetterti con essa sul tuo telefono utilizzando un codice QR o scaricando direttamente l'app sul tuo computer, quindi portarla via cavo sul tuo telefono. (immagine dello schermo)
Passaggio 7: costruire il caso
Puoi sempre costruire un caso diverso attorno al tuo orologio arduino. Ho usato legno e plexiglass opaco per costruire la mia cassa della sveglia. Ho scelto il plexiglass opaco in modo da poter vedere chiaramente la luce che risplende attraverso la cassa ma non è possibile vedere l'interno dell'orologio.
Passaggio 8: finito
Ora che hai caricato il codice sul tuo arduino, costruito la custodia e verificato se hai assemblato correttamente il tuo orologio, puoi impostare una sveglia sull'app bluetooth e iniziare a svegliarti in modo più naturale!:)
Consigliato:
Sveglia da comodino MP3 con lettera sveglia: 6 passaggi (con immagini)
Sveglia da comodino MP3 con sveglia: per questo progetto ho voluto creare una sveglia da comodino comoda e completamente funzionale. I miei prerequisiti personali per una sveglia da comodino sono: Leggibile a qualsiasi luce, ma non accecante di notte Brani della sveglia MP3 Attira
Sveglia intelligente: una sveglia intelligente realizzata con Raspberry Pi: 10 passaggi (con immagini)
Sveglia intelligente: una sveglia intelligente realizzata con Raspberry Pi: hai mai desiderato un orologio intelligente? Se è così, questa è la soluzione per te! Ho realizzato Smart Alarm Clock, questo è un orologio con cui puoi modificare l'ora della sveglia in base al sito web. Quando la sveglia suona, ci sarà un suono (cicalino) e 2 luci si accenderanno
Sveglia LED Sunrise: 5 passaggi (con immagini)
Sveglia LED Sunrise: problemi ad alzarsi la mattina? Odi il suono aspro e penetrante di un allarme? Preferiresti fare qualcosa da solo che potresti probabilmente acquistare per meno tempo e denaro? Allora dai un'occhiata a questa sveglia LED Sunrise! Le sveglie Sunrise sono progettate per
Sveglia Sunrise con Arduino: 9 passaggi (con immagini)
Sveglia all'alba con Arduino: l'inverno può essere triste. Ti svegli, è buio e devi alzarti dal letto. L'ultima cosa che vuoi sentire è il suono assordante della tua sveglia. Vivo a Londra e faccio fatica a svegliarmi la mattina. Inoltre, mi manca svegliarmi con
Sveglia LED Sunrise con sveglia con canzone personalizzabile: 7 passaggi (con immagini)
Sveglia a LED all'alba con sveglia personalizzabile: la mia motivazione Quest'inverno la mia ragazza ha avuto molti problemi a svegliarsi al mattino e sembrava soffrire di SAD (disturbo affettivo stagionale). Mi accorgo anche di quanto sia più difficile svegliarsi d'inverno visto che il sole non è ancora arrivato