Innholdsfortegnelse:

Arduino Matrix Clock: 6 trinn
Arduino Matrix Clock: 6 trinn

Video: Arduino Matrix Clock: 6 trinn

Video: Arduino Matrix Clock: 6 trinn
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, November
Anonim
Arduino Matrix -klokke
Arduino Matrix -klokke

Beskrivelse:

Bygg klokken din med en Arduino, en matrisedisplay og en sanntidsklokke (RTC) -modul. Dette er et morsomt og enkelt prosjekt som jeg synes er flott for nybegynnere. Klokken bruker RTC -modulen til å spore tid, så vel som dag, måned og år. I tillegg har modulen en innebygd temperatursensor. Du kan lære mer om DS3231 -modulen her så vel som I2C -kommunikasjonsbussen som ble brukt til den her. Til slutt vil vi bruke en Dot Matrix Display for selvfølgelig å vise tid, ukedag, måned osv. Du kan lese mer om displayet her og MAX7219 IC -driveren i databladet nedenfor.

Du kan også laste ned pdf -versjonen for dette prosjektet her. Det er praktisk talt det samme som dette instruerbare.

[OPPDATERING: 2/22/19] Ikke bruk pdf -guiden. Jeg har oppdatert denne instruksen, men endringene er ennå ikke reflektert på pdf -en.

Trinn 1: Samle komponenter

Komponentene du trenger for dette prosjektet:

  • Max7219 Dot Matrix Display [Kjøp her] [Dataark]
  • RTC DS3231 [Kjøp her] [Dataark]
  • 3V CR3032 batteri (for DS3231)

I tillegg trenger du en hvilken som helst Arduino (helst en Nano for å minimere prosjektets størrelse), et brødbrett, jumperkabler samt Arduino IDE installert på din PC.

Trinn 2: Biblioteker

Biblioteker
Biblioteker

Last ned følgende biblioteker og installer.zip -filen til Arduino IDE ved å gå til Sketch> Include Library> Add. Zip library

MERK: VERSJONENE SPILLER !

* Kontroller at du har de riktige versjonene før du laster ned. Jeg vil anbefale å laste ned hvert bibliotek i Arduino IDE for å være på den sikre siden.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativt, I Arduino IDE går du til Skisse> Inkluder bibliotek> Administrer biblioteker og skriver i søkefeltet: "MAX72XX", og du bør se følgende (se bilde):

Installer bare MD_MAX72XX og MD_Parola. MD_MAXPanel er IKKE nødvendig.

Trinn 3: Testing av komponentene

Etter å ha installert bibliotekene, test komponentene individuelt for å sikre at de fungerer som de skal. Følg disse trinnene før du kobler alt sammen

For å teste DS3231 RTC -modul, koble DS3231 til Arduino (se ledninger nedenfor). Gå deretter til Arduino IDE til Filer> Eksempler> DS3231> DS3231_Test og last opp skissen. Åpne Serial Monitor og kontroller at du får riktig dato, klokkeslett, dag. Etc.

For å teste matriseskjermen må du først koble den til Arduino (se ledninger nedenfor). Deretter går du til Arduino IDE til Filer> Eksempler> MD_Parola> Parola_HelloWorld og laster opp skissen. Du bør se HELLO trykt på skjermen, og det kan hende at det skrives ut bakover. Hvis teksten er bakover, må du endre følgende linje:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Til

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Last opp skissen igjen, så skal problemet løses.

Nå som vi har testet komponentene våre, er vi klare til å koble alt sammen!

Trinn 4: Kabling

Kabling
Kabling
Kabling
Kabling
Kabling
Kabling

Se diagrammet eller skjemaet eller tabellen

Trinn 5: KODE

Få koden her

Merk: Jeg brukte en kode opprinnelig av Electronic Projects, men endret den for å støtte nåværende (på tidspunktet for ferdigstillelse) biblioteker.

Klokkefunksjoner:

Klokken settes automatisk til å fortelle klokkeslett i 24 -timers format, men den kan enkelt endres til 12 timer. Klokken vil også vise temperaturen (både i Celsius og Fahrenheit). Jeg har også inkludert en funksjon som heter "Dvalemodus" som er satt til "AV" (se hvilemodus nedenfor for detaljer).

12 -timers format: For å stille klokken til å fortelle tid i 12 -timers format, må du kommentere linje 88

time = Clock.gethour (h12, PM); // 24 -timers format

Og kommenter linje 93 til 100

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

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

Sove modus:

Dette er en funksjon som reduserer lysstyrken på klokken, spesielt i timene vi sover. Jeg tror ikke du vil våkne midt på natten og bli blindet av denne klokken. Det er veldig lyst, selv når det er på den laveste innstillingen. Hvis du vil aktivere hvilemodus, fjerner du kommentarene 177 til 184

if (h == 12 || h <8) // Tidsintervaller (i dette tilfellet fra 12.00 til 08.00) {P.setIntensity (0); // Sett skjermens lysstyrke til laveste innstilling} annet {P.setIntensity (6); // Sett displayets lysstyrke til 6 (15 er den lyseste)}

Merk: Jeg har støtt på et problem når jeg bruker hvilemodus mens klokken er satt til 12 -timers modus. Du vil legge merke til at den vil kjøre to ganger om dagen siden 08.00 og 20.00 tolkes begge som 8. Så hvis du setter hvilemodus til å være aktiv fra 21.00 til 07.00, vil den også være aktiv fra 9.00 til 19.00. Dette problemet oppstår imidlertid ikke hvis klokken er satt til 24 -timers modus.

Trinn 6: Konklusjon

Gratulerer!!! Du har en arbeidsklokke. Slik ble min [Clock Gallery]. Jeg håper at du ikke bare lærte litt mer om komponenter og koding, men at du likte reisen dit. Vennligst del med meg tankene dine om denne guiden på [email protected]. Dette er faktisk min første prosjektguide og håpet det tjente deg godt. Jeg håper å lage mange flere guider. I tillegg, hvis du har spørsmål, forslag og/eller forbedringer på prosjektet, kan du gjerne sende meg en melding.

Anbefalt: