Obsah:

Hodiny Arduino Matrix: 6 kroků
Hodiny Arduino Matrix: 6 kroků

Video: Hodiny Arduino Matrix: 6 kroků

Video: Hodiny Arduino Matrix: 6 kroků
Video: Arduino LED Matrix Clock 2024, Červenec
Anonim
Maticové hodiny Arduino
Maticové hodiny Arduino

Popis:

Vytvořte si hodiny pomocí Arduina, maticového displeje a modulu Real Time Clock (RTC). Jedná se o zábavný a jednoduchý projekt, který považuji za skvělý pro začátečníky. Hodiny používají modul RTC k přesnému sledování času i dne, měsíce a roku. Modul má navíc vestavěné teplotní čidlo. Zde se můžete dozvědět více o modulu DS3231 a komunikační sběrnici I2C zde. Nakonec použijeme Dot Matrix Display k zobrazení času, dne v týdnu, měsíce atd. Více o displeji zde a ovladači MAX7219 IC v datovém listu níže.

Zde si také můžete stáhnout verzi pdf pro tento projekt. Je to prakticky stejné jako tento návod.

[UPDATE: 2/22/19] Nepoužívejte průvodce pdf, aktualizoval jsem tento návod, ale tyto změny se v pdf ještě neprojevily.

Krok 1: Shromážděte součásti

Komponenty, které budete pro tento projekt potřebovat:

  • Max7219 Dot Matrix Display [Koupit zde] [Datasheet]
  • RTC DS3231 [Koupit zde] [Datový list]
  • 3V baterie CR3032 (pro DS3231)

Kromě toho budete potřebovat Arduino jakéhokoli druhu (nejlépe Nano pro minimalizaci velikosti projektu), prkénko, propojovací vodiče a Arduino IDE nainstalované na vašem PC.

Krok 2: Knihovny

Knihovny
Knihovny

Stáhněte si následující knihovny a nainstalujte soubor.zip do Arduino IDE tak, že přejdete na Sketch> Include Library> Add. Zip library

UPOZORNĚNÍ: VERZE VERZE !

* Před stažením ověřte, že máte správné verze. Doporučuji pro jistotu stáhnout každou knihovnu v Arduino IDE.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativně, V Arduino IDE přejděte na Sketch> Include Library> Manage Libraries a do vyhledávacího pole zadejte: „MAX72XX“a měli byste vidět následující (viz obrázek):

Instalujte pouze MD_MAX72XX a MD_Parola. MD_MAXPanel NENÍ potřeba.

Krok 3: Testování vašich součástí

Po instalaci knihoven otestujte své součásti jednotlivě, abyste se ujistili, že fungují tak, jak by měly. Před zapojením všeho dohromady proveďte tyto kroky

Chcete -li otestovat modul RTC DS3231, připojte DS3231 k Arduinu (viz Zapojení níže). Poté v Arduino IDE přejděte na Soubory> Příklady> DS3231> DS3231_Test a nahrajte skicu. Otevřete Serial Monitor a zkontrolujte, zda dostáváte správné datum, čas, den atd. Atd.

Chcete -li otestovat maticový displej, nejprve jej připojte k Arduinu (viz Zapojení níže). Dále v Arduino IDE přejděte na Soubory> Příklady> MD_Parola> Parola_HelloWorld a nahrajte skicu. Na displeji byste měli vidět HELLO vytištěné a může, ale nemusí být vytištěno zpět. Pokud je text pozpátku, musíte změnit následující řádek:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Na

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Znovu nahrajte skicu a problém by měl být vyřešen.

Nyní, když jsme otestovali naše komponenty, jsme připraveni spojit vše dohromady!

Krok 4: Zapojení

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

Viz diagram nebo schéma nebo tabulka

Krok 5: KÓD

Získejte kód zde

Poznámka: Použil jsem kód původně od Electronic Projects, ale upravil jsem ho tak, aby podporoval aktuální (v době dokončení) knihovny.

Funkce hodin:

Hodiny se automaticky nastavují tak, aby ukazovaly čas ve 24hodinovém formátu, ale lze je snadno změnit na 12hodinové. Hodiny budou také zobrazovat teplotu (ve stupních Celsia i Fahrenheita). Zahrnul jsem také funkci nazvanou „Režim spánku“, která je nastavena na „VYPNUTO“(podrobnosti viz Režim spánku níže).

12hodinový formát: Chcete -li nastavit hodiny tak, aby zobrazovaly čas ve 12hodinovém formátu, musíte okomentovat řádek 88

hodina = Hodiny.hodina (h12, PM); // 24hodinový formát

A odkomentujte řádky 93 až 100

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

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

Režim spánku:

Tato funkce pomáhá snížit jas hodin, zejména v hodinách, ve kterých spíme. Nemyslím si, že se chceš probudit uprostřed noci a zaslepený těmito hodinami. Je velmi jasný, i když je na nejnižší úrovni. Chcete -li povolit režim spánku, odkomentujte řádky 177 až 184

if (h == 12 || h <8) // Časové intervaly (v tomto případě od 12:00 do 8:00) {P.setIntensity (0); // Nastavit jas displeje na nejnižší nastavení} else {P.setIntensity (6); // Nastavte jas displeje na 6 (15 je nejjasnější)}

Poznámka: Při používání režimu spánku, když jsou hodiny nastaveny na 12hodinový režim, jsem narazil na problém. Všimnete si, že poběží dvakrát denně, protože 8:00 a 20:00 jsou interpretovány jako 8. Pokud tedy nastavíte režim spánku na aktivní od 9:00 do 7:00, bude také aktivní od 9:00 do 19:00. K tomuto problému však nedochází, pokud jsou hodiny nastaveny na 24hodinový režim.

Krok 6: Závěr

Gratuluji!!! Máte pracovní hodiny. Tak dopadl ten můj [Galerie hodin]. Doufám, že jste se nejen dozvěděli něco více o součástech a kódování, ale že se vám cesta tam líbila. Podělte se se mnou o své myšlenky na tuto příručku na adrese [email protected]. Toto je ve skutečnosti můj první průvodce projektem a doufal, že vám dobře poslouží. Doufám, že vytvořím mnoho dalších průvodců. Kromě toho, pokud máte nějaké dotazy, návrhy a/nebo vylepšení projektu, neváhejte mi napsat.

Doporučuje: