Turinys:
- 1 žingsnis: Surinkite komponentus
- 2 žingsnis: bibliotekos
- 3 veiksmas: sudedamųjų dalių testavimas
- 4 žingsnis: laidų prijungimas
- 5 veiksmas: KODAS
- 6 žingsnis: Išvada
Video: „Arduino“matricos laikrodis: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
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
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
Ž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:
ESP8266 Tinklo laikrodis be jokio RTC - Nodemcu NTP laikrodis Nr. RTC - INTERNETO LAIKRODŽIO PROJEKTAS: 4 žingsniai
ESP8266 Tinklo laikrodis be jokio RTC | Nodemcu NTP laikrodis Nr. RTC | INTERNETO LAIKRODŽIO PROJEKTAS: Projekte bus sukurtas laikrodžio projektas be RTC, užtruks laikas iš interneto naudojant „Wi -Fi“ir jis bus rodomas st7735 ekrane
LED matricos laikrodis: 3 žingsniai
„Led Matrix Clock“: ši instrukcija parodo, kaip mes galime sukurti raudoną LED matricos laikrodį, kuris gali gauti datą/laiką iš interneto ir parodyti jį naudojant LED matricą. taip pat žingsniai f
„Gixie“laikrodis: gražiausias švytėjimo vamzdžio laikrodis: 4 žingsniai
„Gixie Clock“: gražiausias „Glow Tube“laikrodis: „Nixie Tube“man labai patinka, tačiau jis yra per brangus, negaliu to sau leisti. Taigi aš praleidau pusę metų kurdamas šį „Gixie“laikrodį. „Gixie“laikrodis pasiekiamas naudojant apšvietimą „ws2812“, kad būtų akrilo šviesa. Aš darau viską, kad RGB vamzdelis būtų plonesnis
Mažas LED matricos ekrano laikrodis: 8 žingsniai
Mažas LED matricinis ekrano laikrodis: Aš visada norėjau turėti senamadišką stalinį laikrodį, kuris atrodo kaip kažkas iš 90-ųjų filmų, su gana kuklia funkcija: laikrodis realiuoju laiku, data, kintanti foninė šviesa, pyptelėjimas ir žadintuvo parinktis . Taigi atėjau su ID
LED matricos masyvo valdymas naudojant „Arduino Uno“(„Arduino Powered Robot Face“): 4 žingsniai (su paveikslėliais)
LED matricos masyvo valdymas naudojant „Arduino Uno“(„Arduino Powered Robot Face“): Šioje instrukcijoje parodyta, kaip valdyti 8x8 LED matricų masyvą naudojant „Arduino Uno“. Šis vadovas gali būti naudojamas paprastam (ir palyginti pigiam) ekranui sukurti savo projektams. Tokiu būdu galite rodyti raides, skaičius ar pasirinktinius animuotus paveikslėlius