DS1302 yordamida Arduino raqamli soati: 4 qadam
DS1302 yordamida Arduino raqamli soati: 4 qadam
Anonim
DS1302 yordamida Arduino raqamli soati
DS1302 yordamida Arduino raqamli soati
DS1302 yordamida Arduino raqamli soati
DS1302 yordamida Arduino raqamli soati
DS1302 yordamida Arduino raqamli soati
DS1302 yordamida Arduino raqamli soati

Kirish

Salom bolalar, umid qilamanki, barchangiz zo'r ish qilyapsiz. Bu Arduino yordamida raqamli soatni qanday yasash haqida qisqa va sodda loyiha bo'ladi.

Ushbu loyihada biz Arduino va smenali registr yordamida raqamli soat yasaymiz. Bu vaqtni faqat 24 soatlik formatda, miltillovchi nuqta bilan ko'rsatishi mumkin (soniyani ifodalovchi).

Men vaqtni aniqlash uchun real vaqtda soat moduli (RTC) DS1302 dan foydalanayapman. Buning ajoyib tomoni shundaki, faqat bitta Shift registri va 4 xonali 7 segmentli displeydan foydalanish.

1 -qadam: Bizga nima kerak?

Bizga nima kerak?
Bizga nima kerak?
Bizga nima kerak?
Bizga nima kerak?

Bu erda bizga kerak bo'lgan qismlar ro'yxati:

  • Arduino Uno/Nano
  • RTC soat moduli (DS1302)
  • 4 xonali etti segmentli displey
  • Shift registri (74HC595)
  • 220 Ohm rezistor x4 (Yorqinlikni pasaytirish uchun)
  • CR2032 tanga uyasi (RTC moduli uchun)
  • Jumper simlari
  • Non taxtasi
  • Perf Board (prototiplash uchun ixtiyoriy) lityum-ionli batareya (quvvat manbai uchun)

Shunday qilib, bu hammamizga kerak.

2 -qadam: ulanishlar/simlar

Ulanishlar/simlar
Ulanishlar/simlar
Ulanishlar/simlar
Ulanishlar/simlar

Bunda biz segment displeyini Arduino va Shift reestriga quyidagicha ulaymiz:

Q -toqqa A -pin, Q1 -sonli B -pin, C ni 2 -chorakka, Q3 -sonli D -pin, E 4 -chorakka bog'lang, F -ni Q5 -ga, G -ni Shift reestrining Q6 -bandiga ulang

DP (H) ni Arduino 3 -piniga ulang

Digit1 -ni Arduino -ning 7 -piniga ulang

Digit2 -ni Arduino -ning 6 -piniga ulang

Digit3 -ni Arduino -ning 5 -piniga ulang

Digit4 -ni Arduino -ning 4 -piniga ulang

Shuningdek, segmentli displeyning har bir raqami bilan 220 ohmli rezistorlarni ulang. (Diagrammani ko'ring)

Endi biz RTC modulini Arduino -ga ulaymiz, tanga katakchasini modulga joylashtiramiz va berilgan sxema bo'yicha ulanamiz. Shift reestri uchun ham xuddi shunday.

Siz ushbu rasmlarni quyida berilgan havoladan yuklab olishingiz mumkin. BreadBoard sxematik ulanishlari

3 -qadam: kodlash

Kodlash
Kodlash

Siz rasmda ko'rsatilgandek kodni ko'rasiz:

Faqat ushbu kod qatoriga joriy vaqtni o'rnating va yuklang. Yuklagandan so'ng, ushbu qatorga sharh bering (ikki chiziqli chiziqdan foydalaning, ya'ni //), chunki vaqt belgilangach, u o'zgarishsiz qoladi.

Kutubxonani (quyida berilgan havolada keltirilgan) ni dasturga kiriting

Sketch <Kutubxonani qo'shish <. ZIP faylini qo'shish <Yuklangan fayl yo'lini qo'shish

Quyidagi havola orqali kod va kutubxonalarni yuklab oling:

Yuklab olish kodi

4 -qadam: prototip yaratish (ixtiyoriy)

Prototip yaratish (ixtiyoriy)
Prototip yaratish (ixtiyoriy)
Prototip yaratish (ixtiyoriy)
Prototip yaratish (ixtiyoriy)

PCB -ga ulanish orqali biz ushbu loyihani ko'chma qilishimiz mumkin.

Uni PCB -da ishlab chiqarayotganda, Arduino zanjirlarini o'rnatish uchun ayol bosh pimlardan foydalanayotganingizga ishonch hosil qiling, aks holda to'g'ridan -to'g'ri lehimlash qurilmaga zarar etkazishi mumkin. Bundan tashqari, siljish qarshiligi uchun 16 pinli IC bazasini ishlating, aks holda qurilma shikastlanishi mumkin (mening holatimda ham shunday bo'ladi).

Bundan tashqari, men Segment displeyini boshqa PCBga lehimladim, uni qutiga yoki boshqa narsaga osongina o'rnatish mumkin.

Har bir bo'g'inni to'g'ri ulang, aks holda sxema ishlamasligi mumkin.

Taklif: Avval non panelida tayyorlang, so'ng uni tenglikka lehimlang.