Sommario:
- Passaggio 1: come leggerlo?
- Passaggio 2: cosa ti servirà?
- Passaggio 3: componenti elettronici - Sfondo
- Fase 4: Elettronica - Alimentazione
- Passaggio 5: Elettronica - Saldatura
- Passaggio 6: Software - Sfondo
- Passaggio 7: Software - Codice
- Passaggio 8: crea l'orologio
- Passaggio 9: Disegna nel legno
- Passaggio 10: assemblaggio
- Passaggio 11: aggiornamento - Fotoresistenza
- Passaggio 12: divertiti
Video: LEDura - Orologio LED analogico: 12 passi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Progetti Tinkercad »
Dopo un lungo periodo di tempo passato a realizzare vari progetti, ho deciso di creare io stesso un istruibile. Per il primo, ti guiderò attraverso il processo di creazione del tuo orologio analogico realizzato con un fantastico anello LED indirizzabile. L'anello interno mostra le ore, l'anello esterno mostra minuti e secondi.
Oltre a mostrare l'ora, l'orologio può anche visualizzare la temperatura della stanza e può essere una decorazione molto bella nella stanza. Ogni 15 minuti, l'orologio crea anche alcuni effetti speciali: il video li mostra tutti, assicurati di controllarlo. Con l'aiuto di 2 pulsanti e potenziometro, l'utente può scegliere tra diverse modalità e modificare i colori a proprio piacimento. L'ho anche aggiornato per attenuare automaticamente i LED se la stanza diventa buia, in modo che l'utente non venga disturbato durante la notte.
L'orologio può essere posizionato sulla scrivania, sul comodino o appeso al muro.
Nota: le immagini non sono buone come la vista nella realtà a causa dell'elevata luminosità.
Passaggio 1: come leggerlo?
L'orologio ha 2 anelli: uno più piccolo per la visualizzazione delle ore e uno più grande per la visualizzazione dei minuti e dei secondi. Alcuni LED sono sempre accesi: una cosiddetta bussola che indica le posizioni principali dell'orologio. Sull'anello delle ore rappresenta le 3, 6, 9 e 12', sull'anello dei minuti rappresenta i 15, 30, 45 e 0 minuti.
Passaggio 2: cosa ti servirà?
Materiali:
- 1x Arduino Nano (puoi usare anche qualsiasi altro Arduino)
- 1x modulo RealTimeClock DS3231
- 1x anello LED indirizzabile - 60 LED
- 1x anello LED indirizzabile - 24 LED
- 2x pulsanti (NO - normalmente aperti)
- 1x potenziometro da 100kOhm
- 1x alimentatore 5V (in grado di fornire 1 Amp)
- 1x connettore di alimentazione
- Alcuni fili
- 1x resistenza da 10kOhm
-
1x fotoresistenza
- Scheda pref (opzionale)
- Connettori del cavo della morsettiera (opzionale)
- Legno spesso 25 mm, dimensioni almeno 22 cm x 22 cm
- Plastica PVC opaca sottile da 1 mm dimensioni 20 cm x 20 x m
Utensili:
- Strumenti di base per la costruzione di elettronica (saldatore, pinze, cacciavite, …)
- Trapano
- Pistola per colla a caldo
- Carta vetrata e un po' di vernice per legno
- Macchina CNC (forse ce l'ha qualche amico)
Passaggio 3: componenti elettronici - Sfondo
DS3231
Potremmo determinare l'ora utilizzando l'oscillatore integrato di Arduino e un timer, ma ho deciso di utilizzare il modulo Real Time Clock (RTC) dedicato, che può tenere traccia del tempo anche se disconnettiamo l'orologio dalla sua fonte di alimentazione. La scheda DS3231 ha una batteria, che fornisce alimentazione quando il modulo non è collegato all'alimentazione. È anche più preciso su periodi di tempo più lunghi rispetto alla sorgente di clock di Arduino.
DS3231 RTC utilizza l'interfaccia I2C per comunicare con il microcontrollore: molto semplice da usare e abbiamo bisogno di soli 2 fili per comunicare con esso. Il modulo fornisce anche un sensore di temperatura, che verrà utilizzato in questo progetto.
Importante: se si prevede di utilizzare una batteria non ricaricabile per il modulo RTC, è necessario dissaldare la resistenza da 200 ohm o il diodo 1N4148. Altrimenti la batteria potrebbe esplodere. Maggiori informazioni possono essere trovate a questo link.
Anello LED WS2812
Ho deciso di utilizzare un anello a 60 LED per tenere traccia dei minuti e un anello a 24 LED per ore. Li puoi trovare su Adafruit (anello neoPixel) o alcune versioni economiche su eBay, Aliexpress o altri negozi web. C'è una grande diversità tra le strisce led indirizzabili e se è la prima volta che ci giochi, ti consiglio di leggere alcune descrizioni di utilizzo - ecco alcuni link utili:
https://www.tweaking4all.com/hardware/arduino/adr…
https://randomnerdtutorials.com/guide-for-ws2812b…
La striscia LED indirizzabile ha 3 connettori: 5V, GND e DI/DO. I primi due servono per l'alimentazione dei LED, l'ultimo per i dati. Fai attenzione mentre colleghi l'anello ad Arduino: la tua linea dati deve essere collegata al pin DI (data IN).
Arduino
Sto usando Arduino Nano perché è abbastanza piccolo e sufficiente per questo progetto. Puoi usare quasi tutti gli altri Arduino, ma devi stare attento mentre colleghi tutto ad esso. I pulsanti e gli anelli LED possono trovarsi sugli stessi pin, ma i connettori I2C (per il modulo RTC) possono differire da piattaforma a piattaforma: controlla la loro scheda tecnica.
Fase 4: Elettronica - Alimentazione
Arduino e la striscia LED devono essere entrambi alimentati con una fonte di alimentazione a 5 V in modo da sapere quale tensione è necessaria. Poiché il LED squilla, assorbe molti amplificatori, non possiamo alimentarlo direttamente con Arduino, che può sopportare un massimo di 20 mA sulla sua uscita digitale. Secondo le mie misurazioni, gli anelli LED possono assorbire insieme fino a 500 mA. Ecco perché ho acquistato un adattatore in grado di fornire fino a 1A.
Con lo stesso alimentatore vogliamo alimentare Arduino e LED - qui devi stare attento.
Avvertimento! Fai molta attenzione quando stai testando la striscia LED: l'adattatore di alimentazione NON deve essere collegato ad Arduino, quando Arduino è anche collegato al PC con connettore USB (puoi danneggiare la porta USB del tuo computer).
Nota: negli schemi seguenti ho usato l'interruttore normale per selezionare se Arduino è alimentato tramite alimentatore o tramite connettore USB. Ma sulla perfboard puoi vedere che ho aggiunto un'intestazione pin per selezionare da quale fonte di alimentazione viene alimentato Arduino.
Passaggio 5: Elettronica - Saldatura
Quando raccogli tutte le parti è il momento di saldarle insieme.
Poiché volevo rendere il cablaggio ordinato, ho usato perfboard e alcuni connettori per morsettiera per i cavi, così posso scollegarli in caso di modifiche. Questo è facoltativo: puoi anche saldare i fili direttamente ad Arduino.
Un consiglio: è più facile se stampi lo schema in modo da averlo davanti a te durante la saldatura. E ricontrolla tutto prima di collegarti all'alimentazione.
Passaggio 6: Software - Sfondo
Arduino IDE
Stiamo per programmare Arduino con il suo software dedicato: Arduino IDE. Se stai giocando con Arduino per la prima volta, ti consiglio di controllare alcune istruzioni su come farlo. Ci sono già molti tutorial nel web, quindi non entrerò nei dettagli.
Biblioteca
Ho deciso di utilizzare la libreria FastLED invece del popolare Adafruit. Ha alcune funzioni matematiche pulite con cui puoi fare grandi effetti (pollici in su agli sviluppatori!). Puoi trovare la libreria sul loro repository GitHub, ma ho aggiunto il file.zip della versione che sto usando nel mio codice.
Se ti stai chiedendo, come aggiungere una libreria esterna all'IDE di Arduino, puoi controllare alcune istruzioni già fatte
Per il modulo orologio ho usato la libreria Arduino per l'orologio in tempo reale (RTC) DS3231 (link), che puoi facilmente installare nell'IDE Arduino. Quando sei in IDE, fai clic su Schizzo → Includi libreria → Gestisci librerie… e poi filtra la tua ricerca con il nome sopra.
Nota: per qualche motivo al momento non riesco ad aggiungere file.zip. Puoi trovare la libreria sul mio repository GitHub.
Passaggio 7: Software - Codice
Struttura
L'applicazione è costruita con 4 file:
- LEDclokc.ino Questa è l'applicazione Arduino principale, dove puoi trovare le funzioni per controllare l'intero orologio – iniziano con il prefisso CLOCK_.
- LEDclokc.h qui sono le definizioni di connessione pin e alcune configurazioni di clock.
- ring.cpp e ring.h ecco il mio codice per controllare gli anelli LED.
LEDclock.h
Qui troverai tutte le definizioni dell'orologio. All'inizio, ci sono definizioni per il cablaggio. Assicurati che siano gli stessi delle tue connessioni. Poi ci sono le configurazioni dell'orologio: qui puoi trovare la macro per il numero di modalità dell'orologio.
LEDclock.ino
Nel diagramma è rappresentato il ciclo principale. Il codice verifica innanzitutto se viene premuto un pulsante. A causa della natura degli switch, dobbiamo usare il metodo di debboncing per leggere i loro valori (puoi leggere di più su questo sul link).
Quando viene premuto il pulsante 1, la modalità variabile viene aumentata di 1, se viene premuto il pulsante 2, il tipo variabile viene aumentato. Usiamo queste variabili per determinare quale modalità di clock vogliamo vedere. Se entrambi i pulsanti vengono premuti contemporaneamente, viene chiamata la funzione CLOCK_setTime() in modo da poter modificare l'ora dell'orologio.
Il codice successivo legge il valore del potenziometro e lo memorizza in una variabile - con questa variabile l'utente può modificare i colori dell'orologio, la luminosità ecc.
Poi c'è un'istruzione switch-case. Qui determiniamo in quale modalità si trova attualmente l'orologio e, in tale modalità, viene chiamata la funzione corrispondente, che imposta i colori dei LED. Puoi aggiungere le tue modalità orologio e riscrivere o modificare le funzioni.
Come descritto nella libreria FastLED, devi chiamare la funzione FastLED.show() alla fine, che trasforma i LED nel colore su cui li abbiamo impostati in precedenza.
Puoi trovare descrizioni molto più dettagliate tra le righe di codice
L'intero codice è allegato di seguito nei file sottostanti.
SUGGERIMENTO: puoi trovare l'intero progetto sul mio repository GitHub. Qui il codice verrà aggiornato anche se aggiungerò modifiche ad esso.
Passaggio 8: crea l'orologio
Cornice dell'orologio
Ho costruito il telaio dell'orologio utilizzando una macchina CNC e un legno spesso 25 mm. Puoi trovare lo schizzo disegnato in ProgeCAD allegato qui sotto. Le fessure per l'anello LED sono un po' più grandi, perché i produttori forniscono solo le misure del diametro esterno, quello interno può variare parecchio… Nella parte posteriore dell'orologio c'è molto spazio per l'elettronica e i cavi.
Anelli in PVC
Poiché i LED sono abbastanza luminosi, è bene diffonderli in qualche modo. Per prima cosa ho provato con il silicone trasparente, che fa il lavoro di diffusione, ma è abbastanza disordinato ed è difficile farlo liscio sopra. Ecco perché ho ordinato un pezzo di plastica PVC "latte" di 20x20 cm e ho tagliato due anelli con una macchina CNC. Puoi usare la carta vetrata per ammorbidire i bordi in modo che gli anelli scivolino nelle fessure.
Fori laterali
Quindi è il momento di praticare i fori per pulsanti, potenziometro e connettore di alimentazione. Per prima cosa, disegna ogni posizione con una matita, quindi pratica il foro. Qui dipende dal tipo di pulsanti che hai: sono andato con pulsanti con la testa leggermente curva. Hanno un diametro di 16 mm, quindi ho usato un trapano per legno di quelle dimensioni. Stesso discorso per potenziometro e connettore di alimentazione. Assicurati di cancellare tutti i disegni a matita in seguito.
Passaggio 9: Disegna nel legno
Ho deciso di disegnare alcuni indicatori di orologio nel legno: qui puoi usare la tua immaginazione e progettare il tuo. Ho bruciato il legno usando il saldatore, riscaldato alla massima temperatura.
Affinché i cerchi siano ben rotondi, ho usato un pezzo di alluminio, ho praticato un foro e ho seguito i bordi del foro con un saldatore (guarda l'immagine). Assicurati di tenere saldamente l'alluminio, in modo che non scivoli durante il disegno. E sii cauto mentre lo fai per evitare lesioni.
Se stai facendo dei disegni e vuoi che siano ben allineati ai pixel dell'orologio, puoi usare la "Modalità di manutenzione" che ti mostrerà dove saranno posizionati i pixel (vai al capitolo Assemblare).
Proteggi il legno
Quando sei soddisfatto dell'orologio è il momento di carteggiarlo e proteggerlo con vernice per legno. Ho usato carta vetrata molto morbida (valore di 500) per ammorbidire i bordi. Ti consiglio di usare una vernice trasparente per legno, così il colore del legno non cambia. Metti una piccola quantità di vernice sul pennello e tiralo in direzione delle annuali nel legno. Ripetilo almeno 2 volte.
Passaggio 10: assemblaggio
Per prima cosa metti i pulsanti e il potenziometro nelle loro posizioni: se i tuoi fori sono troppo grandi, puoi usare della colla a caldo per fissarli in posizione. Quindi inserisci la striscia ad anello nei suoi slot e collega i suoi fili all'Arduino. Prima di incollare l'anello LED al suo posto, è bene essere sicuri che i pixel LED siano al posto giusto, centrati e allineati con il disegno. A tale scopo ho aggiunto la cosiddetta modalità di manutenzione che visualizzerà tutti i pixel importanti (0, 5, 10, 15, … sull'anello dei minuti e 3, 6, 9 e 12 sull'anello delle ore). È possibile accedere a questa modalità tenendo premuti entrambi i pulsanti, prima di collegare l'alimentatore al connettore. È possibile uscire da questa modalità premendo qualsiasi pulsante.
Quando hai allineato gli anelli LED, applica della colla a caldo e tienili mentre la colla si ferma. Quindi prendi i tuoi anelli in PVC e ancora: applica della colla a caldo sui LED, posizionali rapidamente e tienili premuti per un paio di secondi. Alla fine, quando sei sicuro che tutto funzioni puoi incollare a caldo la scheda per (o Arduino) al legno. Suggerimento: non applicare troppa colla. Solo una piccola quantità in modo che rimanga in un posto ma puoi rimuoverla facilmente se desideri cambiare qualcosa in seguito.
Alla fine, inserisci la batteria a bottone nel suo supporto.
Passaggio 11: aggiornamento - Fotoresistenza
Gli effetti dell'orologio sono particolarmente piacevoli al buio. Ma questo può disturbare l'utente durante la notte, mentre dorme. Ecco perché ho deciso di aggiornare l'orologio con la funzione di correzione automatica della luminosità - quando la stanza diventa buia; l'orologio spegne i suoi LED.
A tale scopo, ho usato il sensore di luce - fotoresistenza. La sua resistenza aumenterà in modo significativo; fino a pochi mega ohm quando è buio e avrà solo poche centinaia di ohm quando c'è luce che lo illumina. Insieme ad un normale resistore formano il partitore di tensione. Quindi, quando cambia la resistenza del sensore di luce, cambia anche la tensione sul pin analogico di Arduino (che possiamo misurare).
Prima di saldare e assemblare qualsiasi circuito, è consigliabile simularlo prima, in modo da poter vedere il comportamento e apportare correzioni. Con l'aiuto di Autocad Tinkercad puoi fare esattamente questo! Con pochi clic ho aggiunto i componenti, li ho collegati e ho scritto il codice. Nella simulazione puoi vedere come cambia la luminosità dei LED in base al valore della fotoresistenza. È molto semplice e diretto: puoi giocare con il circuito.
Dopo la simulazione, è arrivato il momento di aggiungere la funzione all'orologio. Ho praticato un foro al centro dell'orologio, ho incollato la fotoresistenza, l'ho collegata come si vede sul circuito e ho aggiunto poche righe di codice. Nel file LEDclock.h devi abilitare questa funzione dichiarando USE_PHOTO_RESISTOR come 1. Puoi anche cambiare a quale luminosità della stanza l'orologio attenuerà i LED modificando il valore CLOCK_PHOTO_TRESHOLD.
Passaggio 12: divertiti
Quando lo alimenterai per la prima volta, l'orologio mostrerà un orario casuale. Puoi configurarlo premendo entrambi i pulsanti contemporaneamente. Ruotare la manopola per selezionare l'ora giusta e confermarla premendo un tasto qualsiasi.
Ho trovato ispirazione in qualche progetto molto carino su Internet. Se decidi di costruire l'orologio da solo, dai un'occhiata anche a loro! (NeoClock, Wol Clock, Arduino Colorful Clock) Se mai decidessi di provare a seguire le istruzioni, spero che lo trovi divertente come ho fatto io.
Se ti imbatti in qualche problema durante il processo di creazione, sentiti libero di farmi qualsiasi domanda nei commenti: proverò volentieri a rispondere!
Consigliato:
Alimentatore da banco variabile analogico fai-da-te con limitatore di corrente di precisione: 8 passaggi (con immagini)
Alimentatore da banco variabile analogico fai-da-te con limitatore di corrente di precisione: in questo progetto ti mostrerò come utilizzare il famoso LM317T con un transistor di potenza Booster di corrente e come utilizzare l'amplificatore di rilevamento di corrente Linear Technology LT6106 per il limitatore di corrente di precisione. di utilizzare fino a più di 5A
Fader LED analogico alternato discreto con curva di luminosità lineare: 6 passaggi (con immagini)
Fader LED analogico alternato discreto con curva di luminosità lineare: la maggior parte dei circuiti per attenuare/attenuare un LED sono circuiti digitali che utilizzano un'uscita PWM di un microcontrollore. La luminosità del LED è controllata modificando il duty cycle del segnale PWM. Presto scoprirai che quando si modifica linearmente il ciclo di lavoro
Circuiti GPIO Raspberry Pi: utilizzo di un sensore analogico LDR senza un ADC (convertitore analogico-digitale): 4 passaggi
Circuiti GPIO Raspberry Pi: utilizzo di un sensore analogico LDR senza un ADC (convertitore analogico-digitale): nei nostri precedenti Instructables, ti abbiamo mostrato come collegare i pin GPIO del tuo Raspberry Pi a LED e interruttori e come i pin GPIO possono essere alti o Basso. Ma cosa succede se vuoi usare il tuo Raspberry Pi con un sensore analogico? Se vogliamo usare un
Ingresso analogico IoT - Primi passi con IoT: 8 passaggi
Input analogico IoT - Per iniziare con IoT: Capire gli input analogici sono una parte cruciale per capire come funzionano le cose intorno a noi, la maggior parte se non tutti i sensori sono sensori analogici (a volte questi sensori vengono convertiti in digitale). A differenza degli ingressi digitali che possono essere solo accesi o spenti, gli ingressi analogici
Piano elettrico-analogico: 10 passi (con immagini)
Piano elettrico-analogico: la musica è una parte importante della nostra cultura: a tutti piace ascoltare la musica. Ma mentre ascoltare la musica è una cosa, imparare a fare musica è un'altra. Allo stesso modo, mentre fare musica è un compito difficile, costruire uno strumento musicale è un tutto