Sommario:

Sveglia LED Matrix (con lettore MP3): 6 passaggi (con immagini)
Sveglia LED Matrix (con lettore MP3): 6 passaggi (con immagini)

Video: Sveglia LED Matrix (con lettore MP3): 6 passaggi (con immagini)

Video: Sveglia LED Matrix (con lettore MP3): 6 passaggi (con immagini)
Video: Questa purtroppo è Milano....😔 #ruzzaorologi #orologio #rapina 2024, Luglio
Anonim
Sveglia a matrice di LED (con lettore MP3)
Sveglia a matrice di LED (con lettore MP3)
Sveglia a matrice di LED (con lettore MP3)
Sveglia a matrice di LED (con lettore MP3)

Questa sveglia basata su Arduino ha tutto ciò che ti aspetteresti dalla tua sveglia: possibilità di svegliarti con ogni canzone che ti piace, pulsante snooze ed è facile da controllare tramite tre pulsanti. Ci sono tre blocchi principali: matrice LED, modulo RTC e schermo MP3 con altoparlante.

Passaggio 1: materiali e strumenti

  • Matrice LED
  • Arduino Uno
  • Schermo MP3 Lettore DHF Mini
  • Modulo RTC DS1307
  • Qualsiasi oratore
  • 3 pulsanti (con resistenze pullup/pulldown 10k)
  • fili
  • Plexi (o qualsiasi materiale da cui desideri la tua scatola)
  • Stampante 3D (per la stampa di scatole a matrice)
  • Connettore di alimentazione CC
  • Connettore USB B femmina.

Credo che tu possa modificare questo elenco di materiali in base alle tue possibilità (sicuramente puoi usare diversi MP3 Shield, diversi moduli RTC e tutto dovrebbe funzionare bene:)

Passaggio 2: matrice LED

Matrice LED
Matrice LED
Matrice LED
Matrice LED
Matrice LED
Matrice LED

Come ispirazione, ho usato queste istruzioni per costruire la matrice LED, ho solo deciso di non utilizzare la scheda di prototipazione e di progettare il mio PCB. Puoi trovare il mio progetto in Circuit Maker qui. Puoi anche usare schemi e se vuoi inviare dati gerber (piuttosto che generarli dal progetto del produttore di circuiti da soli) fammi sapere che te li fornirò:). Alcuni suggerimenti: in primo luogo ho usato LED molto economici, ma dopo aver saldato tutti i diodi ed eseguito il codice arduino, ho scoperto che la variazione del colore del diodo LED non era accettabile, quindi ho dovuto ordinarne di diversi e fare un'altra matrice LED. Spiegherò il principio di funzionamento in Part arduino. Ad ogni modo, per scoprire se hai fatto un buon lavoro e il display funziona, basta sostituire le costanti nella funzione DisplayChar nel ciclo principale di arduino (ad esempio invece di DisplayChar(1, letA); usa DisplayChar(0, 9); che scriverà il numero 9 a partire dalla prima colonna), non è necessario commentare nient'altro.

Passaggio 3: altro hardware

Altro HW
Altro HW
Altro HW
Altro HW
Altro HW
Altro HW

Gli altri componenti HW per costruire la sveglia sono: modulo RTC, scudo MP3, pulsanti e arduino UNO.

Per il modulo RTC ho usato il modulo DS1307 e la libreria MD_DS1307.h è abbastanza semplice tutto funziona senza intoppi, ma consiglierei probabilmente di usare un modulo RTC più preciso come 3231 o altro - se lo lascio senza alimentazione per alcuni giorni ha iniziato a perdere alcuni secondi.

Schermo MP3 Lettore DHF Mini - Questo schermo MP3 è davvero facile, puoi caricare alcuni mp3 su scheda SD, collegare qualsiasi altoparlante che trovi e quindi può essere gestito in due modi tramite la comunicazione seriale o tramite pin I/O. Ad essere onesti per qualche motivo non ho avuto successo nella comunicazione seriale (non funzionava insieme alla comunicazione SPI e I2C utilizzata per altri componenti) ma ero gentile solo per usare i pin IO (ho usato ADKEY1 collegato all'uscita digitale di arduino come un trigger per riprodurre la canzone e poi pin USB + per fermare la musica).

Come puoi vedere in foto, ho usato tre semplici pulsanti sulla scheda di prototipazione collegati agli ingressi digitali di arduino con resistori pull down da 10kOhm.

Il cablaggio per arduino può essere visto chiaramente nel codice Arduino:)

Passaggio 4: parti meccaniche

Parti meccaniche
Parti meccaniche
Parti meccaniche
Parti meccaniche
Parti meccaniche
Parti meccaniche
Parti meccaniche
Parti meccaniche

Per creare una visualizzazione di un bel display regolare, è necessario utilizzare una griglia per definire la forma esatta per ciascun LED. Ho usato una semplice griglia stampata in 3D che funziona perfettamente: è composta da due parti, sinistra e destra, puoi trovare i dati STL in allegato.

La scatola è fresata su macchina CNC da latte plexi. Dipende totalmente da te da quale materiale realizzare, solo una raccomandazione, se utilizzerai un materiale simile come ho fatto io, metti uno strato semipermeabile sulla parte che è direttamente sui LED per evitare che i LED siano visibili come fonte di luce puntiforme. Puoi vedere che nella parete laterale c'è uno spazio per il connettore di alimentazione CC e USB per caricare idee migliori di codice:) Ho usato la colla standard per la plastica per incollare insieme le parti in plexi. In allegato ci sono i file STL per tutte le parti (grazie al mio amico Peshi per aver progettato questa scatola super cool:))

Passaggio 5: parte Arduino

Arduino Part
Arduino Part

In parte relativo ad arduino vorrei solo descrivere brevemente l'algoritmo del ciclo principale e poi poche parole per controllare i registri Shift tramite SPI e l'impostazione degli allarmi.

Nel loop principale controlli semplicemente se qualche pulsante è premuto, controlla se l'RTC ti invia i valori dei minuti appena aggiornati e se è il momento di suonare qualche canzone dei pink floyd:) e in caso contrario, accendi e spegni periodicamente i LED con impostare i numeri.

Controllo della matrice LED - Per una migliore comprensione è bene seguire le istruzioni per la matrice LED che ho menzionato all'inizio, ma solo brevemente - è importante capire che per mostrare numeri o lettere in questa matrice, è necessario scegliere periodicamente quale LED dal set la riga dovrà essere accesa, quindi accendere tutti i LED dalla riga per un po' di tempo. Nel passaggio successivo spegnerai questa riga e preparerai la seconda riga e questa ancora e ancora. Cosa significa? - non usare ritardi! - altrimenti non ti mostrerà i numeri ma lampeggerà:)

Uso un modo abbastanza diverso e direi più semplice per controllare i registri a scorrimento (grazie al mio amico Krystof che ha scritto questa funzione fluida). Quindi il primo passo (la preparazione dei dati per il registro a scorrimento avviene nella funzione DisplayChar, dove si trova il simbolo desiderato dall'array di costanti e si preparano i dati per i registri. E quando viene chiamata la funzione UpdateDisplay i dati vengono spostati sugli output (per maggiori informazioni vedi schermata da Arduino IDE)

Configurazione allarme. Ci sono tre pulsanti, sinistro, centrale e destro. Quando premi due volte a destra e al centro, entrerai nel menu della sveglia. Nel menu Sveglia sono disponibili le seguenti funzioni: tasto sinistro (imposta sveglia per ore) tasto centrale (imposta sveglia per minuti) tasto destro pressione prolungata (conferma sveglia), pressione lunga del tasto centrale e destro (cancellazione sveglia esistente).

Quando l'allarme è impostato (puoi riconoscerlo dal fatto che l'allarme accende il LED in basso a destra) e l'orologio inizierà a riprodurre la tua canzone mattutina preferita:) sono disponibili le seguenti funzioni: pulsante sinistro (snooze per altri 5 minuti), pulsante centrale (annulla sveglia).

Passaggio 6: completamento dell'allarme

Image
Image
Completamento dell'allarme
Completamento dell'allarme

Alla fine, incollo tutto dentro insieme:) e chiudo con la colla la parte posteriore dell'allarme. Nel video allegato, puoi vedere il meccanismo di controllo di questo allarme. Basta notare il video, nel video sembra che lampeggi, è causato dal principio di accensione e spegnimento dei LED e dalla frequenza dei fotogrammi della didascalia della fotocamera - in realtà i tuoi occhi vedono questo come acceso senza lampeggiare:)

Per il futuro vorrei provare un materiale diverso, idealmente del nero:) e aggiungere altre funzioni, come mostrare la data, forse la temperatura, ecc.:)

Spero che ti divertirai a costruire la tua sveglia e attendo con ansia le tue idee:)

Concorso di orologi
Concorso di orologi
Concorso di orologi
Concorso di orologi

Secondo Premio al Concorso Orologi

Consigliato: