Sommario:

Sveglia Sunrise con display LCD e app Bluetooth: 8 passaggi
Sveglia Sunrise con display LCD e app Bluetooth: 8 passaggi

Video: Sveglia Sunrise con display LCD e app Bluetooth: 8 passaggi

Video: Sveglia Sunrise con display LCD e app Bluetooth: 8 passaggi
Video: Miglior Sveglia 2023 2024, Luglio
Anonim
Sveglia Sunrise con display LCD e app Bluetooth
Sveglia Sunrise con display LCD e app Bluetooth
Sveglia Sunrise con display LCD e app Bluetooth
Sveglia Sunrise con display LCD e app Bluetooth

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

Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
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

Assemblaggio del circuito
Assemblaggio del circuito
Assemblaggio del circuito
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

Impostazione del display LCD e dell'orologio
Impostazione del display LCD e dell'orologio
Impostazione del display LCD e dell'orologio
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

codifica
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

Configurazione dell'app Bluetooth
Configurazione dell'app Bluetooth
Configurazione dell'app Bluetooth
Configurazione dell'app Bluetooth
Configurazione dell'app Bluetooth
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

Costruire il caso
Costruire il caso
Costruire il caso
Costruire il caso
Costruire il caso
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

Finito!
Finito!
Finito!
Finito!
Finito!
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: