Cuprins:

Ceas Infinity - Arduino - WS2813 și DS3231: 5 pași (cu imagini)
Ceas Infinity - Arduino - WS2813 și DS3231: 5 pași (cu imagini)

Video: Ceas Infinity - Arduino - WS2813 și DS3231: 5 pași (cu imagini)

Video: Ceas Infinity - Arduino - WS2813 și DS3231: 5 pași (cu imagini)
Video: 4 Clocks in 1 2024, Noiembrie
Anonim
Image
Image
Ceas Infinity - Arduino - WS2813 și DS3231
Ceas Infinity - Arduino - WS2813 și DS3231

Ceas Infinity - Arduino - WS2813 și DS3231

Am vrut să construiesc un ceas și mi-a plăcut ideea de a încerca să fac un ceas infinit cu un Arduino. Am vrut să-l construiască din obiecte obișnuite și să scriu singur programul.

Ce este un ceas Infinity?

Efectul de oglindă 3D de iluzie este produs ori de câte ori există două suprafețe reflectorizante paralele care pot sări dintr-un fascicul de lumină înainte și înapoi de un număr nedefinit (teoretic infinit) de ori. Reflecțiile par să se retragă în depărtare, deoarece lumina traversează de fapt distanța. Prin adăugarea de LED-uri colorate în oglinda Infinity, încercăm să simulăm un ceas analogic folosind lumina colorată în retragere ca axe de ceas.

În acest instructable, vă voi parcurge pașii pentru a crea ceasul Infinity și apoi voi revedea câțiva parametri reglabili în program.

Pasul 1: Piese necesare pentru acest proiect

Piese necesare pentru acest proiect
Piese necesare pentru acest proiect

Lista de componente:

  1. Arduino Uno $ 6 pe taydaelectronics
  2. Protoshield pentru arduino uno. Puteți obține unul pentru 2,50 pe Amazon aici.
  3. DS3231 plus baterie. puteți obține unul pentru aproximativ 3,00 pe Amazon aici.
  4. WS2813 LED 144 pentru 1 metru. 20 USD pe Amazon aici.
  5. 470 OHM 1 W rezistor de film de carbon în jur de 1 cent pe Taydaelectronics.
  6. Condensator electrolitic 1000uf 16V 9 cenți pe Taydaelectronics
  7. Sursa de alimentare de 5V - am folosit un încărcător vechi pentru BlackBerry.
  8. Oglindă rotundă de 6 in. în jur de 5 dolari pe Amazon
  9. Disc acrilic de 6 inch în jur de 10 pe Amazon
  10. 2 - 6 "cercuri de broderie din lemn (da, așa este) 2 USD fiecare pe Amazon
  11. Film de oglindă unidirecțional argintiu. Ebay pare a fi cel mai ieftin.
  12. Firuri asortate.
  13. Diblă pătrată 3/8 "din lemn HomeDepot pentru 1,27 USD
  14. baza veche de ceas din lemn sau alt stand de afișare.
  15. 2 mici cravate cu fermoar.

Scutul prototip nu este necesar, dar dacă vă place să utilizați Arduino, veți găsi foarte la îndemână construirea acestor proiecte. Dacă este necesar, schimbați scutul prototip cu o placă de măsurare.

Este posibil să aveți nevoie și de un fier de lipit.

M-aș aștepta ca proiectul să coste aproximativ 40 USD

Pasul 2: Configurați-vă computerul

Configurați-vă computerul
Configurați-vă computerul
Configurați-vă computerul
Configurați-vă computerul
Configurați-vă computerul
Configurați-vă computerul

Dacă acesta este primul dvs. proiect arduino:

  1. Descărcați software-ul arduino de pe arduino.cc
  2. Conectați Arduino la computer cu un cablu USB.
  3. Odată ce porniți software-ul, va trebui să instalați trei biblioteci:

    • Faceți clic pe meniul „Schiță”, apoi faceți clic pe „Includeți bibliotecile”, apoi pe „Gestionați bibliotecile …”
    • Instalați cele două biblioteci: FastLED și RTClib. Vedeți imagini pentru mai multe detalii.
  4. Ia scketch-ul Arduino din github-ul meu

    • Voi examina codul la final, astfel încât să îl puteți modifica după cum este necesar.
    • În acest moment încărcați programul Infinity_Clock_DS3231_WS2813.ino
  5. Accesați Sketch și Upload pentru a încărca Arduino.
  6. Ultima secțiune din Instructable acoperă unii dintre parametrii configurabili.

Este mai bine să încărcați schița acum, pentru că odată ce se adaugă puterea externă, este mai bine să nu o conectați la computer.

Pasul 3: Cablarea proiectului

Cablarea proiectului
Cablarea proiectului
Cablarea proiectului
Cablarea proiectului

Dacă utilizați ProtoType Shield, puneți-l pe Arduino.

Cablarea este cea mai complexă parte a proiectului. Am inclus imagini pentru a vă ajuta să vedeți ce am făcut. Vă recomand să verificați dublu toate conexiunile înainte de a porni.

DS3231 - Modul de ceas în timp real

Puneți modulul DS3231 în panou și conectați-vă ca în imagine.

  • Arduino Ground la GND
  • Arduino 5V la VCC
  • Arduino A4 la SDA
  • Arduino A5 la SCL

În imagine, conectez 5V și masă la propria lor rută pe panou, deoarece mai târziu vom dori să atașăm alimentarea externă.

Atașați banda LED WS2813

  • arduino 5V la puterea ta de 5V.
  • Cei doi conectori din mijloc sunt pini de date redundanți. merg la pinul 7

    Asigurați-vă că ați pus un rezistor 470 OHM între pinul 7 și două cabluri de date

  • Masă Arduino la ultimul conector.

Atașați sursa de alimentare externă de 5V (nu este recomandată rularea benzii LED de la arduino pentru perioade lungi de timp).

  • Puneți un condensator electrolitic de 1000uf între cabluri.
  • Conectați alimentarea și împământarea la Arduino Power (5V) și la masă (GND)

Nu recomand să conectați simultan alimentarea externă și USB la Arduino.

Pasul 4: Construiți oglinda Infinity

Construiți oglinda infinită
Construiți oglinda infinită

Pași pentru construirea oglinzii Infinity:

  1. Aplicați filmul pe imaginile acrilice. Acest lucru vă va face oglinda cu sens unic.
  2. Puneți discul acrilic în cercul de broderie. Strângeți șurubul pentru a nu aluneca
  3. Pune oglinda în celălalt cerc Broderie. Strângeți șurubul.
  4. Tăiați diblul pătrat în secțiuni mici. aproximativ 1/2"
  5. Buclați banda led cu LED-urile îndreptate în interiorul cercului.

    1. Folosiți cravatele cu fermoar pentru a ține ledul în poziție.
    2. Este posibil să fie nevoie să tăiați o crestătură în cravată cu fermoar.
  6. Puneți bucla pe oglindă

    1. Folosiți blocuri de lemn ca distanțieri
    2. Lipiți blocurile în loc. Acestea ar trebui să fie suficient de sigure pentru a menține ledul în poziție.
  7. Puneți oglinda acrilică deasupra oglinzii / LED-urilor și lipiți-o în poziție.

Pasul 5: Codul

Codul
Codul
Codul
Codul

Programul folosește biblioteca cu ceas în timp real și biblioteca Fastled.

Iată câteva fragmente de cod pentru a personaliza comportamentul.

  • OFFSET - este suprapunerea. Programul se așteaptă ca suprapunerea să fie de la LED0. Am un offset cu 3 LED-uri.
  • CLOCKSTART - este locul unde se află amiaza la ceas. LED-ul 30 îl pune opus conexiunilor electrice.

Am scris programul pentru a folosi culori HTML. Le puteți obține de la https://htmlcolorcodes.com/ Trebuie doar să schimbați # pentru 0x în program.

Puteți schimba fundalul pentru am / pm

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

LED-urile ceasului:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • secHand = 0xcc0000;

Pentru a-l scoate în evidență, am adăugat o opțiune de a avea 3 LED-uri pentru mâna orelor, dar vă permit să schimbați culoarea de pe ambele părți ale celui din mijloc pentru a-l scoate în evidență.

  • theeledhour = adevărat; // îl puteți face adevărat sau fals
  • extraHourHand = 0x00001F;

O altă caracteristică plăcută este că RTClib va detecta faptul că DS3231 a fost îndepărtat de baterie și va seta ora la ora de compilare a computerului. Este o caracteristică bună pentru noul DS3231.

Dacă nu ați primit schița la începutul documentului, acesta poate fi găsit pe GitHub

Vă mulțumim că ați citit acest Instructable. Fiul meu a ajutat și a fost un proiect distractiv pentru noi. Sper că suntem luați în considerare la concursul de optică.

Recomandat: