Turinys:

„Arduino“matricos laikrodis: 6 žingsniai
„Arduino“matricos laikrodis: 6 žingsniai

Video: „Arduino“matricos laikrodis: 6 žingsniai

Video: „Arduino“matricos laikrodis: 6 žingsniai
Video: #diy #shorts Making My Own Watch! 2024, Lapkritis
Anonim
„Arduino“matricinis laikrodis
„Arduino“matricinis laikrodis

Apibūdinimas:

Sukurkite laikrodį naudodami „Arduino“, matricos ekraną ir realaus laiko laikrodžio (RTC) modulį. Tai įdomus ir paprastas projektas, kuris, manau, puikiai tinka pradedantiesiems. Laikrodis naudoja RTC modulį tiksliai sekti laiką, dieną, mėnesį ir metus. Be to, modulyje yra įmontuotas temperatūros jutiklis. Čia galite sužinoti daugiau apie DS3231 modulį ir čia naudojamą I2C ryšio magistralę. Galiausiai mes naudosime taškų matricos ekraną, kad, žinoma, rodytume laiką, savaitės dieną, mėnesį.tt. Daugiau apie ekraną ir MAX7219 IC tvarkyklę galite sužinoti žemiau esančiame duomenų lape.

Taip pat galite atsisiųsti šio projekto pdf versiją čia. Tai praktiškai tas pats, kas instrukcijose.

[ATNAUJINIMAS: 2/22/19] Nenaudokite pdf vadovo, atnaujinau šią instrukciją, tačiau tie pakeitimai dar neatsispindi pdf.

1 žingsnis: Surinkite komponentus

Šiam projektui reikalingi komponentai:

  • „Max7219 Dot Matrix“ekranas [Pirkti čia] [Duomenų lapas]
  • RTC DS3231 [Pirkti čia] [Duomenų lapas]
  • 3 V CR3032 baterija (skirta DS3231)

Be to, jums reikės bet kokio „Arduino“(pageidautina „Nano“, kad sumažintumėte projekto dydį), duonos lentos, trumpųjų laidų ir „Arduino IDE“, įdiegto jūsų kompiuteryje.

2 žingsnis: bibliotekos

Bibliotekos
Bibliotekos

Atsisiųskite šias bibliotekas ir įdiekite.zip failą į „Arduino IDE“, eidami į Eskizas> Įtraukti biblioteką> Pridėti. Zip biblioteką

PASTABA: VERSIJOS SVARBU !

* Prieš atsisiųsdami įsitikinkite, kad turite teisingas versijas. Aš rekomenduočiau atsisiųsti kiekvieną „Arduino IDE“biblioteką, kad būtų saugu.

„MD_Parola 3.0.1“:

MD_MAX72XX 3.0.2:

DS3231 1.0.2: https://github.com/N NorthernWidget/DS3231

Arba, „Arduino IDE“eikite į „Eskizas“> „Įtraukti biblioteką“> „Tvarkyti bibliotekas“ir paieškos juostoje įveskite „MAX72XX“, ir turėtumėte pamatyti šiuos dalykus (žr. Paveikslėlį):

Įdiekite tik „MD_MAX72XX“ir „MD_Parola“. „MD_MAXPanel“nereikalingas.

3 veiksmas: sudedamųjų dalių testavimas

Įdiegę bibliotekas, atskirai išbandykite savo komponentus, kad įsitikintumėte, jog jie veikia taip, kaip turėtų. Prieš prijungdami viską, atlikite šiuos veiksmus

Norėdami išbandyti DS3231 RTC modulį, prijunkite DS3231 prie „Arduino“(žr. Laidus žemiau). Tada „Arduino IDE“eikite į Failai> Pavyzdžiai> DS3231> DS3231_Test ir įkelkite eskizą. Atidarykite serijinį monitorių ir patikrinkite, ar rodoma teisinga data, laikas, diena. Ir tt.

Norėdami išbandyti matricos ekraną, pirmiausia prijunkite jį prie „Arduino“(žr. Laidus žemiau). Tada „Arduino IDE“eikite į Failai> Pavyzdžiai> MD_Parola> Parola_HelloWorld ir įkelkite eskizą. Ekrane turėtumėte matyti „HELLO“ir jis gali būti atspausdintas atgal. Jei tekstas yra atgal, turite pakeisti šią eilutę:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Į

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Įkelkite eskizą dar kartą ir problema turėtų būti išspręsta.

Dabar, kai išbandėme savo komponentus, esame pasirengę viską sujungti!

4 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Žiūrėkite diagramą, schemą ar lentelę

5 veiksmas: KODAS

Gaukite kodą čia

Pastaba: naudojau kodą, kurį iš pradžių sukūrė „Electronic Projects“, bet pakeičiau jį, kad palaikytų dabartines (užbaigimo metu) bibliotekas.

Laikrodžio ypatybės:

Laikrodis automatiškai nustato 24 valandų formatą, tačiau jį galima lengvai pakeisti į 12 valandų. Laikrodis taip pat rodys temperatūrą (Celsijaus ir Farenheito laipsniais). Taip pat įtraukiau funkciją „Miego režimas“, kuri nustatyta kaip „IŠJUNGTA“(išsamesnės informacijos ieškokite žemiau esančiame miego režime).

12 val. Formatas: Norėdami nustatyti laikrodį, kad laikas rodytų 12 val. Formatą, turėsite pakomentuoti 88 eilutę

valanda = Laikrodis.valanda (h12, PM); // 24 val. Formatas

Ir nekomentavimo eilutės nuo 93 iki 100

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

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

Miegojimo rezimas:

Tai funkcija, padedanti sumažinti laikrodžio ryškumą, ypač tomis valandomis, kai mes miegame. Nemanau, kad nori pabusti vidury nakties ir apakintas šio laikrodžio. Jis yra labai ryškus net ir esant žemiausiam nustatymui. Norėdami įjungti miego režimą, atšaukite 177–184 eilutes

if (h == 12 || h <8) // Laiko intervalai (šiuo atveju nuo 12 iki 8 val.) {P.setIntensity (0); // Nustatykite ekrano ryškumą iki žemiausio nustatymo} else {P.setIntensity (6); // Nustatykite ekrano ryškumą į 6 (15 yra ryškiausias)}

Pastaba: susidūriau su problema, kai naudoju miego režimą, kai laikrodis nustatytas į 12 valandų režimą. Pastebėsite, kad jis veiks du kartus per dieną, nes 8 ir 20 val. Interpretuojami kaip 8. Taigi, jei miego režimą nustatysite kaip aktyvų nuo 21 iki 7 val., Jis taip pat bus aktyvus nuo 9 iki 19 val. Tačiau ši problema nekyla, jei laikrodis nustatytas 24 valandų režimu.

6 žingsnis: Išvada

Sveikinimai!!! Jūs turite veikiantį laikrodį. Taip pasirodė mano [Laikrodžių galerija]. Tikiuosi, kad ne tik sužinojote šiek tiek daugiau apie komponentus ir kodavimą, bet ir patiko kelionė ten. Prašome pasidalyti su manimi savo mintimis apie šį vadovą adresu [email protected]. Tiesą sakant, tai yra mano pirmasis projekto vadovas ir tikėjausi, kad jis jums pasitarnavo. Tikiuosi sukurti dar daug vadovų. Be to, jei turite klausimų, pasiūlymų ir (arba) patobulinimų dėl projekto, nedvejodami rašykite man.

Rekomenduojamas: