Sisällysluettelo:

Arduino -matriisikello: 6 vaihetta
Arduino -matriisikello: 6 vaihetta

Video: Arduino -matriisikello: 6 vaihetta

Video: Arduino -matriisikello: 6 vaihetta
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Heinäkuu
Anonim
Arduino -matriisikello
Arduino -matriisikello

Kuvaus:

Rakenna kellosi Arduinon, matriisinäytön ja reaaliaikaisen kellon (RTC) avulla. Tämä on hauska ja yksinkertainen projekti, joka on mielestäni hyvä aloittelijoille. Kello käyttää RTC -moduulia tarkkaamaan aikaa sekä päivää, kuukautta ja vuotta. Lisäksi moduulissa on sisäänrakennettu lämpötila-anturi. Täältä voit lukea lisää DS3231 -moduulista sekä sitä käyttävästä I2C -tietoliikenneväylästä. Lopuksi käytämme pistematriisinäyttöä tietysti kellonajan, viikonpäivän, kuukauden jne. Näyttämiseen. Voit lukea lisää näytöstä ja MAX7219 IC -ohjaimesta alla olevasta tietolomakkeesta.

Voit myös ladata projektin pdf -version täältä. Se on käytännössä sama kuin tämä opettavainen.

[PÄIVITYS: 22.2.19] Älä käytä pdf -opasta, olen päivittänyt tämän ohjeen, mutta nämä muutokset eivät vielä näy pdf -tiedostossa.

Vaihe 1: Kerää komponentit

Tässä projektissa tarvittavat komponentit:

  • Max7219 -pistematriisinäyttö [Osta tästä] [Tietolomake]
  • RTC DS3231 [Osta täältä] [Tietolomake]
  • 3V CR3032 -akku (DS3231)

Lisäksi tarvitset kaikenlaista Arduinoa (mieluiten nanoa projektin koon pienentämiseksi), leipälevyä, hyppyjohtoja ja tietokoneellesi asennettua Arduino IDE: tä.

Vaihe 2: Kirjastot

Kirjastot
Kirjastot

Lataa seuraavat kirjastot ja asenna.zip -tiedosto Arduino IDE: hen siirtymällä kohtaan Luonnos> Sisällytä kirjasto> Lisää. Zip -kirjasto

HUOMAUTUS: VERSIOILLA ON merkitystä !

* Varmista ennen lataamista, että sinulla on oikeat versiot. Suosittelen lataamaan jokaisen Arduino IDE: n kirjaston varmuuden vuoksi.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2: https://github.com/N NorthernWidget/DS3231

Vaihtoehtoisesti

Siirry Arduino IDE: ssä Luonnos> Sisällytä kirjasto> Hallitse kirjastoja ja kirjoita hakupalkkiin”MAX72XX” ja sinun pitäisi nähdä seuraava (katso kuva):

Asenna vain MD_MAX72XX ja MD_Parola. MD_MAXPanelia EI tarvita.

Vaihe 3: Komponenttien testaaminen

Kun olet asentanut kirjastot, testaa komponentit yksitellen varmistaaksesi, että ne toimivat oikein. Noudata näitä ohjeita ennen kuin kytket kaiken yhteen

Testaa DS3231 RTC -moduuli liittämällä DS3231 Arduinoon (katso Johdotus alla). Siirry sitten Arduino IDE: ssä kohtaan Tiedostot> Esimerkit> DS3231> DS3231_Test ja lataa luonnos. Avaa Sarjamonitori ja tarkista, että saat oikean päivämäärän, kellonajan ja päivän. Jne.

Jos haluat testata matriisinäyttöä, kytke se ensin Arduinoon (katso Johdotus alla). Siirry seuraavaksi Arduino IDE: ssä Tiedostot> Esimerkit> MD_Parola> Parola_HelloWorld ja lataa luonnos. Näyttöön pitäisi tulla HELLO, ja se voidaan tulostaa taaksepäin tai ei. Jos teksti on taaksepäin, sinun on vaihdettava seuraava rivi:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Vastaanottaja

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Lataa luonnos uudelleen ja ongelma on ratkaistava.

Nyt kun olemme testanneet komponentteja, olemme valmiita yhdistämään kaiken yhteen!

Vaihe 4: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

Katso kaaviota tai kaaviota tai taulukkoa

Vaihe 5: KOODI

Hanki koodi täältä

Huomautus: Käytin alun perin Electronic Projects -koodia, mutta muutin sitä tukemaan nykyisiä (valmistumishetkellä) kirjastoja.

Kellon ominaisuudet:

Kello asetetaan automaattisesti kertomaan aika 24 tunnin muodossa, mutta se voidaan helposti muuttaa 12 tunniksi. Kello näyttää myös lämpötilan (sekä Celsius että Fahrenheit). Olen sisällyttänyt myös ominaisuuden nimeltä 'lepotila', jonka asetuksena on "OFF" (katso lisätietoja alla olevasta lepotilasta).

12 tunnin muoto: Jos haluat asettaa kellon näyttämään ajan 12 tunnin muodossa, sinun on kommentoitava riviä 88

tunti = Kello.tunti (h12, PM); // 24h -muoto

Ja kommenttirivit 93-100

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

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

Nukkumismoodi:

Tämä on ominaisuus, joka auttaa vähentämään kellon kirkkautta etenkin nukkuvina aikoina. Et usko, että haluat herätä keskellä yötä ja tämän kellon sokaistuna. Se on erittäin kirkas, vaikka se olisi alimmalla asetuksella. Ota lepotila käyttöön poistamalla rivit 177 - 184

if (h == 12 || h <8) // Aikavälit (tässä tapauksessa klo 12–8) {P.setIntensity (0); // Aseta näytön kirkkaus pienimmälle asetukselle} else {P.setIntensity (6); // Aseta näytön kirkkaudeksi 6 (15 on kirkkain)}

Huomautus: Olen havainnut ongelman käyttäessäsi lepotilaa, kun kello on asetettu 12 tunnin tilaan. Huomaat, että se suoritetaan kahdesti päivässä, koska kello 8.00 ja 20.00 tulkitaan molemmat kahdeksaksi. Joten jos asetat lepotilan aktiiviseksi klo 21.00–7.00, se on myös aktiivinen klo 9.00–19.00. Tätä ongelmaa ei kuitenkaan ilmene, jos kello on asetettu 24 tunnin tilaan.

Vaihe 6: Johtopäätös

Onnittelut!!! Sinulla on toimiva kello. Näin omani osoittautui [Kellogalleria]. Toivon, että olet paitsi oppinut hieman enemmän komponenteista ja koodauksesta, mutta nautit matkasta sinne. Jaa kanssasi ajatuksiasi tästä oppaasta osoitteessa [email protected]. Tämä on itse asiassa ensimmäinen projektioppaani ja toivoin, että se palveli sinua hyvin. Toivon, että voin luoda paljon enemmän oppaita. Lisäksi, jos sinulla on kysymyksiä, ehdotuksia ja/tai parannuksia projektiin liittyen, voit lähettää minulle viestin.

Suositeltava: