Indholdsfortegnelse:

Arduino Matrix Ur: 6 trin
Arduino Matrix Ur: 6 trin

Video: Arduino Matrix Ur: 6 trin

Video: Arduino Matrix Ur: 6 trin
Video: Easy LED Matrix Control: Arduino and 8x8 1088AS Matrix Multiplexing 2024, Juli
Anonim
Arduino Matrix ur
Arduino Matrix ur

Beskrivelse:

Byg dit ur ved hjælp af en Arduino, et matrixdisplay og et Real Time Clock (RTC) -modul. Dette er et sjovt og enkelt projekt, som jeg synes er godt for begyndere. Uret bruger RTC -modulet til nøjagtigt at spore tid såvel som dag, måned og år. Derudover har modulet en indbygget temperatursensor. Du kan lære mere om DS3231 -modulet her såvel som I2C -kommunikationsbussen, der blev brugt til det her. Endelig vil vi bruge en Dot Matrix Display til naturligvis at vise tid, ugedag, måned osv. Du kan mere om displayet her og MAX7219 IC -driveren i databladet herunder.

Du kan også downloade pdf -versionen til dette projekt her. Det er stort set det samme som dette instruerbare.

[UPDATE: 2/22/19] Brug ikke pdf -guiden, jeg har opdateret denne instruerbare, men disse ændringer afspejles endnu ikke i pdf'en.

Trin 1: Saml komponenter

De komponenter, du skal bruge til dette projekt:

  • Max7219 Dot Matrix Display [Køb her] [Datablad]
  • RTC DS3231 [Køb her] [Datablad]
  • 3V CR3032 batteri (til DS3231)

Derudover skal du bruge en Arduino af enhver art (helst en Nano for at minimere projektets størrelse), et brødbræt, jumperledninger samt Arduino IDE installeret på din pc.

Trin 2: Biblioteker

Biblioteker
Biblioteker

Download følgende biblioteker, og installer.zip -filen til Arduino IDE ved at gå til Skitse> Inkluder bibliotek> Tilføj. Zip -bibliotek

BEMÆRK: VERSIONERNE ER VIGTIGT !

* Kontroller, at du har de korrekte versioner, før du downloader. Jeg vil anbefale at downloade hvert bibliotek i Arduino IDE for at være på den sikre side.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativt kan

I Arduino IDE skal du gå til Skitse> Inkluder bibliotek> Administrer biblioteker og i søgelinjetypen: "MAX72XX", og du skal se følgende (Se billede):

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

Trin 3: Test af dine komponenter

Efter installation af bibliotekerne skal du teste dine komponenter individuelt for at sikre, at de fungerer, som de skal. Følg venligst disse trin, før du kobler alt sammen

For at teste DS3231 RTC -modul skal du slutte DS3231 til Arduino (se ledninger nedenfor). Gå derefter til Arduino IDE til Filer> Eksempler> DS3231> DS3231_Test, og upload skitsen. Åbn Serial Monitor, og kontroller, at du får den korrekte dato, klokkeslæt, dag.etc.

For at teste matrixdisplayet skal du først tilslutte det til Arduino (se ledninger nedenfor). Gå derefter til Arduino IDE til Filer> Eksempler> MD_Parola> Parola_HelloWorld og upload skitsen. Du skal se HELLO trykt på displayet, og det kan blive udskrevet baglæns. Hvis teksten er baglæns, skal du ændre følgende linje:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Til

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Upload skitsen igen, og problemet skal løses.

Nu hvor vi har testet vores komponenter, er vi klar til at koble alt sammen!

Trin 4: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger

Se diagrammet eller skemaet eller tabellen

Trin 5: KODE

Få koden her

Bemærk: Jeg brugte en kode oprindeligt af Electronic Projects, men ændrede den til at understøtte nuværende (på tidspunktet for færdiggørelsen) biblioteker.

Urfunktioner:

Uret indstilles automatisk til at fortælle tid i 24 -timers format, men det kan let ændres til 12 timer. Uret viser også temperaturen (både i Celsius og Fahrenheit). Jeg har også inkluderet en funktion kaldet 'Dvaletilstand', som er indstillet til "OFF" (se Dvaletilstand nedenfor for detaljer).

12 -timers format: For at indstille uret til at fortælle tiden i 12 -timers format, skal du kommentere linje 88

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

Og kommenter linjer 93 til 100

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

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

Sove mode:

Dette er en funktion, der hjælper med at reducere urets lysstyrke, især i de timer, hvor vi sover. Jeg tror ikke, du vil vågne op midt om natten og blive blændet af dette ur. Det er meget lyst, selv når det er på den laveste indstilling. For at aktivere dvaletilstand, fjern kommentarerne til linjer 177 til 184

hvis (h == 12 || h <8) // Tidsintervaller (i dette tilfælde fra kl. 12 til kl. 8) {P.setIntensity (0); // Indstil skærmens lysstyrke til den laveste indstilling} ellers {P.setIntensity (6); // Indstil skærmens lysstyrke til 6 (15 er den lyseste)}

Bemærk: Jeg er stødt på et problem, når jeg brugte dvaletilstand, mens uret er indstillet til 12 -timers tilstand. Du vil bemærke, at den kører to gange om dagen, da 8.00 og 20.00 tolkes både som 8. Så hvis du indstiller dvaletilstand til at være aktiv fra 21.00 til 07.00, vil den også være aktiv fra 9.00 til 19.00. Dette problem opstår dog ikke, hvis uret er indstillet til 24 -timers tilstand.

Trin 6: Konklusion

Tillykke!!! Du har et arbejdsur. Sådan blev mit [Clock Gallery]. Jeg håber, at du ikke kun lærte lidt mere om komponenter og kodning, men at du nød rejsen derhen. Del venligst med mig dine tanker om denne vejledning på [email protected]. Dette er faktisk min første projektguide og håbede, at det tjente dig godt. Jeg håber at oprette mange flere guider. Desuden, hvis du har spørgsmål, forslag og/eller forbedringer til projektet, er du velkommen til at sende mig en besked.

Anbefalede: