Sommario:

Orologio da tavolo binario: 9 passaggi (con immagini)
Orologio da tavolo binario: 9 passaggi (con immagini)

Video: Orologio da tavolo binario: 9 passaggi (con immagini)

Video: Orologio da tavolo binario: 9 passaggi (con immagini)
Video: Questa purtroppo è Milano....😔 #ruzzaorologi #orologio #rapina 2024, Dicembre
Anonim
Orologio da tavolo binario
Orologio da tavolo binario
Orologio da tavolo binario
Orologio da tavolo binario
Orologio da tavolo binario
Orologio da tavolo binario

Gli orologi binari sono fantastici ed esclusivamente per la persona che conosce il binario (il linguaggio dei dispositivi digitali). Se sei un tecnico, questo strano orologio fa per te. Quindi, creane uno da solo e mantieni il tuo tempo segreto!

Troverai molti orologi binari di diversi tipi su Internet. Anche tu puoi acquistare un orologio binario da un negozio online come amazon.com. Ma questo orologio è diverso da tutti e qui ho usato il gioco del marmo per dargli un aspetto elegante.

Prima di scendere, guarda il video dimostrativo.

Passaggio 1: Distinta base

Distinta materiali
Distinta materiali
Distinta materiali
Distinta materiali
Distinta materiali
Distinta materiali

Componenti hardware

1. Arduino Pro Micro (acquista da aliexpress.com): questo è il cuore principale dell'orologio e legge l'ora da RTC e fornisce istruzioni per pilotare i LED di conseguenza. Puoi usare Arduino Nano anche Arduino Uno invece di Pro Micro se le dimensioni non contano per te.

2. Modulo RTC DS3231 (acquistare da aliexpress.com): Il DS3231 RTC tiene traccia del tempo anche quando l'alimentazione si spegne. Sebbene sia possibile utilizzare altri RTC come DS1307, il DS3231 è più preciso.

3. MAX7219CNG LED Driver IC (acquista da aliexpress.com): Arduino ha un numero limitato di pin. Quindi, se vuoi pilotare tonnellate di LED senza sprecare i pin Arduino, MAX7219 è il vero toccasana. Prende dati seriali e può pilotare 64 LED in modo indipendente.

4. 20 PCS LED blu, 5 mm (acquista su aliexpress.com): il blu ha dato il miglior risultato per me. Puoi provare con altri colori.

5. 20 pezzi di marmo da gioco (acquista da aliexpress.com): è stato utilizzato un marmo da gioco di dimensioni standard. Il marmo deve essere trasparente per far passare la luce.

6. Resistore 10K: utilizzato per controllare la corrente del segmento dell'IC MAX7219. Vedere la scheda tecnica per conoscere il valore esatto per i diversi segmenti di corrente.

7. Fili

8. Scheda PCB prototipo (acquista da aliexpress.com): ho usato una scheda PCB prototipo per MAX7219 IC con una base IC. Puoi anche progettare la tua scheda PCB personalizzata.

Strumenti hardware

1. Router CNC per legno CNC 3018 PRO per incisore laser (acquistare da aliexpress.com): la macchina CNG fai-da-te di Theis è stata utilizzata per intagliare il legno per marmo e LED. Questa è una macchina eccellente con un prezzo basso per qualsiasi produttore e hobbista.

2. Stazione di saldatura (acquistarne una da aliexpress.com): per il progetto sono necessarie alcune saldature e un buon saldatore è uno strumento indispensabile per un produttore. 60 W è una buona scelta per la saldatura fai-da-te.

3. Tagliafili (acquista da aliexpress.com)

4. Fresa in metallo duro rivestita in titanio per CNC (acquista da aliexpress.com): puoi anche provare con la punta fornita con la macchina. In tal caso, dovresti apportare alcune modifiche al design.

Passaggio 2: incisione e intaglio

Incisione e intaglio
Incisione e intaglio
Incisione e intaglio
Incisione e intaglio
Incisione e intaglio
Incisione e intaglio

Ho preso un pezzo di legno di acero morbido 165X145X18,8 mm per posizionare i LED dell'orologio. Nella parte superiore di ogni led, posizionerò una biglia e la dimensione di una biglia da gioco standard è di 15,5 mm di diametro. Quindi, ho realizzato fori da 15,7 mm con una profondità di 7 mm. Al centro del foro ho praticato un trapano da 5mm per posizionare il LED. Tutto il testo è stato realizzato con una profondità di 2 mm. Puoi aumentare o diminuire la profondità di tua scelta. Puoi anche provare l'incisione laser per il testo.

Il design completo è stato realizzato da Easel di Inventables. Easel è una piattaforma software basata sul web che ti consente di progettare e ritagliare da un singolo programma semplice e la maggior parte delle funzionalità sono gratuite. È necessario solo accedere al sistema creando un account o utilizzando Gmail.

Easel Pro è un software cloud basato sull'appartenenza che si basa sul software Easel gratuito di Inventables. Easel e Easel Pro riducono al minimo le barriere associate ai complicati software di produzione di prodotti CAD e CAM, facilitando agli utenti la produzione di prodotti fisici.

Utilizzando Easel è possibile esportare il file di disegno in formato G-code o impostare direttamente il CNC dall'ambiente Easel e inviare il comando al CNC. In tal caso, è necessario installare il driver per il cavalletto. Puoi anche importare un codice G precedentemente creato nell'IDE Easel e modificarlo. Ho incluso il file di progettazione con la presente. Puoi facilmente modificare il design secondo la tua scelta usando Easel.

Passaggio 3: levigatura e applicazione della vernice

Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice
Levigatura e applicazione di vernice

La vernice può fornire una bella finitura a progetti e dipinti in legno. Prima di applicare la vernice sul legno, carteggia il pezzo e pulisci lo spazio di lavoro. La levigatura conferisce un aspetto liscio e prepara il legno alla vernice. Applicare la vernice in più strati sottili, lasciando asciugare bene ciascuno prima di procedere con il successivo. Per verniciare un dipinto, lascialo asciugare completamente e poi spazzola con cura la vernice. Una mano è sufficiente per molti dipinti, ma puoi aggiungere uno strato aggiuntivo purché prima lasci asciugare bene la precedente.

Prima di applicare la vernice è necessario rimuovere eventuali imperfezioni e macchie prima di applicare la vernice. Per farlo, usa carta vetrata a grana 100 per i pezzi non finiti e lavora con le venature del legno. Carteggiare delicatamente fino a quando il pezzo è liscio. Dopo aver pulito il pezzo di legno, applicare la vernice in un'area ben ventilata.

La vernice salva il legno dalla polvere e dall'umidità ambientali, ma può influire sul colore del legno.

Passaggio 4: creare il circuito

Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito

Il componente principale dell'orologio è una scheda microcontrollore Arduino Pro Mini e un modulo RTC DS3231. Il collegamento di Arduino Pro Mini e del modulo RTC è molto semplice. È necessario collegare il pin SDA del modulo RTC al pin SDA di Arduino e il pin SCL del modulo RTC al pin SCL di Arduino. I pin SDA e SCL sono in realtà i pin A4 e A5 di Arduino rispettivamente. È inoltre necessario creare una connessione di terra comune tra i moduli Arduino e RTC. Ho usato i cavi dei ponticelli per fare i collegamenti.

La connessione tra Arduino e DS3231 RTC:

Arduino DS3231
SCL (A5) SCL
SDA (A4) SDA
5V VCC
GND GND

Per visualizzare ore, minuti e secondi un orologio binario richiedeva 20 LED. Se vuoi mostrare la data, richiede di più. La scheda Arduino ha una limitazione dei pin GPIO. Quindi, ho usato MAX7219CNG LED driver IC per pilotare tonnellate di LED utilizzando solo tre pin della scheda Arduino.

L'IC del driver MAX7219 è in grado di pilotare 64 LED singoli utilizzando solo 3 fili per la comunicazione con Arduino e, inoltre, possiamo collegare a margherita più driver e matrici e utilizzare ancora gli stessi 3 fili.

I 64 LED sono pilotati da 16 pin di uscita dell'IC. La domanda ora è come sia possibile. Ebbene, il numero massimo di LED accesi contemporaneamente è in realtà otto. I LED sono disposti come un insieme 8×8 di righe e colonne. Quindi il MAX7219 attiva ogni colonna per un brevissimo periodo di tempo e allo stesso tempo pilota anche ogni riga. Quindi, passando rapidamente tra le colonne e le righe, l'occhio umano noterà solo una luce continua.

Il VCC e GND del MAX7219 vanno ai pin 5V e GND dell'Arduino e gli altri tre pin, DIN, CLK e CS vanno a qualsiasi pin digitale della scheda Arduino. Se vogliamo collegare più di un modulo basta collegare i pin di output della precedente breakout board ai pin di input del nuovo modulo. In realtà questi pin sono tutti uguali tranne che il pin DOUT della scheda precedente va al pin DIN della nuova scheda.

La connessione tra Arduino e MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 CARICO
GND GND

Passaggio 5: caricamento del programma

Caricamento del programma
Caricamento del programma

L'intero programma è scritto in ambiente Arduino. Per lo schizzo sono state utilizzate due librerie esterne. Uno è per il modulo RTC e un altro è per l'IC MAX7219. Scarica le librerie dal link e aggiungile all'IED Arduino prima di compilare il programma.

Il caricamento del programma in Arduino Pro Mini è un po' complicato. Dai un'occhiata al tutorial se non hai mai usato Arduino Pro Mini prima:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231 > GIT: https://github.com/jarzebski/Arduino-DS3231 > */ #include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Ora abbiamo bisogno di un LedControl con cui lavorare. ***** Questi numeri di pin probabilmente non funzioneranno con il tuo hardware ***** il pin 12 è collegato al DataIn il pin 11 è collegato al CLK il pin 10 è collegato a LOAD Abbiamo solo un singolo MAX72XX. */ Orologio DS3231; RTCDateTime dt; LedControl lc=LedControl(12, 11, 10, 1); int secondi, minuti, ore; numero di byte[10]={B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup() { //Serial.begin(9600); /* Il MAX72XX è in modalità di risparmio energetico all'avvio, dobbiamo fare una sveglia */ lc.shutdown(0, false); /* Imposta la luminosità a valori medi */ lc.setIntensity(0, 15); /* e cancella il display */ lc.clearDisplay(0); //lc.setLed(0, riga, colonna, vero); // lc.setRow(0, 0, B11111111); // lc.setRow(0, 1, B11111111); // lc.setRow(0, 2, B11111111); // lc.setRow(0, 3, B11111111); // lc.setRow(0, 4, B11111111); // lc.setRow(0, 5, B11111111); // lc.setColumn(0, 2, B11111111); // lc.setColumn(0, 3, B11111111); // lc.setColumn(0, 4, B11111111); // lc.setColumn(0, 5, B11111111); // Inizializza DS3231 clock.begin(); // Imposta l'ora di compilazione dello schizzo //clock.setDateTime(_DATE_, _TIME_); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); } int menu = 0, su, giù; int ore_uno; int ore_dieci; int minuti_uno; int minuti_dieci; int secondi_uno; int secondi_dieci; void loop() { if(digitalRead(5)==0){ delay(300); menù++; if(menu>3) menu = 0; } if(menu==0){ dt = clock.getDateTime(); ore = dt.ora; minuti = dt.minuto; secondi = dt.secondo; if(ore>12) ore = ore - 12; if(ore==0) ore = 1; ore_uno = ore%10; ore_dieci = ore/10; minuti_uno = minuti%10; minuti_dieci = minuti/10; secondi_uno = secondi%10; secondi_dieci = secondi/10; lc.setRow(0, 0, numero[secondi_uno]); lc.setRow(0, 1, numero[secondi_dieci]); lc.setRow(0, 2, numero[minuti_uno]); lc.setRow(0, 3, numero[minuti_dieci]); lc.setRow(0, 4, numero[ore_una]); lc.setRow(0, 5, numero[ore_dieci]); } if(menu==1){ if(digitalRead(6)==0){ ritardo(300); ore++; if(ore>=24)ore = 0; } if(digitalRead(7)==0){ delay(300); ore--; if(ore=60) minuti = 0; } if(digitalRead(7)==0){ delay(300); minuti--; if(minuti<0) minuti = 0; } minuti_uno = minuti%10; minuti_dieci = minuti/10; lc.setRow(0, 4, B00000000); lc.setRow(0, 5, B00000000); lc.setRow(0, 1, B00000000); lc.setRow(0, 0, B00000000); lc.setRow(0, 2, numero[minuti_uno]); lc.setRow(0, 3, numero[minuti_dieci]); } if(menu==3){ clock.setDateTime(2020, 4, 13, ore, minuti, 01); menù = 0; } //lc.setLed(0, riga, colonna, falso); //lc.setLed(0, riga, colonna, vero); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, riga, (byte)0); //lc.setColumn(0, col, (byte)0); // Per lo zero iniziale, guarda l'esempio DS3231_dateformat // Serial.print("Raw data: "); // Serial.print(dt.year); Serial.print("-"); // Serial.print(dt.mese); Serial.print("-"); // Serial.print(dt.day); Serial.print(" "); // Serial.print(dt.hour); Serial.print(":"); // Serial.print(dt.minute); Serial.print(":"); // Serial.print(dt.second); Serial.println(""); // // ritardo(1000); }

Passaggio 6: posizionamento dei LED

Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED
Posizionamento dei LED

In questa fase, metterò tutti i LED nei fori della tavola di legno. I collegamenti dei LED sono mostrati nello schema. Poiché utilizzeremo il driver LED MAX7219 per pilotare i LED, tutti i LED devono essere collegati in forma di matrice. Quindi, ho collegato i pin dell'anodo di tutti i LED in ogni colonna insieme e tutti i pin del catodo di ogni riga insieme secondo lo schema. Ora, i nostri pin di colonna sono in realtà pin anodici di LED e pin di riga sono in realtà pin catodici di LED.

Per pilotare i LED utilizzando MAX7219 è necessario collegare il pin del catodo di un led a un pin di cifra dell'IC e il pin dell'anodo del led a un pin di segmento dell'IC. Quindi, i nostri pin di colonna dovrebbero essere collegati ai pin di segmento e i pin di riga dovrebbero essere collegati al pin di cifre del MAX7219.

È necessario collegare un resistore tra il pin ISET e il VCC dell'IC MAX7219 e questo resistore controlla la corrente dei pin del segmento. Ho usato un resistore da 10K per mantenere 20mA in ogni pin del segmento.

Passaggio 7: collegamento dei LED

Collegamento dei LED
Collegamento dei LED
Collegamento dei LED
Collegamento dei LED
Collegamento dei LED
Collegamento dei LED

A questo punto, ho collegato tutti i LED in un formato matrice riga-colonna. Avevo bisogno di utilizzare alcuni cavi di collegamento in più per collegare i LED, ma è possibile effettuare la connessione senza l'aiuto di cavi aggiuntivi se i cavi dei LED sono abbastanza lunghi da toccarsi l'un l'altro.

In questa configurazione non è necessaria alcuna resistenza perché MAX7219 si prenderà cura della corrente. Il tuo dovere è selezionare il valore giusto per il resistore ISET e sollevare il pin ISET con questo resistore. Prima di posizionare e collegare i LED ti suggerisco di controllare ogni LED. Perché posizionare un LED difettoso ucciderà un sacco di tempo. Nel passaggio successivo, collegheremo i fili di riga e colonna al MAX ic.

Passaggio 8: collegamento del circuito con i LED

Collegamento del circuito con i LED
Collegamento del circuito con i LED
Collegamento del circuito con i LED
Collegamento del circuito con i LED
Collegamento del circuito con i LED
Collegamento del circuito con i LED

La nostra scheda elettronica che include RTC, Arduino e MAX7219 è pronta da molto tempo e abbiamo anche preparato la matrice LED nella fase precedente. Ora dobbiamo collegare tutte le cose insieme secondo lo schema. Innanzitutto, dobbiamo collegare i fili di riga e colonna al MAX7219IC. La connessione è stata menzionata nello schema. Per renderlo più chiaro seguire la tabella riportata di seguito.

Matrice LED MAX7219CNG
RIGA0 CIFRA 0
RIGA1 CIFRA 1
RIGA2 DIGIT2
RIGA3 DIGIT3
COLONNA0 SEGA
COLONNA1 SEGB
COLONNA2 SEGC
COLONNA3 SEGD
COLONNA4 SEGE
COLONNA5 SEGF

RIGA0-> Riga più in alto

COLONNA0 -> Colonna più a destra (COLONNA SS)

Dopo aver effettuato la connessione è necessario fissare la scheda PCB e Arduino con il pezzo di legno per evitare di interrompere la connessione. Ho usato la colla a caldo per fissare tutti i circuiti in posizione. Per evitare cortocircuiti, utilizzare una grande quantità di colla per nascondere il giunto di saldatura sul lato inferiore del PCB.

Per rendere utilizzabile un orologio è necessario mantenere un'opzione per regolare l'ora quando richiesto. Ho aggiunto tre interruttori a pulsante per regolare l'ora. Uno per cambiare opzione e due per aumentare e diminuire ore e minuti. I pulsanti sono posizionati nell'angolo in alto a destra in modo che possano essere facilmente accessibili.

Passaggio 9: posizionare i marmi

Posizionamento delle biglie
Posizionamento delle biglie
Posizionamento delle biglie
Posizionamento delle biglie
Posizionamento delle biglie
Posizionamento delle biglie

Questa è la fase finale del nostro progetto. Tutto il collegamento del circuito è completato. Ora devi posizionare il marmo sul lato superiore dell'orologio di legno. Per posizionare le biglie ho usato la colla a caldo. Usa la colla stick di colore bianco trasparente per lo scopo. Ho applicato la colla a caldo in ogni foro dal lato superiore e sopra i LED ho posizionato delicatamente il marmo in ogni foro. L'aggiunta di colla in modo uniforme aumenterà il bagliore del led. Ho usato il LED BLU per il mio orologio. Mi ha dato il miglior risultato.

Dai potenza all'orologio. Se mostra il tempo allora congratulazioni!!!

L'hai fatta!

Divertiti!

Concorso Rendilo Brillante
Concorso Rendilo Brillante
Concorso Rendilo Brillante
Concorso Rendilo Brillante

Secondo classificato al concorso Make it Glow

Consigliato: