Innehållsförteckning:

Arduino Matrix Clock: 6 steg
Arduino Matrix Clock: 6 steg

Video: Arduino Matrix Clock: 6 steg

Video: Arduino Matrix Clock: 6 steg
Video: MAX7219 DHT11 DS1307 16x64 matrix clock Arduino 2024, November
Anonim
Arduino Matrix klocka
Arduino Matrix klocka

Beskrivning:

Bygg din klocka med en Arduino, en matrisdisplay och en Real Time Clock (RTC) -modul. Detta är ett roligt och enkelt projekt som jag tycker är bra för nybörjare. Klockan använder RTC -modulen för att spåra tid såväl som dag, månad och år. Dessutom har modulen en inbyggd temperaturgivare. Du kan lära dig mer om DS3231 -modulen här samt I2C -kommunikationsbussen som används för den här. Slutligen kommer vi att använda en Dot Matrix Display för att naturligtvis visa tid, veckodag, månad osv. Du kan läsa mer om displayen här och MAX7219 IC -drivrutinen i databladet nedan.

Du kan också ladda ner pdf -versionen för detta projekt här. Det är praktiskt taget samma som det här instruerbara.

[UPDATE: 2/22/19] Använd inte pdf -guiden, jag har uppdaterat denna instruerbara men dessa ändringar återspeglas ännu inte i pdf -filen.

Steg 1: Samla komponenter

Komponenterna du behöver för detta projekt:

  • Max7219 Dot Matrix Display [Köp här] [Datablad]
  • RTC DS3231 [Köp här] [Datablad]
  • 3V CR3032 batteri (för DS3231)

Dessutom behöver du en Arduino av något slag (helst en Nano för att minimera projektets storlek), en brödbräda, bygelkablar samt Arduino IDE installerad på din dator.

Steg 2: Bibliotek

Bibliotek
Bibliotek

Ladda ner följande bibliotek och installera.zip -filen till Arduino IDE genom att gå till Sketch> Include Library> Add. Zip library

OBS: VERSIONER MATERI !!

* Kontrollera att du har rätt versioner innan du laddar ner. Jag rekommenderar att du laddar ner varje bibliotek i Arduino IDE för att vara på den säkra sidan.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativt, I Arduino IDE går du till Skiss> Inkludera bibliotek> Hantera bibliotek och i sökfältet skriver du: "MAX72XX" och du bör se följande (se bild):

Installera endast MD_MAX72XX och MD_Parola. MD_MAXPanel behövs INTE.

Steg 3: Testa dina komponenter

Efter installation av biblioteken testar du dina komponenter individuellt för att se till att de fungerar som de ska. Följ dessa steg innan du kopplar ihop allt

För att testa DS3231 RTC -modul, anslut DS3231 till Arduino (se Kabeldragning nedan). Gå sedan till Arduino IDE till Filer> Exempel> DS3231> DS3231_Test och ladda upp skissen. Öppna Serial Monitor och kontrollera att du får rätt datum, tid, dag.etc.

För att testa matrisdisplayen, anslut först den till Arduino (se Kabeldragning nedan). Gå sedan till Arduino IDE till Filer> Exempel> MD_Parola> Parola_HelloWorld och ladda upp skissen. Du bör se HELLO tryckt på displayen och det kanske skrivs bakåt. Om texten är bakåt måste du ändra följande rad:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Till

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Ladda upp skissen igen och problemet bör lösas.

Nu när vi har testat våra komponenter är vi redo att koppla ihop allt!

Steg 4: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Se diagrammet eller schemat eller tabellen

Steg 5: KOD

Få koden här

Obs! Jag använde en kod ursprungligen från Electronic Projects men ändrade den för att stödja nuvarande (vid tidpunkten för slutförandet) bibliotek.

Klockfunktioner:

Klockan ställs automatiskt in för att berätta tid i 24 -timmarsformat men den kan enkelt ändras till 12 timmar. Klockan visar också temperaturen (både i Celsius och Fahrenheit). Jag har också inkluderat en funktion som heter "Viloläge" som är inställd på "AV" (se viloläge nedan för mer information).

12 -timmarsformat: För att ställa in klockan för att berätta tid i 12 -timmarsformat måste du kommentera rad 88

timme = Clock.gethour (h12, PM); // 24 -timmarsformat

Och kommentera linjerna 93 till 100

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

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

Viloläge:

Detta är en funktion som hjälper till att minska klockans ljusstyrka, särskilt under de timmar vi sover. Jag tror inte att du vill vakna mitt i natten och bli förblindad av den här klockan. Det är väldigt ljust även när det är på den lägsta inställningen. För att aktivera viloläge, avmarkera raderna 177 till 184

if (h == 12 || h <8) // Tidsintervall (i det här fallet, från 12.00 till 08.00) {P.setIntensity (0); // Ställ in skärmens ljusstyrka till lägsta inställning} annars {P.setIntensity (6); // Ställ in skärmens ljusstyrka till 6 (15 är den ljusaste)}

Obs: Jag har stött på ett problem när jag använder viloläge medan klockan är inställd på 12 timmars läge. Du kommer att märka att det kommer att köras två gånger om dagen eftersom 08.00 och 20.00 tolkas både som 8. Så om du ställer in viloläge för att vara aktivt från 21.00 till 07.00, kommer det också att vara aktivt från 9.00 till 19.00. DET här problemet uppstår dock inte om klockan är inställd på 24 -timmarsläge.

Steg 6: Slutsats

Grattis!!! Du har en arbetsklocka. Så här blev min [Clock Gallery]. Jag hoppas att du inte bara lärde dig lite mer om komponenter och kodning, utan att du gillade resan dit. Dela gärna med mig dina tankar om den här guiden på [email protected]. Detta är faktiskt min första projektguide och hoppades att det tjänade dig bra. Jag hoppas kunna skapa många fler guider. Dessutom, om du har några frågor, förslag och/eller förbättringar av projektet, är du välkommen att meddela mig.

Rekommenderad: