Obsah:

Maticové hodiny Arduino: 6 krokov
Maticové hodiny Arduino: 6 krokov

Video: Maticové hodiny Arduino: 6 krokov

Video: Maticové hodiny Arduino: 6 krokov
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, November
Anonim
Maticové hodiny Arduino
Maticové hodiny Arduino

Popis:

Zostavte si hodiny pomocou Arduina, maticového displeja a modulu Real Time Clock (RTC). Je to zábavný a jednoduchý projekt, ktorý je podľa mňa skvelý pre začiatočníkov. Hodiny používajú modul RTC na presné sledovanie času, ako aj dňa, mesiaca a roku. Modul má navyše vstavaný snímač teploty. Tu sa môžete dozvedieť viac o module DS3231 a o komunikačnej zbernici I2C tu. Nakoniec použijeme bodový maticový displej na zobrazenie času, dňa v týždni, mesiaca atď. Viac informácií o displeji tu a ovládači MAX7219 IC nájdete v nižšie uvedenom technickom liste.

Tu si môžete stiahnuť aj pdf verziu tohto projektu. Je to prakticky rovnaké ako tento návod.

[UPDATE: 2/22/19] Nepoužívajte sprievodcu pdf, aktualizoval som tento návod, ale tieto zmeny sa zatiaľ v pdf neprejavili.

Krok 1: Zhromaždite komponenty

Komponenty, ktoré budete potrebovať pre tento projekt:

  • Max7219 Bodový maticový displej [Kúpiť tu] [Datasheet]
  • RTC DS3231 [Kúpte si tu] [Technický list]
  • 3V batéria CR3032 (pre DS3231)

Okrem toho budete potrebovať Arduino akéhokoľvek druhu (najlepšie Nano na minimalizáciu veľkosti projektu), dosku na vedenie, prepojovacie káble a Arduino IDE nainštalované vo vašom počítači.

Krok 2: Knižnice

Knižnice
Knižnice

Stiahnite si nasledujúce knižnice a nainštalujte súbor.zip do Arduino IDE tak, že prejdete na Sketch> Include Library> Add. Zip library

UPOZORNENIE: NA VERZIACH záleží !!

* Pred sťahovaním si overte, či máte správne verzie. Odporúčam pre istotu stiahnuť každú knižnicu z Arduino IDE.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Prípadne

V Arduino IDE prejdite na Skica> Zahrnúť knižnicu> Spravovať knižnice a do vyhľadávacieho panela zadajte: „MAX72XX“a mali by ste vidieť nasledujúce (pozri obrázok):

Nainštalujte iba modely MD_MAX72XX a MD_Parola. MD_MAXPanel NIE je potrebný.

Krok 3: Testovanie vašich komponentov

Po inštalácii knižníc otestujte svoje súčasti jednotlivo, aby ste sa presvedčili, že fungujú tak, ako by mali. Pred zapojením všetkého dohromady postupujte podľa týchto krokov

Ak chcete otestovať modul RTC DS3231, pripojte DS3231 k Arduinu (pozri zapojenie nižšie). Potom v Arduino IDE prejdite na Súbory> Príklady> DS3231> DS3231_Test a nahrajte skicu. Otvorte sériový monitor a skontrolujte, či dostávate správny dátum, čas, deň atď.

Ak chcete otestovať maticový displej, najskôr ho pripojte k Arduinu (pozri Zapojenie nižšie). Ďalej v Arduino IDE prejdite na Súbory> Príklady> MD_Parola> Parola_HelloWorld a nahrajte skicu. Na displeji by ste mali vidieť HELLO vytlačené a môže, ale nemusí byť vytlačené dozadu. Ak je text dozadu, musíte zmeniť nasledujúci riadok:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Komu

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Nahrajte skicu znova a problém by mal byť vyriešený.

Teraz, keď sme testovali naše súčiastky, sme pripravení prepojiť všetko dohromady!

Krok 4: Zapojenie

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

Pozrite si diagram alebo schému alebo tabuľku

Krok 5: KÓD

Získajte kód tu

Poznámka: Pôvodne som použil kód od Electronic Projects, ale upravil som ho tak, aby podporoval aktuálne (v čase dokončenia) knižnice.

Vlastnosti hodín:

Hodiny sa automaticky nastavujú tak, aby ukazovali čas v 24 -hodinovom formáte, ale dajú sa ľahko zmeniť na 12 -hodinový. Hodiny tiež zobrazujú teplotu (v stupňoch Celzia aj Fahrenheita). Zahrnul som aj funkciu s názvom „Režim spánku“, ktorá je nastavená na „VYPNUTÉ“(podrobnosti nájdete v časti Režim spánku nižšie).

12 -hodinový formát: Ak chcete, aby hodiny nastavovali čas v 12 -hodinovom formáte, musíte komentovať riadok 88

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

A odkomentujte riadky 93 až 100

ak (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:

Táto funkcia pomáha znižovať jas hodín, najmä počas hodín, v ktorých spíme. Nemyslím si, že sa chcete prebúdzať uprostred noci a zaslepení týmito hodinami. Je veľmi jasný, aj keď je na najnižšom nastavení. Ak chcete povoliť režim spánku, odkomentujte linky 177 až 184

if (h == 12 || h <8) // Časové intervaly (v tomto prípade od 12:00 do 8:00) {P.setIntensity (0); // Nastavenie jasu displeja na najnižšie nastavenie} else {P.setIntensity (6); // Nastavte jas displeja na 6 (15 je najjasnejší)}

Poznámka: Pri používaní režimu spánku, keď sú hodiny nastavené na 12 -hodinový režim, som narazil na problém. Všimnete si, že bude bežať dvakrát denne, pretože 8:00 a 20:00 sa interpretujú ako 8. Ak teda nastavíte režim spánku na aktívny od 21.00 do 7.00, bude tiež aktívny od 9.00 do 19.00. K tomuto problému však nedochádza, ak sú hodiny nastavené na 24 -hodinový režim.

Krok 6: Záver

Gratulujem!!! Máte pracovné hodiny. Takto dopadol ten môj [Galéria hodín]. Dúfam, že ste sa nielen dozvedeli niečo viac o komponentoch a kódovaní, ale že sa vám cesta tam aj páčila. Podeľte sa so mnou o svoje myšlienky na tohto sprievodcu na adrese [email protected]. Toto je v skutočnosti môj prvý sprievodca projektom a dúfal som, že vám dobre poslúži. Dúfam, že vytvorím oveľa viac sprievodcov. Okrem toho, ak máte akékoľvek otázky, návrhy alebo vylepšenia projektu, neváhajte mi napísať.

Odporúča: