Cuprins:

Ceas Arduino Matrix: 6 pași
Ceas Arduino Matrix: 6 pași

Video: Ceas Arduino Matrix: 6 pași

Video: Ceas Arduino Matrix: 6 pași
Video: My DIY LEDs clock. #arduino #ws2812 2024, Noiembrie
Anonim
Ceas Arduino Matrix
Ceas Arduino Matrix

Descriere:

Construiți-vă ceasul folosind un Arduino, un afișaj matricial și un modul Ceas în timp real (RTC). Acesta este un proiect simplu și distractiv pe care îl consider grozav pentru începători. Ceasul folosește modulul RTC pentru a urmări cu precizie timpul, precum și ziua, luna și anul. În plus, modulul are un senzor de temperatură încorporat. Puteți afla mai multe despre modulul DS3231 aici, precum și despre magistrala de comunicație I2C utilizată aici. În cele din urmă, vom folosi un Dot Matrix Display pentru a afișa desigur ora, ziua săptămânii, luna.etc. Puteți afla mai multe despre afișaj aici și despre driverul MAX7219 IC în foaia tehnică de mai jos.

De asemenea, puteți descărca versiunea pdf pentru acest proiect aici. Este practic la fel ca acest instructable.

[ACTUALIZARE: 22.02.19] Nu utilizați ghidul pdf, am actualizat acest instructable, dar aceste modificări nu sunt încă reflectate în pdf.

Pasul 1: Adunați componentele

Componentele de care aveți nevoie pentru acest proiect:

  • Afișaj cu matrice de puncte Max7219 [Cumpărați aici] [Foaie de date]
  • RTC DS3231 [Cumpărați aici] [Foaie de date]
  • Baterie 3V CR3032 (pentru DS3231)

În plus, veți avea nevoie de un Arduino de orice fel (de preferință un Nano pentru a minimiza dimensiunea proiectului), un panou de lucru, fire jumper, precum și ID-ul Arduino instalat pe computerul dvs.

Pasul 2: Biblioteci

Biblioteci
Biblioteci

Descărcați următoarele biblioteci și instalați fișierul.zip în Arduino IDE accesând Sketch> Include Library> Add. Zip library

NOTĂ: VERSIUNILE CONTĂ !

* Verificați dacă aveți versiunile corecte înainte de descărcare. Aș recomanda să descărcați fiecare bibliotecă din Arduino IDE pentru a fi în siguranță.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativ, În IDE-ul Arduino accesați Sketch> Include Library> Manage Libraries și în bara de căutare tip: „MAX72XX” și ar trebui să vedeți următoarele (Vedeți imaginea):

Instalați numai MD_MAX72XX și MD_Parola. MD_MAXPanel NU este necesar.

Pasul 3: Testarea componentelor

După instalarea bibliotecilor, testați componentele individual pentru a vă asigura că funcționează așa cum ar trebui. Vă rugăm să urmați acești pași înainte de a conecta totul împreună

Pentru a testa modulul DS3231 RTC, conectați DS3231 la Arduino (consultați cablarea de mai jos). Apoi, în IDE-ul Arduino, accesați Fișiere> Exemple> DS3231> DS3231_Test și încărcați schița. Deschideți monitorul serial și verificați dacă primiți data, ora, ziua corectă.etc.

Pentru a testa afișajul matricial, conectați-l mai întâi la Arduino (consultați cablarea de mai jos). Apoi, în IDE-ul Arduino, accesați Fișiere> Exemple> MD_Parola> Parola_HelloWorld și încărcați schița. Ar trebui să vedeți HELLO tipărit pe afișaj și poate fi sau nu imprimat înapoi. Dacă textul este invers, trebuie să schimbați următoarea linie:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

La

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Încărcați schița din nou și problema ar trebui rezolvată.

Acum că ne-am testat componentele, suntem gata să conectăm totul!

Pasul 4: Cablare

Cablare
Cablare
Cablare
Cablare
Cablare
Cablare

Consultați diagrama sau schema sau tabelul

Pasul 5: COD

Obțineți codul aici

Notă: Am folosit un cod inițial de Electronic Projects, dar l-am modificat pentru a susține bibliotecile actuale (la momentul finalizării).

Caracteristici ceas:

Ceasul este setat automat pentru a indica ora în format 24 ore, dar poate fi schimbat cu ușurință la 12 ore. Ceasul va afișa, de asemenea, temperatura (atât în grade Celsius, cât și Fahrenheit). De asemenea, am inclus o caracteristică numită „Modul de repaus”, care este setată la „OPRIT” (a se vedea mai jos modul de repaus pentru detalii).

Format 12 ore: pentru a seta ceasul să spună ora în format 12 ore, va trebui să comentați linia 88

ora = Clock.gethour (h12, PM); // Format 24 ore

Și liniile de comentariu 93 până la 100

if (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{h = Clock.getHour (12, PM) - 12; } else {h = Clock.getHour (h12, PM); }

Modul de somn:

Aceasta este o caracteristică care ajută la reducerea luminozității ceasului, în special în timpul orelor în care dormim. Nu cred că vrei să te trezești în toiul nopții și să fii orbit de acest ceas. Este foarte luminos chiar și atunci când este la cea mai mică setare. Pentru a activa modul de repaus, decomentați liniile 177 - 184

if (h == 12 || h <8) // Intervalele de timp (în acest caz, de la 12AM la 8AM) {P.setIntensity (0); // Setați luminozitatea afișajului la cea mai mică setare} else {P.setIntensity (6); // Setați luminozitatea afișajului la 6 (15 este cea mai strălucitoare)}

Notă: am întâmpinat o problemă la utilizarea modului de repaus, în timp ce ceasul este setat în modul 12 ore. Veți observa că va rula de două ori pe zi, deoarece 8am și 8pm sunt interpretate atât ca 8. Deci, dacă setați modul Sleep pentru a fi activ de la 9pm la 7am, atunci va fi activ și de la 9am la 7pm. Oricum, această problemă nu apare dacă ceasul este setat în modul 24hr.

Pasul 6: Concluzie

Felicitări!!! Ai un ceas de lucru. Așa s-a dovedit a mea [Clock Gallery]. Sper că nu numai că ați învățat un pic mai mult despre componente și codificare, ci că v-a plăcut călătoria până acolo. Vă rog să-mi împărtășiți părerile dvs. despre acest ghid la [email protected]. Acesta este de fapt primul meu ghid de proiect și am sperat că vă va fi de folos. Sper să creez încă multe ghiduri. În plus, dacă aveți întrebări, sugestii și / sau îmbunătățiri cu privire la proiect, nu ezitați să-mi trimiteți un mesaj.

Recomandat: