Përmbajtje:

Ora e matricës Arduino: 6 hapa
Ora e matricës Arduino: 6 hapa

Video: Ora e matricës Arduino: 6 hapa

Video: Ora e matricës Arduino: 6 hapa
Video: LED Matrix controlled via Bluetooth 2024, Korrik
Anonim
Orë Arduino Matrix
Orë Arduino Matrix

Përshkrim:

Ndërtoni orën tuaj duke përdorur një modul Arduino, një ekran matricë dhe një orë në kohë reale (RTC). Ky është një projekt argëtues dhe i thjeshtë që mendoj se është i shkëlqyeshëm për fillestarët. Ora përdor modulin RTC për të përcaktuar me saktësi kohën, si dhe ditën, muajin dhe vitin. Për më tepër, moduli ka një sensor të integruar të temperaturës. Mund të mësoni më shumë rreth modulit DS3231 këtu, si dhe autobusit të komunikimit I2C të përdorur për të këtu. Së fundmi ne do të përdorim një Dot Matrix Display për të natyrisht, për të shfaqur kohën, ditën e javës, muajin etj. Mund të mësoni më shumë rreth ekranit këtu dhe drejtuesit IC MAX7219 në fletën e të dhënave më poshtë.

Ju gjithashtu mund të shkarkoni versionin pdf për këtë projekt këtu. Virtshtë praktikisht e njëjtë me këtë të udhëzueshme.

[PPRDITSIM: 2/22/19] Mos përdorni udhëzuesin pdf, e kam përditësuar këtë udhëzues por ato ndryshime nuk janë reflektuar ende në pdf.

Hapi 1: Mblidhni Komponentët

Komponentët që ju nevojiten për këtë projekt:

  • Max7219 Shfaqja e matricës së pikave [Blini këtu] [Fleta e të dhënave]
  • RTC DS3231 [Blini këtu] [Fleta e të dhënave]
  • Bateri 3V CR3032 (për DS3231)

Për më tepër, do t'ju duhet një Arduino i çdo lloji (mundësisht një Nano për të minimizuar madhësinë e projektit), një dërrasë buke, tela kërcyes si dhe Arduino IDE të instaluar në kompjuterin tuaj.

Hapi 2: Bibliotekat

Bibliotekat
Bibliotekat

Shkarkoni bibliotekat e mëposhtme dhe instaloni skedarin.zip në Arduino IDE duke shkuar te Sketch> Include Library> Add. Zip bibliotekë

SH NOTNIM: VERSIONET KAN RENDTER !!

* Verifikoni që keni versionet e sakta para se të shkarkoni. Unë do të rekomandoja shkarkimin e secilës bibliotekë brenda Arduino IDE për të qenë në anën e sigurt.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

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

Përndryshe, Në Arduino IDE shkoni te Skica> Përfshini Bibliotekën> Menaxhoni Bibliotekat dhe në shiritin e kërkimit shkruani: "MAX72XX" dhe duhet të shihni sa më poshtë (Shih imazhin):

Instaloni vetëm MD_MAX72XX dhe MD_Parola. MD_MAXPanel NUK nevojitet.

Hapi 3: Testimi i përbërësve tuaj

Pasi të keni instaluar bibliotekat, testoni përbërësit tuaj individualisht për të siguruar që ata po punojnë ashtu siç duhet. Ndiqni këto hapa para se të lidhni gjithçka së bashku

Për të testuar modulin DS3231 RTC, lidhni DS3231 me Arduino (shikoni telat më poshtë). Pastaj në Arduino IDE, shkoni te Skedarët> Shembujt> DS3231> DS3231_Test dhe ngarkoni skicën. Hapni Monitorin Serial dhe kontrolloni për të parë nëse po merrni datën, kohën, ditën e saktë etj.

Për të testuar ekranin e matricës, së pari lidheni atë me Arduino (shikoni telat më poshtë). Tjetra, në Arduino IDE, shkoni te Skedarët> Shembujt> MD_Parola> Parola_HelloWorld dhe ngarkoni skicën. Ju duhet të shihni HELLO të shtypur në ekran dhe mund të printohet ose jo mbrapsht. Nëse teksti është prapa, atëherë duhet të ndryshoni rreshtin e mëposhtëm:

#përcakto HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Te

#përcakto HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Ngarko skicën përsëri dhe problemi duhet të zgjidhet.

Tani që kemi testuar përbërësit tanë, ne jemi gati të lidhim gjithçka së bashku!

Hapi 4: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Referojuni diagramit ose skemës ose tabelës

Hapi 5: KODI

Merrni kodin këtu

Shënim: Kam përdorur një kod fillimisht nga Projektet Elektronike, por e modifikova për të mbështetur bibliotekat aktuale (në kohën e përfundimit).

Karakteristikat e orës:

Ora vendoset automatikisht për të treguar kohën në formatin 24 orë, por mund të ndryshohet lehtësisht në 12 orë. Ora gjithashtu do të shfaqë temperaturën (si në Celsius ashtu edhe në Fahrenheit). Kam përfshirë gjithashtu një veçori të quajtur 'Sleep Mode' e cila është vendosur në "OFF" (Shihni Sleep Mode më poshtë për detaje).

Formati 12 orë: Për të vendosur orën që të tregojë kohën në formatin 12 orë, do të duhet të komentoni rreshtin 88

orë = Clock.gethour (h12, PM); // Formati 24 orë

Dhe mos komentoni linjat 93 deri në 100

nëse (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{h = Clock.getHour (12, PM) - 12; } tjetër {h = Clock.getHour (h12, PM); }

Mënyra e gjumit:

Kjo është një veçori që ndihmon në zvogëlimin e shkëlqimit të orës veçanërisht gjatë orëve në të cilat jemi në gjumë. Unë nuk mendoj se ju doni të zgjoheni në mes të natës dhe të verbuar nga kjo orë. Isshtë shumë e ndritshme edhe kur është në cilësimin më të ulët. Për të aktivizuar modalitetin e gjumit, mos komentoni linjat 177 deri në 184

nëse (h == 12 || h <8) // Intervale kohore (në këtë rast, nga ora 12 e mëngjesit deri në 8 të mëngjesit) {P.setIntensiteti (0); // Vendosni shkëlqimin e ekranit në cilësimin më të ulët} tjetër {P.setIntensiteti (6); // Vendosni shkëlqimin e ekranit në 6 (15 është më i ndritshmi)}

Shënim: Kam hasur në një problem kur përdor modalitetin e gjumit ndërsa ora është vendosur në modalitetin 12 orë. Ju do të vini re se do të funksionojë dy herë në ditë pasi që nga ora 8 e mëngjesit dhe 8 pasdite interpretohen të dyja si 8. Pra, nëse e vendosni modalitetin e gjumit të jetë aktiv nga 21:00 deri në 7 të mëngjesit, atëherë ai gjithashtu do të jetë aktiv nga 9 e mëngjesit deri në 7 pasdite. Sidoqoftë, kjo çështje nuk ndodh nëse ora është vendosur në modalitetin 24 orë.

Hapi 6: Përfundimi

Urime!!! Ju keni një orë pune. Kështu doli e imja [Galeria e Sahatit]. Shpresoj që jo vetëm që keni mësuar pak më shumë për përbërësit dhe kodimin, por që ju ka pëlqyer udhëtimi për të arritur atje. Ju lutemi ndani me mua mendimet tuaja mbi këtë udhëzues në [email protected]. Ky është në fakt udhëzuesi im i parë i projektit dhe shpresoj se ju ka shërbyer mirë. Shpresoj të krijoj shumë udhëzues të tjerë. Përveç kësaj, nëse keni ndonjë pyetje, sugjerim dhe/ose përmirësime në projekt, mos ngurroni të më dërgoni mesazh.

Recommended: