Talaan ng mga Nilalaman:

Arduino Matrix Clock: 6 na Hakbang
Arduino Matrix Clock: 6 na Hakbang

Video: Arduino Matrix Clock: 6 na Hakbang

Video: Arduino Matrix Clock: 6 na Hakbang
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Nobyembre
Anonim
Arduino Matrix Clock
Arduino Matrix Clock

Paglalarawan:

Buuin ang iyong orasan gamit ang isang Arduino, isang display ng matrix, at isang module ng Real Time Clock (RTC). Ito ay isang masaya at simpleng proyekto na sa palagay ko ay mahusay para sa mga nagsisimula. Ang orasan ay gumagamit ng module ng RTC upang tumpak na subaybayan ang oras pati na rin ang araw, buwan, at taon. Bilang karagdagan, ang module ay may built-in na sensor ng temperatura. Maaari kang matuto nang higit pa tungkol sa module ng DS3231 dito pati na rin ang I2C komunikasyon bus na ginamit para dito. Panghuli gagamitin namin ang isang Dot Matrix Display upang syempre, ipakita ang oras, araw ng linggo, buwan. Atbp. Maaari kang higit pa tungkol sa pagpapakita dito at sa driver ng MAX7219 IC sa datasheet sa ibaba.

Maaari mo ring i-download ang bersyon ng pdf para sa proyektong ito dito. Ito ay halos kapareho ng itinuturo na ito.

[UPDATE: 2/22/19] Huwag gamitin ang gabay sa pdf, na-update ko ito na maituturo ngunit ang mga pagbabagong iyon ay hindi pa makikita sa pdf.

Hakbang 1: Ipunin ang Mga Bahagi

Ang mga sangkap na kakailanganin mo para sa proyektong ito:

  • Max7219 Dot Matrix Display [Bilhin dito] [Datasheet]
  • RTC DS3231 [Bilhin dito] [Datasheet]
  • 3V CR3032 na baterya (para sa DS3231)

Bilang karagdagan, kakailanganin mo ng anumang uri ng Arduino (mas mabuti ang isang Nano upang mabawasan ang laki ng proyekto), isang breadboard, jumper wires pati na rin ang naka-install na Arduino IDE sa iyong PC.

Hakbang 2: Mga Aklatan

Mga aklatan
Mga aklatan

I-download ang mga sumusunod na aklatan at i-install ang.zip file sa Arduino IDE sa pamamagitan ng pagpunta sa Sketch> Isama ang Library> Magdagdag ng. Zip library

TANDAAN: ANG VERSION MAHAL !!

* I-verify na mayroon kang mga tamang bersyon bago mag-download. Inirerekumenda kong i-download ang bawat aklatan sa loob ng Arduino IDE upang maging ligtas.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Bilang kahalili, Sa Arduino IDE pumunta sa Sketch> Isama ang Library> Pamahalaan ang Mga Aklatan at sa uri ng search bar: "MAX72XX" at dapat mong makita ang sumusunod (Tingnan ang imahe):

I-install lamang ang MD_MAX72XX at MD_Parola. MD_MAXPanel ay HINDI kinakailangan.

Hakbang 3: Pagsubok sa Iyong Mga Sangkap

Matapos ang Pag-install ng mga library, isa-isa ang iyong mga sangkap upang matiyak na gumagana ang mga ito ayon sa nararapat. Mangyaring sundin ang mga hakbang na ito bago magkasama ang lahat ng kable

Upang subukan ang DS3231 RTC Module, Ikonekta ang DS3231 sa Arduino (tingnan ang Mga Kable sa ibaba). Pagkatapos sa Arduino IDE, pumunta sa Files> Mga halimbawa> DS3231> DS3231_Test at i-upload ang sketch. Buksan ang Serial Monitor at suriin upang makita na nakukuha mo ang tamang petsa, oras, araw.etc.

Upang subukan ang pagpapakita ng matrix, ikonekta muna ito sa Arduino (tingnan ang Mga Kable sa ibaba). Susunod, sa Arduino IDE, pumunta sa Files> Mga halimbawa> MD_Parola> Parola_HelloWorld at i-upload ang sketch. Dapat mong makita ang HELLO na nakalimbag sa display at maaari o hindi mai-print paatras. Kung paatras ang teksto kung gayon dapat mong baguhin ang sumusunod na linya:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Sa

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

I-upload muli ang sketch at dapat na malutas ang problema.

Ngayong nasubukan na namin ang aming mga bahagi, handa na kaming i-wire ang lahat!

Hakbang 4: Mga kable

Kable
Kable
Kable
Kable
Kable
Kable

Sumangguni sa diagram o eskematiko o talahanayan

Hakbang 5: CODE

Kunin ang code dito

Tandaan: Gumamit ako ng isang code na orihinal ng mga Elektronikong Proyekto ngunit binago ito upang suportahan ang kasalukuyang (sa oras ng pagkumpleto) na mga aklatan.

Mga Tampok ng Orasan:

Ang orasan ay awtomatikong itinakda upang sabihin oras sa 24hr format ngunit madali itong mabago sa 12hr. Ipapakita din sa orasan ang temperatura (kapwa sa Celsius at Fahrenheit). Nagsama rin ako ng tampok na tinatawag na 'Sleep Mode' na nakatakda sa "OFF" (Tingnan ang Sleep Mode sa ibaba para sa mga detalye).

12hr Format: Upang maitakda ang orasan upang sabihin ang oras sa format na 12hr, kakailanganin mong magbigay ng puna sa linya 88

oras = Clock.gethour (h12, PM); // 24hr Format

At ang mga linya ng hindi pagkakasundo 93 hanggang 100

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

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

Sleep Mode:

Ito ay isang tampok na makakatulong na mabawasan ang ningning ng orasan partikular sa mga oras na natutulog tayo. Sa palagay ko ay hindi mo nais na magising sa kalagitnaan ng gabi at ng mabulag ng orasan na ito. Napakaliwanag nito kahit na ito ay nasa pinakamababang setting. Upang paganahin ang mode ng pagtulog, ang mga linya ng hindi nag-aayos na 177 hanggang 184

kung (h == 12 || h <8) // Mga agwat ng oras (sa kasong ito, mula 12AM hanggang 8AM) {P.setIntensity (0); // Itakda ang ningning sa display sa pinakamababang setting} iba pa {P.setIntensity (6); // Itakda ang ningning sa display sa 6 (15 ang pinakamaliwanag)}

Tandaan: Natagpuan ko ang isang isyu kapag gumagamit ng mode ng pagtulog habang ang orasan ay nakatakda sa 12hr mode. Mapapansin mo na tatakbo ito ng dalawang beses sa isang araw mula 8am at 8pm ay binibigyang kahulugan pareho bilang 8. Kaya't kung itinakda mo ang Sleep Mode na maging aktibo mula 9 ng gabi hanggang 7 ng umaga, magiging aktibo din ito mula 9 ng umaga hanggang 7 ng gabi. Gayunpaman, ang isyu na ito ay hindi nagaganap kung ang orasan ay nakatakda sa 24hr mode.

Hakbang 6: Konklusyon

Congrats !!! Mayroon kang isang nagtatrabaho orasan. Ganito ang naging akin ng [Clock Gallery]. Inaasahan kong hindi mo lamang natutunan nang kaunti pa ang tungkol sa mga bahagi at pag-coding, ngunit nasisiyahan ka sa paglalakbay na makarating doon. Mangyaring ibahagi sa akin ang iyong mga saloobin sa gabay na ito sa [email protected]. Ito ang totoo ang aking unang gabay sa proyekto at inaasahan kong mahusay itong maihatid sa iyo. Inaasahan kong lumikha ng marami pang mga gabay. Bilang karagdagan, kung mayroon kang anumang mga katanungan, mungkahi, at / o mga pagpapabuti sa proyekto, huwag mag-atubiling ipadala sa akin ang mensahe.

Inirerekumendang: