Mundarija:

Arduino matritsali soat: 6 qadam
Arduino matritsali soat: 6 qadam

Video: Arduino matritsali soat: 6 qadam

Video: Arduino matritsali soat: 6 qadam
Video: ⌚️ ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ (DS1302) и АРДУИНО 2024, Noyabr
Anonim
Arduino matritsali soat
Arduino matritsali soat

Tavsif:

Soatingizni Arduino, matritsali displey va Real Time Clock (RTC) moduli yordamida yarating. Bu qiziqarli va sodda loyiha, menimcha, bu yangi boshlanuvchilar uchun juda yaxshi. Soat vaqtni, kunni, oyni va yilni aniq kuzatish uchun RTC modulidan foydalanadi. Bundan tashqari, modulda o'rnatilgan harorat sensori mavjud. Bu erda DS3231 moduli va u uchun ishlatiladigan I2C aloqa avtobusi haqida ko'proq bilib olishingiz mumkin. Nihoyat, biz nuqta matritsali displeydan foydalanamiz, albatta, vaqtni, haftaning kunini, oyini ko'rsatamiz. Quyidagi ma'lumotlar sahifasida displey va MAX7219 IC drayveri haqida ko'proq ma'lumot olishingiz mumkin.

Shuningdek, ushbu loyihaning pdf versiyasini bu erdan yuklab olishingiz mumkin. Bu amalda ko'rsatmaga o'xshaydi.

[YANGILASH: 22.02.19] pdf qo'llanmasidan foydalanmang, men bu ko'rsatmalarni yangiladim, lekin bu o'zgarishlar hali pdf -da aks ettirilmagan.

1 -qadam: Komponentlarni yig'ish

Ushbu loyiha uchun sizga kerak bo'lgan komponentlar:

  • Max7219 nuqta matritsali displey [Bu erda sotib oling] [ma'lumotlar jadvali]
  • RTC DS3231 [Bu yerdan sotib oling] [Ma'lumotlar jadvali]
  • 3V CR3032 batareyasi (DS3231 uchun)

Bundan tashqari, sizga har qanday Arduino (loyihaning hajmini minimallashtirish uchun Nano afzalroq), non paneli, o'tish simlari va shaxsiy kompyuteringizga o'rnatilgan Arduino IDE kerak bo'ladi.

2 -qadam: kutubxonalar

Kutubxonalar
Kutubxonalar

Quyidagi kutubxonalarni yuklab oling va.zip faylini Arduino IDE -ga Sketch> Kutubxonani qo'shish> Zip kutubxonasini qo'shish -ga o'ting.

DIQQAT: VERSIONLAR MATCHI !!

* Yuklab olishdan oldin sizda to'g'ri versiyalar mavjudligini tekshiring. Men xavfsiz tomonda bo'lish uchun Arduino IDE -dagi har bir kutubxonani yuklab olishni maslahat beraman.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Shu bilan bir qatorda

Arduino IDE -da Sketch> Kutubxonani qo'shish> Kutubxonalarni boshqarish -ga o'ting va qidirish satriga "MAX72XX" kiriting va siz quyidagilarni ko'rishingiz kerak (rasmga qarang):

Faqat MD_MAX72XX va MD_Parola -ni o'rnating. MD_MAXPanel kerak emas.

3 -qadam: Komponentlaringizni tekshirish

Kutubxonalarni o'rnatgandan so'ng, ular kerakli darajada ishlayotganiga ishonch hosil qilish uchun komponentalarni alohida tekshiring. Iltimos, hamma narsani bir -biriga ulashdan oldin, ushbu bosqichlarni bajaring

DS3231 RTC modulini sinab ko'rish uchun DS3231 -ni Arduino -ga ulang (quyida simlarni ko'ring). Keyin Arduino IDE -da Fayllar> Misollar> DS3231> DS3231_Test -ga o'ting va eskizni yuklang. Seriya monitorini oching va to'g'ri sana, vaqt, kun va boshqalarni olganingizni tekshiring.

Matritsa displeyini sinab ko'rish uchun avval uni Arduino -ga ulang (quyida simlarni ko'ring). Keyin, Arduino IDE -da, Fayllar> Misollar> MD_Parola> Parola_HelloWorld -ga o'ting va eskizni yuklang. Siz displeyda HELLO bosilganini ko'rishingiz kerak va u orqaga bosilishi mumkin yoki bo'lmasligi mumkin. Agar matn teskari bo'lsa, siz quyidagi qatorni o'zgartirishingiz kerak:

#dehine HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Kimga

#DARDWARE_TYPE MD_MAX72XX:: FC16_HW ni aniqlang

Eskizni yana yuklang va muammo hal qilinishi kerak.

Endi biz komponentlarimizni sinab ko'rdik, biz hamma narsani sim bilan ulashga tayyormiz!

4 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Diagramma yoki sxemaga yoki jadvalga qarang

5 -qadam: KOD

Kodni bu yerdan oling

Eslatma: Men dastlab elektron loyihalar kodini ishlatganman, lekin uni joriy kutubxonalarni qo'llab -quvvatlash uchun o'zgartirdim.

Soat xususiyatlari:

Vaqt 24 soat formatida avtomatik ravishda ko'rsatiladi, lekin uni osongina 12 soatga o'zgartirish mumkin. Bundan tashqari, soat haroratni ko'rsatadi (Selsiy va Farengeytda ham). Men "Uyqu rejimi" deb nomlangan funktsiyani ham o'z ichiga olganman, u "O'chirilgan" (Tafsilotlar uchun quyida Kutish rejimiga qarang).

12 soatlik format: soatni 12 soat formatida belgilash uchun siz 88 -qatorga izoh berishingiz kerak

soat = Clock.gethour (h12, PM); // 24 soatlik format

Va 93 dan 100 gacha chiziqlarni izohlamang

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

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

Uyqu rejimi:

Bu, ayniqsa, uxlab yotganimizda, soat yorqinligini kamaytirishga yordam beradigan xususiyat. O'ylaymanki, siz yarim tunda uyg'onishni xohlamaysiz va bu soatdan ko'r bo'lib qolasiz. Hatto eng past darajada bo'lsa ham, u juda yorqin. Uyqu rejimini yoqish uchun 177 dan 184 gacha chiziqlarga izoh qoldirmang

if (h == 12 || h <8) // Vaqt intervallari (bu holda, 12AM dan 8AMgacha) {P.setIntensity (0); // Ekran yorqinligini eng past darajaga qo'ying} else {P.setIntensity (6); // Ekran yorqinligini 6 ga sozlang (15 eng yorqin)}

Eslatma: Men soat 12 soat rejimiga qo'yilgan paytda uyqu rejimidan foydalanganda muammoga duch keldim. Siz shuni sezasizki, u kuniga ikki marta ishlaydi, chunki ertalabki 8 va kechqurun ikkalasi ham 8 deb talqin qilinadi. Agar siz Kutish rejimini 21:00 dan 7:00 gacha faol qilib sozlasangiz, u 9:00 dan 19:00 gacha ham faol bo'ladi. Biroq, agar soat 24 soat rejimiga o'rnatilgan bo'lsa, bu muammo yuzaga kelmaydi.

6 -qadam: Xulosa

Tabriklayman !!! Sizda ish soati bor. Mana shunday bo'ldi [Soatlar galereyasi]. Umid qilamanki, siz nafaqat komponentlar va kodlash haqida ko'proq ma'lumotga ega bo'ldingiz, balki u erga borgan sayohatingiz sizga yoqdi. Iltimos, men bilan [email protected] elektron pochta orqali ushbu qo'llanma haqidagi fikrlaringizni o'rtoqlashing. Bu aslida mening birinchi loyiha qo'llanmasim va u sizga yaxshi xizmat qildi deb umid qilgandim. Umid qilamanki, yana ko'plab qo'llanmalar yarataman. Bundan tashqari, agar sizda loyiha bo'yicha savollaringiz, takliflaringiz va/yoki yaxshilanishlaringiz bo'lsa, menga yozing.

Tavsiya: