Агуулгын хүснэгт:

Arduino матрицын цаг: 6 алхам
Arduino матрицын цаг: 6 алхам

Видео: Arduino матрицын цаг: 6 алхам

Видео: Arduino матрицын цаг: 6 алхам
Видео: Домашний баллистический хронограф ИК-датчик 2024, Долдугаар сарын
Anonim
Arduino матрицын цаг
Arduino матрицын цаг

Тодорхойлолт:

Arduino, матрицын дэлгэц, Real Time Clock (RTC) модулийг ашиглан цагаа бүтээгээрэй. Энэ бол эхлэгчдэд тохиромжтой гэж бодож байгаа хөгжилтэй, энгийн төсөл юм. Цаг нь RTC модулийг ашиглан цаг, өдөр, сар, жилийг үнэн зөв хянадаг. Үүнээс гадна модуль нь суурилуулсан температур мэдрэгчтэй. Та эндээс DS3231 модуль болон түүнд ашигласан I2C холбооны автобусны талаар илүү ихийг мэдэх боломжтой. Эцэст нь бид цэг матрицын дэлгэцийг ашиглан цаг, долоо хоногийн өдөр, сарыг харуулах болно. Та энд байгаа дэлгэц болон MAX7219 IC драйверын талаар доорх мэдээллийн хүснэгтээс дэлгэрэнгүй мэдээлэл авах боломжтой.

Та мөн энэ төслийн pdf хувилбарыг эндээс татаж авах боломжтой. Энэ нь зааварчилгаа өгөхтэй бараг ижил юм.

[UPDATE: 2/22/19] pdf гарын авлагыг бүү ашиглаарай, би энэ зааварчилгааг шинэчилсэн боловч эдгээр өөрчлөлтүүдийг pdf дээр хараахан тусгаагүй байна.

Алхам 1: Бүрэлдэхүүн хэсгүүдийг цуглуулах

Энэ төсөлд танд хэрэгтэй бүрэлдэхүүн хэсгүүд:

  • Max7219 цэг матрицын дэлгэц [Эндээс худалдаж авах] [мэдээллийн хуудас]
  • RTC DS3231 [Эндээс худалдаж авна уу] [Мэдээллийн хуудас]
  • 3V CR3032 батерей (DS3231 -ийн хувьд)

Нэмж дурдахад танд ямар ч төрлийн Arduino (төслийн хэмжээг багасгахын тулд нано), талхны самбар, холбогч утас, таны компьютер дээр суулгасан Arduino IDE хэрэгтэй болно.

Алхам 2: Номын сан

Номын сан
Номын сан

Дараахь номын сангуудыг татаж аваад.zip файлыг Arduino IDE -д Sketch> Номын санг оруулах> Зип номын сан руу очих замаар суулгана уу.

ТАЙЛБАР: Хувилбарууд чухал юм !

* Татаж авахаасаа өмнө зөв хувилбар байгаа эсэхийг шалгаарай. Аюулгүй байхын тулд Arduino IDE доторх номын сан бүрийг татаж авахыг зөвлөж байна.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Эсвэл

Arduino IDE дээр Sketch> Номын санг оруулах> Номын санг удирдах хэсэгт очоод хайлтын мөрөнд "MAX72XX" гэж бичээд дараахь зүйлийг харах ёстой.

Зөвхөн MD_MAX72XX болон MD_Parola суулгана уу. MD_MAXPanel шаардлагагүй.

Алхам 3: Бүрэлдэхүүн хэсгүүдийг шалгах

Номын санг суулгасны дараа бүрэлдэхүүн хэсгүүдийг тус тусад нь туршиж, зохих ёсоор ажиллаж байгаа эсэхийг шалгаарай. Бүх зүйлийг хооронд нь холбохоос өмнө эдгээр алхмуудыг дагана уу

DS3231 RTC модулийг туршихын тулд DS3231 -ийг Arduino руу холбоно уу (доорх утсыг үзнэ үү). Дараа нь Arduino IDE -д Файлууд> Жишээ> DS3231> DS3231_Test руу орж ноорогоо байршуулна уу. Цуваа мониторыг нээгээд огноо, цаг, өдөр гэх мэтийг зөв авч байгаа эсэхээ шалгаарай.

Матрицын дэлгэцийг туршихын тулд эхлээд Arduino -тэй холбоно уу (доорх утсыг үзнэ үү). Дараа нь Arduino IDE дээр Files> Examples> MD_Parola> Parola_HelloWorld руу очоод ноорогоо байршуулна уу. Та HELLO -г дэлгэц дээр хэвлэсэн байх ёстой бөгөөд үүнийг арагш нь хэвлэж болно. Хэрэв текст арагшаа байвал та дараах мөрийг өөрчлөх ёстой.

HARDWARE_TYPE MD_MAX72XX -ийг тодорхойлно уу:: PAROLA_HW

To

#тодорхойлох HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Ноорогоо дахин ачаалж, асуудлыг шийдэх хэрэгтэй.

Бид бүрэлдэхүүн хэсгүүдийг туршиж үзсэний дараа бид бүх зүйлийг утастай холбоход бэлэн байна!

Алхам 4: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Диаграм, схем эсвэл хүснэгтийг үзнэ үү

Алхам 5: КОД

Кодыг эндээс авна уу

Тэмдэглэл: Би анх электрон төслүүдийн кодыг ашиглаж байсан боловч одоогийн (дуусах үед) номын санг дэмжих зорилгоор өөрчилсөн.

Цагны онцлог:

Цагийг 24 цагийн форматаар автоматаар тохируулдаг боловч 12 цаг болгож хялбархан өөрчилж болно. Цаг нь мөн температурыг харуулна (Цельсийн болон Фаренгейтийн аль алинд нь). Би бас "Унтах горим" гэсэн функцийг оруулсан бөгөөд үүнийг "OFF" болгож тохируулсан болно (Дэлгэрэнгүй мэдээллийг доорх Унтах горимыг үзнэ үү).

12 цагийн формат: Цагийг 12 цагийн форматаар зааж өгөхийн тулд 88 -р мөрөнд тайлбар бичих шаардлагатай болно

цаг = Clock.gethour (h12, PM); // 24 цагийн формат

93 -аас 100 хүртэлх мөрүүдийг тайлбарлахгүй

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

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

Унтах горим:

Энэ бол ялангуяа унтаж байх үед цагийн тод байдлыг багасгахад тусалдаг онцлог юм. Та шөнө дөлөөр, энэ цагийг хараагүй байхад сэрэхийг хүсэхгүй байна гэж би бодож байна. Энэ нь хамгийн бага тохиргоотой байсан ч гэсэн маш гэрэл гэгээтэй байдаг. Унтах горимыг идэвхжүүлэхийн тулд 177-184 гэсэн мөрүүдийг тайлбарлахгүй

if (h == 12 || h <8) // Цагийн интервал (энэ тохиолдолд 12AM -аас 8AM хүртэл) {P.setIntensity (0); // Дэлгэцийн тод байдлыг хамгийн бага тохиргоонд тохируулна уу} өөр {P.setIntensity (6); // Дэлгэцийн гэрлийг 6 болгож тохируулна уу (15 нь хамгийн тод)}

Тэмдэглэл: Цагийг 12 цагийн горимд тохируулж байх үед унтах горимыг ашиглахад асуудал гарлаа. Өглөөний 8, орой 20 цагийг хоёуланг нь 8 гэж тайлбарладаг тул өдөрт хоёр удаа ажиллана гэдгийг та анзаарах болно. Тиймээс хэрэв та Унтах горимыг оройн 9 цагаас өглөөний 7 цаг хүртэл идэвхтэй гэж тохируулсан бол өглөөний 9 -өөс оройны 19 цаг хүртэл идэвхтэй байх болно. Гэсэн хэдий ч, цагийг 24 цагийн горимд тохируулсан тохиолдолд ийм асуудал гардаггүй.

Алхам 6: Дүгнэлт

Баяр хүргэе !!! Танд ажлын цаг байна. Миний цаг ийм болсон [Цагийн галерей]. Та зөвхөн бүрэлдэхүүн хэсгүүд болон кодчиллын талаар бага зэрэг сурч мэдээд зогсохгүй тэнд очих зам танд таалагдсан гэж найдаж байна. Энэхүү гарын авлагын талаархи санал бодлоо надтай [email protected] хаягаар хуваалцана уу. Энэ бол миний анхны төслийн удирдамж бөгөөд энэ нь танд сайн үйлчилсэн гэж найдаж байна. Өөр олон хөтөч бий болгоно гэж найдаж байна. Нэмж хэлэхэд, хэрэв танд төслийн талаар ямар нэгэн асуулт, санал, сайжруулалт байгаа бол над руу мессеж бичээрэй.

Зөвлөмж болгож буй: