Sommario:

Orologio Infinity - Arduino - WS2813 e DS3231: 5 passaggi (con immagini)
Orologio Infinity - Arduino - WS2813 e DS3231: 5 passaggi (con immagini)

Video: Orologio Infinity - Arduino - WS2813 e DS3231: 5 passaggi (con immagini)

Video: Orologio Infinity - Arduino - WS2813 e DS3231: 5 passaggi (con immagini)
Video: DIY RGB Pointer clock 2024, Dicembre
Anonim
Image
Image
Orologio Infinity - Arduino - WS2813 e DS3231
Orologio Infinity - Arduino - WS2813 e DS3231

Orologio Infinity - Arduino - WS2813 e DS3231

Volevo costruire un orologio e mi piaceva l'idea di provare a creare un orologio infinito con un Arduino. Volevo che lo costruisse con elementi comuni e scrivessi il programma da solo.

Cos'è un orologio infinito?

L'effetto specchio illusione 3D viene prodotto ogni volta che ci sono due superfici riflettenti parallele che possono far rimbalzare un raggio di luce avanti e indietro un numero indefinito (teoricamente infinito) di volte. I riflessi sembrano allontanarsi in lontananza perché la luce in realtà sta attraversando la distanza. Aggiungendo LED colorati allo specchio Infinity, tentiamo di simulare un orologio analogico utilizzando la luce colorata che si allontana come lancette dell'orologio.

In questo tutorial ti guiderò attraverso i passaggi per creare l'orologio infinito e quindi rivedere alcuni parametri sintonizzabili nel programma.

Passaggio 1: parti necessarie per questo progetto

Parti necessarie per questo progetto
Parti necessarie per questo progetto

Elenco delle parti:

  1. Arduino Uno $ 6 su taydaelectronics
  2. Protoshield per arduino uno. Puoi ottenerne uno per 2,50 su Amazon qui.
  3. DS3231 più batteria. puoi ottenerne uno per circa 3,00 su Amazon qui.
  4. WS2813 LED 144 per 1 metro. $ 20 su Amazon qui.
  5. Resistenza a film di carbonio da 470 OHM 1 W circa 1 centesimo su Taydaelectronics.
  6. Condensatore elettrolitico 1000uf 16V 9 centesimi su Taydaelectronics
  7. Alimentatore 5v- ho usato un vecchio caricatore per blackberry.
  8. Specchio rotondo da 6 pollici. circa $ 5 su Amazon
  9. Disco acrilico da 6 pollici circa 10 su Amazon
  10. Cerchi da ricamo in legno da 2 - 6" (sì, è vero) $ 2 ciascuno su Amazon
  11. Pellicola argentata a specchio unidirezionale. Ebay sembra essere il più economico.
  12. Fili assortiti.
  13. Tassello quadrato in legno da 3/8" HomeDepot per $ 1,27
  14. vecchia base dell'orologio in legno o altro espositore.
  15. 2 piccole fascette.

Lo scudo del prototipo non è richiesto, ma se ti piace usare Arduino lo troverai molto utile nella costruzione di questi progetti. Se necessario, scambia lo scudo del prototipo con una breadboard.

Potrebbe anche essere necessario un saldatore.

Mi aspetto che il progetto costi circa $ 40,00

Passaggio 2: configura il tuo PC

Configura il tuo PC
Configura il tuo PC
Configura il tuo PC
Configura il tuo PC
Configura il tuo PC
Configura il tuo PC

Se questo è il tuo primo progetto Arduino:

  1. Scarica il software arduino da arduino.cc
  2. Collega l'Arduino al PC con il cavo USB.
  3. Una volta avviato il software sarà necessario installare tre librerie:

    • Fare clic sul menu "Schizzo", quindi fare clic su "Includi librerie", quindi su "Gestisci librerie…"
    • Installa le due librerie: FastLED e RTClib. Vedere le immagini per maggiori dettagli.
  4. Prendi lo sketch di Arduino dal mio github

    • Esaminerò il codice alla fine in modo che tu possa modificarlo secondo necessità.
    • A questo punto carica il programma Infinity_Clock_DS3231_WS2813.ino
  5. Vai su Schizzo e carica per caricare Arduino.
  6. L'ultima sezione di Instructable copre alcuni dei parametri configurabili.

È meglio caricare lo schizzo ora, perché una volta aggiunta l'alimentazione esterna è meglio non collegarlo al PC.

Passaggio 3: cablaggio del progetto

Cablaggio del progetto
Cablaggio del progetto
Cablaggio del progetto
Cablaggio del progetto

Se stai usando ProtoType Shield, mettilo su Arduino.

Il cablaggio è la parte più complessa del progetto. Ho incluso delle immagini per aiutarti a vedere cosa ho fatto. Consiglio di ricontrollare tutte le connessioni prima di accendere.

DS3231 - Modulo orologio in tempo reale

Inserite il modulo DS3231 nella breadboard e collegate come in foto.

  • Arduino Ground to GND
  • Arduino 5V a VCC
  • Arduino A4 su SDA
  • Arduino A5 a SCL

Nella foto collego il 5v e il Ground alla loro stessa corsa sulla breadboard perché in seguito vorremo collegare l'alimentazione esterna.

Attacca la striscia LED WS2813

  • arduino 5V alla tua alimentazione a 5V.
  • I due connettori centrali sono pin dati ridondanti. vanno al pin 7

    Assicurati di inserire una resistenza da 470 OHM tra il pin7 e due cavi dati

  • Arduino Ground all'ultimo connettore.

Collegare l'alimentatore esterno da 5 V (non è consigliabile eseguire la striscia LED dall'alimentazione di arduino per lunghi periodi).

  • Metti un condensatore elettrolitico da 1000 uf tra i cavi.
  • Collega l'alimentazione e la messa a terra ad Arduino Power (5V) e Ground (GND)

Non consiglio di collegare l'alimentazione esterna e l'USB ad Arduino contemporaneamente.

Passaggio 4: costruisci lo specchio infinito

Costruisci lo Specchio Infinito
Costruisci lo Specchio Infinito

Passaggi per costruire l'Infinity Mirror:

  1. Applicare la pellicola sui dischi acrilici. Questo renderà il tuo specchio unidirezionale.
  2. Metti il disco acrilico nel telaio per ricamo. Stringere la vite per evitare che scivoli
  3. Metti lo specchio nell'altro telaio da ricamo. Stringere la vite.
  4. Tagliare il tassello quadrato in piccole sezioni. circa 1/2"
  5. Loop la striscia led con i LED che puntano all'interno del cerchio.

    1. Usa le fascette per tenere fermo il led.
    2. Potrebbe essere necessario tagliare una tacca nella fascetta.
  6. Metti l'anello sullo specchio

    1. Usa blocchi di legno come distanziatori
    2. Incolla i blocchi in posizione. Dovrebbero essere abbastanza sicuri da mantenere il led in posizione.
  7. Metti lo specchio acrilico sopra lo specchio/LED e incollalo in posizione.

Passaggio 5: il codice

Il codice
Il codice
Il codice
Il codice

Il programma utilizza la libreria Real Time Clock e la libreria Fastled.

Ecco alcuni frammenti di codice per personalizzare il comportamento.

  • OFFSET - è la sovrapposizione. Il programma si aspetta che la sovrapposizione provenga da LED0. Ho un offset a 3 LED.
  • CLOCKSTART - è dove il mezzogiorno è sull'orologio. Il LED 30 lo pone di fronte ai collegamenti elettrici.

Ho scritto il programma per usare i colori HTML. Puoi ottenerli da https://htmlcolorcodes.com/ Basta scambiare il # con 0x nel programma.

Puoi cambiare lo sfondo per am/pm

  • backgroundAM =0x070707;
  • backgroundPM =0x646D7E;

LED Lancette dell'orologio:

  • lancetta delle ore =0x000FFF;
  • minHand =0x00CC00;
  • secHand = 0xcc0000;

Per farlo risaltare ho aggiunto un'opzione per avere 3 LED per la lancetta delle ore ma ti permettono di cambiare il colore su entrambi i lati di quello centrale per farlo risaltare.

  • theeledhour=true; //puoi renderlo vero o falso
  • extraHourHand =0x00001F;

Un'altra bella caratteristica è che RTClib rileverà che il tuo DS3231 ha avuto la batteria rimossa e imposterà l'ora al tempo di compilazione del PC. È una buona caratteristica per il nuovo DS3231.

Se non hai ricevuto lo schizzo all'inizio del documento, puoi trovarlo su GitHub

Grazie per aver letto questo Instructable. Mio figlio ha aiutato ed è stato un progetto divertente per noi. Spero che siamo considerati nel concorso di ottica.

Consigliato: