INHOUDSOPGAWE:

Arduino -matriksklok: 6 stappe
Arduino -matriksklok: 6 stappe

Video: Arduino -matriksklok: 6 stappe

Video: Arduino -matriksklok: 6 stappe
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Arduino matriksklok
Arduino matriksklok

Beskrywing:

Bou u klok met 'n Arduino, 'n matriksskerm en 'n Real Time Clock (RTC) -module. Dit is 'n prettige en eenvoudige projek wat volgens my ideaal is vir beginners. Die klok gebruik die RTC -module om die tyd sowel as die dag, maand en jaar akkuraat op te spoor. Boonop het die module 'n ingeboude temperatuursensor. U kan hier meer leer oor die DS3231 -module sowel as die I2C -kommunikasiebus wat daarvoor gebruik is. Laastens sal ons 'n Dot Matrix Display gebruik om natuurlik die tyd, dag van die week, maand, ens. U kan meer lees oor die skerm hier en die MAX7219 IC -bestuurder in die gegewensblad hieronder.

U kan ook die pdf -weergawe vir hierdie projek hier aflaai. Dit is feitlik dieselfde as hierdie instruksies.

[UPDATE: 2/22/19] Moenie die pdf -gids gebruik nie; ek het hierdie instruksies opgedateer, maar die veranderinge word nog nie op die pdf weergegee nie.

Stap 1: Versamel komponente

Die komponente wat u vir hierdie projek benodig:

  • Max7219 Dot Matrix Display [Koop hier] [Gegevensblad]
  • RTC DS3231 [Koop hier] [Gegevensblad]
  • 3V CR3032 battery (vir DS3231)

Daarbenewens benodig u 'n Arduino van enige aard (verkieslik 'n Nano om die grootte van die projek te verminder), 'n broodbord, springdrade en die Arduino IDE wat op u rekenaar geïnstalleer is.

Stap 2: Biblioteke

Biblioteke
Biblioteke

Laai die volgende biblioteke af en installeer die.zip -lêer in die Arduino IDE deur na Sketch> Include Library> Add. Zip library

LET WEL: DIE VERSIES MAAK !

* Maak seker dat u die korrekte weergawes het voordat u dit aflaai. Ek beveel aan dat u elke biblioteek binne die Arduino IDE aflaai om aan die veilige kant te wees.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternatiewelik, Gaan in die Arduino IDE na Skets> Sluit biblioteek in> Bestuur biblioteke en tik in die soekbalk: "MAX72XX" en u moet die volgende sien (sien prent):

Installeer slegs MD_MAX72XX en MD_Parola. MD_MAXPanel is NIE nodig nie.

Stap 3: Toets u komponente

Nadat u die biblioteke geïnstalleer het, toets u komponente individueel om te verseker dat hulle werk soos hulle moet. Volg hierdie stappe voordat u alles aanmekaar sit

Om die DS3231 RTC -module te toets, koppel die DS3231 aan die Arduino (sien Bedrading hieronder). Gaan dan in die Arduino IDE na lêers> Voorbeelde> DS3231> DS3231_Test en laai die skets op. Maak die Serial Monitor oop en kyk of u die regte datum, tyd, dag, ens. Kry.

Om die matriksvertoning te toets, koppel dit eers aan die Arduino (sien Bedrading hieronder). Gaan dan in die Arduino IDE na lêers> Voorbeelde> MD_Parola> Parola_HelloWorld en laai die skets op. U moet HELLO op die skerm sien druk, en dit mag al dan nie agteruit gedruk word. As die teks agteruit is, moet u die volgende reël verander:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Aan

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Laai die skets weer op, en die probleem moet opgelos word.

Noudat ons ons komponente getoets het, is ons gereed om alles saam te snoer!

Stap 4: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Verwys na die diagram of skematiese of tabel

Stap 5: KODE

Kry die kode hier

Nota: ek het 'n kode oorspronklik deur Electronic Projects gebruik, maar dit aangepas om huidige (ten tyde van voltooiing) biblioteke te ondersteun.

Klok funksies:

Die klok word outomaties ingestel om die tyd in 24 -uur -formaat aan te dui, maar dit kan maklik na 12 uur verander word. Die temperatuur sal ook die temperatuur wys (beide in Celsius en Fahrenheit). Ek het ook 'n funksie met die naam 'Slaapmodus' ingesluit wat op 'UIT' gestel is (sien Slaapmodus hieronder vir meer inligting).

12 -uur -formaat: om reël 88 in te stel om die tyd in 12 -uur -formaat aan te dui

uur = Klok.tyd (h12, PM); // 24 uur -formaat

En kommentaar reëls 93 tot 100

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

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

Slaap stelling:

Dit is 'n funksie wat help om die helderheid van die klok te verminder, veral gedurende die ure waarin ons slaap. Ek dink nie jy wil in die middel van die nag wakker word en deur hierdie horlosie verblind word nie. Dit is baie helder, selfs as dit op die laagste omgewing is. Los die reëls 177 tot 184 uit om die slaapmodus moontlik te maak

if (h == 12 || h <8) // Tydsintervalle (in hierdie geval, van 12:00 tot 08:00) {P.setIntensity (0); // Stel die helderheid van die skerm op die laagste instelling} anders {P.setIntensity (6); // Stel die helderheid van die skerm op 6 (15 is die helderste)}

Opmerking: ek het 'n probleem ondervind tydens die gebruik van die slaapmodus terwyl die klok op die 12 -uur -modus was. U sal sien dat dit twee keer per dag sal werk, aangesien 08:00 en 20:00 beide as 8 geïnterpreteer word. As u dus die slaapmodus van 21:00 tot 07:00 aktiveer, is dit ook aktief van 9:00 tot 19:00. Hierdie probleem kom egter nie voor as die klok op 24 -uur -modus is nie.

Stap 6: Gevolgtrekking

Geluk!!! U het 'n werkende horlosie. Dit is hoe myne verloop het [Clock Gallery]. Ek hoop dat u nie net 'n bietjie meer geleer het oor komponente en kodering nie, maar dat u die reis daarheen geniet het. Deel asseblief u gedagtes oor hierdie gids met my oor [email protected]. Dit is eintlik my eerste projekgids en het gehoop dat dit u goed gedien het. Ek hoop om nog baie gidse te skep. Boonop, as u enige vrae, voorstelle en/of verbeterings oor die projek het, stuur 'n boodskap aan my.

Aanbeveel: