Sommario:

Sveglia LED Sunrise con sveglia con canzone personalizzabile: 7 passaggi (con immagini)
Sveglia LED Sunrise con sveglia con canzone personalizzabile: 7 passaggi (con immagini)

Video: Sveglia LED Sunrise con sveglia con canzone personalizzabile: 7 passaggi (con immagini)

Video: Sveglia LED Sunrise con sveglia con canzone personalizzabile: 7 passaggi (con immagini)
Video: Aid of the Tempest | Critical Role | Campaign 3, Episode 66 2024, Dicembre
Anonim
Sveglia LED Sunrise con sveglia personalizzabile
Sveglia LED Sunrise con sveglia personalizzabile

La mia motivazione Quest'inverno la mia ragazza ha avuto molti problemi a svegliarsi la mattina e sembrava soffrire di SAD (disturbo affettivo stagionale). Ho anche notato quanto sia più difficile svegliarsi in inverno poiché il sole non è ancora sorto. I sintomi di un grave SAD possono includere irritabilità, dormire troppo ma ancora essere stanchi, non essere in grado di alzarsi dal letto, depressione e persino alcuni problemi fisici come dolori articolari e ridotta resistenza alle infezioni. Avevo sentito parlare di allarmi alba che simulavano l'alba e ho pensato che potesse essere una possibile soluzione al suo problema. Il piano Mi sono ricordato di aver visto un istruibile (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) sulla modifica di un allarme alba per fornire luce blu utilizzando i LED poiché il blu dovrebbe essere la luce buona per dare una mano. Mi è piaciuta l'idea, ma il modo in cui il microcontrollore viene utilizzato in questo tutorial mi ha intimidito poiché ho avuto un'esperienza limitata con la programmazione di uno dopo che il codice è stato sviluppato. Inoltre non ha risolto l'altra mia preoccupazione: spendere $ 80 su una sveglia e modificarla, non che la mia ragazza non ne valga la pena:D Per prima cosa ho pensato di sviluppare un orologio da zero usando un microcontrollore. Abbiamo costruito un orologio per il conteggio binario in una delle mie classi universitarie, quindi conoscevo bene la logica. In seguito ho rinunciato a quell'idea poiché non avrei usato lo stesso linguaggio di programmazione e avrei impiegato molto tempo per sviluppare il codice. Ho quindi avuto l'idea di utilizzare una sveglia digitale economica che potrebbe, si spera, fornire una tensione quando l'allarme è scattato. Potrei prendere questa tensione e usarla come interruttore con un microcontrollore. Quando l'allarme è scattato e la tensione è aumentata, il processo di attenuazione è iniziato. Se si premeva il pulsante snooze o si spegneva l'allarme, la tensione si abbassava e il processo di attenuazione si interrompeva, spegnendo le luci. Ho studiato questa idea e ho scoperto che era possibile utilizzare una tensione da un orologio e usarla con un microcontrollore! Un ragazzo aveva completato un progetto simile che apriva i bui automaticamente al mattino (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Il microcontrollore Le idee iniziarono a fluire e tutto quello che avevo da fare era scegliere un microcontrollore da usare. Ho visto un articolo su sparkfun.com che ha attraversato il processo di creazione di un circuito per eseguire un ATMega168. Ho letto attentamente e ho deciso che sembrava abbastanza semplice e che era il microcontrollore che volevo usare. Dopo ulteriori ricerche, ho trovato questa cosa Arduino che tutti hanno usato per i loro progetti fai-da-te. Utilizzava ATMega168, era open source e aveva numerosi forum di assistenza ed esempi di partenza; perfetto per il principiante. Ho deciso di usarlo per programmare il mio ATMega168 e trapiantarlo in una breakout board che conteneva gli elementi essenziali per il funzionamento di ATMega168. Con l'ultimo pezzo del puzzle in mano, potrei iniziare. Nota a margine rapida: prima di iniziare, voglio solo dire grazie a tutte le fonti che ho usato. Ho cercato di assicurarmi di aver collegato qualsiasi riferimento che ho usato all'interno dell'istruzione. Il codice è solo una manipolazione degli esempi inclusi nell'ambiente Arduino e un po' mio, quindi grazie alle persone che li hanno codificati! Inoltre, questo è il mio primo progetto di microcontrollore. Sono sicuro di non aver fatto tutto completamente corretto, come l'aggiunta di cappucci del filtro a luoghi e altre varie parti ai miei circuiti. Se vedi qualcosa che può essere migliorato, fammi sapere! Mi assicurerò di aggiornarlo o di prenderne nota. Divertiti!

Passaggio 1: sondare il circuito di uscita dell'orologio e dell'allarme

Sondaggio del circuito di uscita dell'orologio e della sveglia
Sondaggio del circuito di uscita dell'orologio e della sveglia
Sondaggio del circuito di uscita dell'orologio e della sveglia
Sondaggio del circuito di uscita dell'orologio e della sveglia
Sondaggio del circuito di uscita dell'orologio e della sveglia
Sondaggio del circuito di uscita dell'orologio e della sveglia

Probing the Clock Questo è l'orologio che ho scelto. L'ho preso da Walmart ed era economico, quindi se non fossi stato in grado di usarlo, non sarei stato troppo arrabbiato. Ha anche una batteria di backup da 9 V in caso di interruzione dell'alimentazione. In seguito ho scoperto che la sequenza di allarme dall'ATMega168 continua a suonare! Quindi ti sveglierà comunque se non c'è corrente! Quando si scarica la batteria, il display anteriore si spegne e passa a un altro orologio interno che è meno preciso ma funziona ancora bene. Quando viene ricollegata l'alimentazione, potrebbe essere necessario regolare l'orologio, ma le impostazioni della sveglia rimarranno. L'orologio si smonta abbastanza facilmente. Ci sono quattro viti sul fondo e tre viti che mantengono la scheda PCB dei pulsanti fissata alla parte superiore della cassa dell'orologio. Per rimuovere la parte superiore e ottenere un migliore accesso allo schermo LCD, è necessario infilare la clip 9v attraverso il foro nella metà inferiore. Il display LCD anteriore si apre e dopo l'ispezione, c'erano diverse parti. Ho trovato un trasformatore, un altoparlante piezoelettrico per l'allarme, alcuni diodi per il circuito raddrizzatore, alcuni pulsanti per gli ingressi e un display dell'orologio che sembrava avere sotto tutti i circuiti dell'orologio. Ho trovato il terreno e ho iniziato a sondare. FATE ATTENZIONE MENTRE FATE QUESTO SUL VOSTRO OROLOGIO, C'È UN TRASFORMATORE ESPOSTO CHE EROGA UN FORTE SHOCK. Ho preso nota delle tensioni su ciascun pin quando l'allarme era spento e quando l'allarme era acceso. Speravo in un pin che fornisse una buona tensione logica di 5 V quando l'allarme era attivo e 0 V quando l'allarme era disattivato. Non sono stato così fortunato, ma il voltaggio che è andato all'altoparlante ha fornito un voltaggio che variava da 9,5v-12,5v. Ho pensato che avrei potuto usare questo. Ho anche trovato un pin etichettato VCC che forniva una tensione che variava da 10v-12v. Questo entra in gioco in seguito quando si costruisce l'alimentatore per il microcontrollore. Circuito di uscita dell'allarme Ho saldato un filo a massa e uno al pin dell'allarme e ho iniziato a lavorare su un circuito per stabilizzare la tensione. Ho pensato che avrei potuto usare un regolatore 5v ma avevo solo un regolatore regolabile in giro. Ho fatto un po' di calcoli e i miei valori hanno fornito una tensione leggermente inferiore a 5v. Ho armeggiato un po 'e ho scambiato le resistenze fino a quando non ha fornito i 5v di cui avevo bisogno. Ho usato un condensatore da 470uF sull'ingresso per appianare la tensione. Con il condensatore, la tensione variava solo da 10.5v-10v. Di seguito è riportato lo schema del circuito che ho usato per condizionare l'uscita dell'allarme e un'immagine delle parti insieme su una breadboard.

Passaggio 2: circuito di alimentazione, circuito driver LED e cablaggio

Circuito di alimentazione, circuito driver LED e cablaggio
Circuito di alimentazione, circuito driver LED e cablaggio
Circuito di alimentazione, circuito driver LED e cablaggio
Circuito di alimentazione, circuito driver LED e cablaggio
Circuito di alimentazione, circuito driver LED e cablaggio
Circuito di alimentazione, circuito driver LED e cablaggio

Circuito di alimentazione Se dovessi collegare il microcontrollore direttamente al Vcc dell'orologio, lo farei esplodere (beh, non proprio, ma lo renderei inutile). Avevo bisogno di condizionare la tensione e portarla a 5v. Ho usato un semplice circuito regolatore che utilizza solo due condensatori e un regolatore 5v. Sono andato al laboratorio della scuola e ho trovato un regolatore 5v nel mucchio della spazzatura. Ho collegato il circuito e l'ho testato. Ha fornito un bel circuito driver LED da 4,99 V. Poiché ATMega168 può fornire solo circa 16 mA di corrente a ciascuna delle sue uscite digitali, è necessario un regolatore di corrente per alimentare i LED. Ho trovato questo circuito sui forum di aiuto di Arduino e sembra un circuito abbastanza comune e semplice. Per dirigere la luce dei LED, ho deciso di utilizzare un riflettore di una torcia. La torcia che ho comprato aveva tre fori per tre LED. Ho deciso di macinarli più grandi e di metterne quattro in ogni foro, spiegando così come è disegnato il circuito. Cablaggio Una volta capito che potevo usare con successo il Vcc dell'orologio e l'uscita dell'allarme, ho deciso di saldare dei fili sottili e del filo fuori attraverso un foro sul lato. Ho anche avuto l'idea di aggiungere un loop nel mio programma a microcontrollore per riprodurre una canzone invece dell'allarme originale. Ho saldato due fili più lunghi all'altoparlante piezoelettrico e ho infilato anche quelli lateralmente. Ho usato delle tronchesi per tagliare una piccola tacca nella metà superiore dell'orologio e ho rimontato il tutto.

Passaggio 3: collegamento di ATMega168 e creazione del prototipo

Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo
Collegamento di ATMega168 e costruzione del prototipo

Collegamento di ATMega168 Ci sono solo pochi pin che devono essere collegati per far funzionare ATMega168. Ho trovato questo pinout di ATMega168 su https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf Le connessioni sono le seguenti: Da Vcc-Pin 1 a Vcc con un resistore da 10k. -Pin 7 e Pin 20 a VccTo Ground-Pin 8 e Pin 22 a Ground-Pin 21 a Ground con un condensatore elettrolitico.1uFInput-Pin 4 (pin digitale 2) è collegato al mio filo di allarmeOutput-Pin 15 a NEGATIVO Cavo del piezoelettrico speaker-Pin 16 all'ingresso del circuito driver LEDClock-16Mhz Crystal - Una gamba al Pin 9 l'altra gamba al Pin 10--11 Connessioni in tutto--Nota: credo che avrei potuto collegare dei cappucci alle gambe del il cristallo ma poiché il mio programma non ha bisogno di un orologio molto preciso, l'ho lasciato così com'è. Ho usato il pin digitale di ingresso dell'allarme a caso, qualsiasi altro pin digitale dovrebbe funzionare. L'altoparlante piezoelettrico e i LED devono essere collegati a un pin PWM digitale o non funzioneranno. Inoltre, non sono riuscito a trovare un buon modello in Eagle per il modello a 28 pin, quindi ho semplicemente dipinto MS tutto insieme: D Scusa se sembra confuso. Fai domande se ne hai bisogno! Ho creato anche uno schema a blocchi per aiutare a capire dove tutto va o viene da. uno) -1k Ohm Resistor -3.8k Ohm Resistor -470uF Condensatore elettroliticoAlimentazione -UA7805C Regolatore 5v -100uF Condensatore elettrolitico -10uF Condensatore elettrolitico Circuito driver LED -2N3904 -150 Ohm (Puoi sperimentare valori di resistenza inferiori o superiori a seconda dei tuoi LED) -1k Ohm ResistorMicrocontroller -28 Pin Socket (opzionale ma ho riprogrammato il mio ATMega168 numerose volte con il mio Arduino) -ATMega168 -.1uF Condensatore elettrolitico -16 MHz Crystal -10k Ohm ResistorMisc. Materiali di consumo -Scheda perforante per prototipazione -Gambe e viti della scheda per prototipazione -Filo Quando ho prototipato il mio circuito, ho costruito ogni sezione su una breadboard, l'ho testata e trasferita sulla scheda perforata. Ho iniziato con il circuito di uscita dell'allarme e mi sono assicurato che funzionasse correttamente. Sono quindi passato alla parte di alimentazione, quindi al driver LED e ho terminato con il circuito del microcontrollore. Ma, visto che non devi testare il circuito e assicurarti che i concetti funzionino, dato che l'ho già fatto, puoi semplicemente costruire l'intero circuito. Assicurati di ottenere le giuste tensioni nei posti giusti. 0v all'uscita del circuito di uscita dell'allarme quando l'allarme è disattivato e 5v quando è attivo. 5v all'uscita del circuito di alimentazione. Non attaccare ancora l'ATMega168 nella presa, deve essere programmato. Avrei potuto usare una tavola di perforazione più piccola o ridurre la mia, ma ho deciso di lasciarla stare. Non è estremamente grande. Dopo che il circuito è stato prototipato, può iniziare la costruzione della lampadina LED.

Passaggio 4: costruzione del LED "Lampadina"

Costruire il LED
Costruire il LED
Costruire il LED
Costruire il LED
Costruire il LED
Costruire il LED
Costruire il LED
Costruire il LED

La lampadina a triplo LED !!!!"' Se vuoi, puoi saltare questo passaggio e utilizzare un singolo LED per testare il tuo circuito. Puoi tornare a questo quando hai il circuito confermato e funzionante. Inoltre, ho usato il bianco LED perché non avevo più blu ad alta luminosità a sinistra. Ho sentito che il blu aiuta meglio con il SAD. Sono andato al negozio del dollaro per prendere una torcia economica perché avevo bisogno di un riflettore per dirigere la luce dei LED. La torcia I acquistato conteneva tre LED. Ho deciso di inserire quattro LED in ogni foro e avevo bisogno di un modo per cablarli tutti. Ho inventato questo processo che salda quattro LED insieme e quindi collega tre di questi "quad LED" insieme. Tutti i LED sono in parallelo, mantenendo la tensione uguale a quella di un LED e aumentando la corrente. Questo è ciò che fornisce il circuito del driver LED. Protip: piccole pinze a becco d'ago aiutanoFase1: tieni due LED insieme con i cavi di massa che si toccano. I bordi piatti dei LED dovrebbero sedersi uno accanto all'altro. Caricare la punta del saldatore n con un po' di saldatura in modo che ci sia una goccia di saldatura liquida sulla punta. Tocca rapidamente i due cavi di massa con il saldatore il più vicino possibile al LED. Se lasci la punta lì a lungo, i cavi si surriscaldano e non si sentirà molto bene. Passaggio 2: utilizzando uno strumento Dremel, una lima o una carta vetrata, levigare i bordi di un lato di un paio in modo che si appiattiscano sedersi accanto a un'altra coppia di colore. Ho levigato i LED per aiutare a diffondere un po' la luce. Ora piega i cavi come mostrato. È un po' difficile fotografare il processo, ma sostanzialmente piegare i cavi positivi verso l'esterno. Piega i conduttori negativi verso i lati appiattiti e verso l'alto in modo che quando metti insieme due paia, i quattro conduttori negativi si uniscano tutti insieme come un unico grande vantaggio. Prendendo due paia, tienile insieme. I pin negativi saranno tutti al centro. Toccali con il tuo saldatore per fonderli tutti insieme. Passaggio 3: ora che i quattro cavi negativi sono saldati insieme, agganciane tre, lasciandone solo uno. Ora, piega uno dei cavi positivi attorno all'esterno del LED quadruplo, saldandolo ad ogni connessione. Ritaglia tutti i cavi positivi tranne uno lasciando uno positivo e uno negativo. Il gioco è fatto! Ora creane altri due:] Una volta che hai tre LED quadrupli, è il momento di inserirli nel riflettore della torcia. Ho comprato questa torcia per $ 3 al negozio del dollaro. È un idiota e tutte le parti si attorcigliano, quindi è facile accedere a tutte le parti. Io uso il riflettore argento e il retro cono nero. Il cono nero può essere spogliato delle sue parti metalliche lasciando solo il pezzo di plastica. Viene utilizzato in seguito per fissare la lampadina al collo regolabile. A seconda della torcia che trovi, potresti dover montare i tuoi LED sul collo regolabile in modo diverso. Ho cercato di trovare una torcia generica che sarebbe disponibile in molti posti. Passaggio 4: ho usato un dremel per allargare i tre fori nel riflettore. Ho quindi spinto ciascuno dei quattro LED quadrupli nei loro fori con i cavi negativi verso l'interno. Piegare e saldare insieme i cavi negativo e positivo completando la LAMPADINA LED TRIPLE QUAD! Ho quindi saldato due fili lunghi e sottili che verranno in seguito inseriti nel collo regolabile e saldati alla scheda del circuito principale. Ho anche messo della colla su ogni pacchetto di quattro LED per assicurarmi che rimanessero al loro posto.

Passaggio 5: collo e base regolabili

Collo e base regolabili
Collo e base regolabili
Collo e base regolabili
Collo e base regolabili
Collo e base regolabili
Collo e base regolabili

Il collo regolabile Per dirigere la "luce solare" generata dalla sveglia, ho scelto di aggiungere un collo regolabile. All'inizio pensavo di poter usare il condotto per il collo, ma poiché ho strumenti e hardware limitati al college, non sono riuscito a fissarlo molto bene alla base. Inoltre, era piuttosto difficile da piegare e non si adattava troppo bene. Ho finito per usare solo uno dei fili all'interno del condotto. Si è rivelato abbastanza buono. Sono stato in grado di fissarlo senza hardware, solo un foro nella base. Ho iniziato prendendo un filo dal condotto e avvolgendolo intorno all'esterno, creando una bella spirale. Poi ho attorcigliato solo il filo dal condotto. L'ho quindi allungato e collegato al cono nero di cui parlavo prima. Il cono nero viene fornito con alcuni circuiti della torcia collegata, ma è facilmente rimovibile. Ora che hai solo il cono di plastica, fai due fori sui bordi, ognuno abbastanza grande da far passare il filo. L'ho alimentato su e poi giù e fuori dall'altro lato, arricciandolo sotto. Ho quindi utilizzato il filo sottile e flessibile del condotto per fissarlo ulteriormente. I due lunghi fili che sono stati saldati in precedenza possono essere fatti passare attraverso il retro del cono nero e la lampadina può essere attorcigliata in posizione. Ho aggiunto un po' di colla per tenerlo attaccato. La base Per attaccare il collo regolabile, ho praticato un foro da 7/64 pollici nella base di legno e ho inserito il filo. Si adatta abbastanza bene quindi non è necessaria la colla, ma è abbastanza largo da poter girare e attorcigliare il collo. I due fili LED possono essere avvolti intorno al collo e saldati alla scheda di prototipazione. Per collegare la scheda, ho usato quattro supporti per PCB. Avevo a disposizione una punta da trapano per filettare, ma non era necessaria. Se non hai una punta per filettare, fai un foro più piccolo della vite e avvitalo con delle pinze. Ho attaccato l'orologio alla base usando del velcro. Non l'ho avvitato perché il mio orologio ha una batteria di backup e quando la batteria si scarica, dovrà essere sostituita. Infine, ho aggiunto dei piedini in gomma agli angoli.

Passaggio 6: il programma

Il programma
Il programma

Il programma Per programmare il tuo ATMega168 con la connessione USB e la scheda Arduino, avrai bisogno di un chip ATMega168 che abbia già il bootloader Arduino. Questo è stato il modo più semplice che ho trovato per programmare il microcontrollore. Quando ho acquistato la mia scheda, ho preso un ATMega168 in più con il bootloader dallo stesso fornitore. Potrebbe essere necessario pagare un po' di più per il chip preprogrammato, ma per me ne è valsa la pena poiché non volevo pasticciare con adattatori per cavi seriali ecc. Ho allegato il codice come file.txt e.pde file. Non volevo rendere questo istruibile a lungo pubblicando tutto il codice. Ho usato l'ultimo ambiente di programmazione Arduino: arduino-0015. Quello che amo delle schede Arduino è che ci sono tonnellate di esempi inclusi nell'ambiente, l'ambiente del programma è gratuito e ci sono molti progetti e pagine di aiuto là fuori. È anche semplicissimo creare una breakout board per eseguire il tuo programma da solo. Ho cercato di commentare il codice al meglio della mia comprensione, quindi manterrò le descrizioni al minimo. Ho usato l'esempio "Fading LED" di BARRAGAN per familiarizzare con la modulazione di larghezza di impulso (PWM) di cui è capace l'ATMega168. Ho tre affermazioni "se". Il primo è sbiadito nei livelli di oscurità più bassi (0-75 su 255) più lentamente poiché i livelli più alti sembrano uguali. Il secondo svanisce più velocemente nei livelli di penombra superiori. L'intero processo di dissolvenza richiede 15 minuti. Una volta che i LED hanno raggiunto la piena luminosità, il loop della canzone verrà riprodotto fino allo spegnimento dell'allarme. L'allarme originale era abbastanza fastidioso. Era solo il tipico suono della sveglia che tutti odiano. Ho pensato, perché non usare l'altoparlante per fare una piacevole canzone con cui svegliarsi? Dato che la mia ragazza adora i Beatles e sapevo che Hey Jude ha una melodia abbastanza semplice, decido di usarla. Viene generata un'onda quadra e quindi PWM viene utilizzato per riprodurre le note di Hey Jude sull'altoparlante piezoelettrico. Per programmare la canzone, ho manipolato l'esempio "Melody" dagli esempi dell'ambiente Arduino. Ho trovato alcuni semplici spartiti e li ho tradotti in note nel codice. Ho dovuto aumentare il numero di note che vengono suonate a 41 e fare i conti per capire una nota più bassa della "c" fornita. Ho quindi impiantato quel codice nel mio codice principale. Per programmare il chip, dovrai prima installare i driver USB forniti con l'ambiente Arduino. Quindi, seleziona la tua scheda dal menu a discesa e seleziona la porta COM appropriata. L'intero processo è descritto in dettaglio qui: https://arduino.cc/en/Guide/WindowsE questo è tutto! Dopo aver programmato l'ATMega168, può essere estratto da Arduino e inserito nel circuito prototipo!

Passaggio 7: conclusione

Conclusione
Conclusione
Conclusione
Conclusione
Conclusione
Conclusione

Possibili miglioramenti Dopo aver terminato l'allarme alba, ho pensato ad alcuni miglioramenti o funzionalità extra che avrei potuto aggiungere. Una delle idee che ho avuto è stata un interruttore per accendere la lampadina a piena luminosità in modo che possa essere utilizzata come lampada da lettura. Un altro interruttore può essere utilizzato per attivare o disattivare il suono della sveglia. Il circuito poteva anche essere molto più piccolo. Ho appena avuto questo in giro e ho deciso di lasciarlo in un unico pezzo. Il prodotto finaleEccolo! Ho aggiunto alcune immagini di come appare quando le luci si affievoliscono. Ho anche registrato alcuni video dell'allarme che suona Hey Jude. Ancora una volta, se hai domande su questo progetto, chiedi pure, mi piace aiutarti!

Consigliato: