Sommario:

LEDura - Orologio LED analogico: 12 passi (con immagini)
LEDura - Orologio LED analogico: 12 passi (con immagini)

Video: LEDura - Orologio LED analogico: 12 passi (con immagini)

Video: LEDura - Orologio LED analogico: 12 passi (con immagini)
Video: IL TRUCCO PER IPHONE PIÙ BELLO CHE ESISTA! 2024, Luglio
Anonim
LEDura - Orologio LED analogico
LEDura - Orologio LED analogico
LEDura - Orologio LED analogico
LEDura - Orologio LED analogico
LEDura - Orologio LED analogico
LEDura - Orologio LED analogico

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?

Come leggerlo?
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à?

Di cosa avrai bisogno?
Di cosa avrai bisogno?

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

Componenti elettronici - Sfondo
Componenti elettronici - Sfondo
Componenti elettronici - Sfondo
Componenti elettronici - Sfondo
Componenti elettronici - Sfondo
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

Elettronica - Alimentazione
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

Elettronica - Saldatura
Elettronica - Saldatura
Elettronica - Saldatura
Elettronica - Saldatura
Elettronica - Saldatura
Elettronica - Saldatura
Elettronica - Saldatura
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

Software - Codice
Software - Codice
Software - Codice
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

Fai l'orologio
Fai l'orologio
Fai l'orologio
Fai l'orologio
Fai l'orologio
Fai 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

Disegna nel legno
Disegna nel legno
Disegna nel legno
Disegna nel legno
Disegna nel legno
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

assemblare
assemblare
assemblare
assemblare
assemblare
assemblare

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

Aggiornamento - Fotoresistenza
Aggiornamento - Fotoresistenza
Aggiornamento - Fotoresistenza
Aggiornamento - Fotoresistenza
Aggiornamento - Fotoresistenza
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: