Mundarija:

Soat, LCD displey, infraqizil: 6 qadam
Soat, LCD displey, infraqizil: 6 qadam

Video: Soat, LCD displey, infraqizil: 6 qadam

Video: Soat, LCD displey, infraqizil: 6 qadam
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Noyabr
Anonim
Soat, LCD displey, sozlash uchun infraqizil
Soat, LCD displey, sozlash uchun infraqizil
Soat, LCD displey, sozlash uchun infraqizil
Soat, LCD displey, sozlash uchun infraqizil

Yiliga bir necha daqiqa ichida harakatlanish vaqtini saqlaydigan real vaqt soatini yarating. Kod va komponentlarni boshqa loyihalarga osongina qaytarish mumkin.

Ushbu loyiha minimal miqdordagi simlarni talab qiladi va lehimsiz. Vaqtni saqlovchi - bu DS3231 real vaqt soati. Vaqt arzon 1602 LCD displeyda ko'rsatiladi. Ikkala modul ham I2C aloqasidan foydalanadi. I2C Arduino -ga ulanishda modul uchun faqat 2 ta simdan foydalanadi. Men Arduino Nano -dan foydalanmoqdaman, chunki u non taxtasiga juda mos keladi. Quyidagi ko'rsatmalar Arduino Uno bilan ishlaydi, chunki u ushbu loyiha uchun nano raqamlari bilan bir xil. Boshqa komponent - infraqizil qabul qilgich. Vaqtni bizning aqlli televizorimizdagidek sozlash uchun sizga televizorning masofadan boshqarish pulti kabi umumiy masofadan boshqarish pultidan foydalanish imkonini beradi. Infraqizil qabul qilgichni Arduino -ga ulash uchun faqat bitta sim kerak.

Birinchi qadam - Arduino -ni sinab ko'rish va uni taxtaga ulash. Keyingi bosqichlar mustaqil ishlash uchun mo'ljallangan. Har bir bosqichda simlarni ulash bo'yicha ko'rsatmalar va sinov ko'rsatmalari mavjud. Men loyihalarni qurganimda, ularning ishlashini tasdiqlash uchun har bir komponentni sim bilan tekshiraman. Bu komponentlar sonini birlashtirishga yordam beradi, chunki bilamanki, har bir ish va men integratsiya talablariga e'tibor qaratishim mumkin.

Bu yo'riqnomada Arduino IDE o'rnatilgan bo'lishi kerak. Shuningdek, siz ushbu loyihadagi havolalardan Arduino eskiz dasturini yuklab olish, dastur uchun katalog yaratish uchun asosiy ko'nikmalarga ega bo'lishingiz kerak (katalog nomi dastur nomi bilan bir xil). Keyingi qadamlar - dasturni IDE -ga yuklash, ko'rish va tahrir qilish. Keyin dasturni USB kabeli orqali Arduino kartasiga yuklang.

Ta'minotlar

  • Nano V3 ATmega328P CH340G Arduino uchun mikro boshqaruv paneli. Shu bilan bir qatorda, Uno -dan foydalanishingiz mumkin.
  • Haqiqiy vaqtda DS3231 soati va CR2032 batareyasi.
  • I2C modulli 1602 LCD
  • Infraqizil qabul qilgich va masofadan boshqarish pulti. Men infraqizil qabul qilgich va infraqizil masofadan boshqarish pulti bilan birga kelgan IQ simsiz masofadan boshqarish moduli to'plamlarini ishlatardim.
  • Non paneli
  • Kabel kabellari
  • 5 voltli devor adapteri

Men ehtiyot qismlarni eBayda, asosan Gonkong yoki Xitoy distribyutorlaridan sotib oldim. AQSh distribyutorlari bir xil yoki shunga o'xshash qismlarga mos narxlarda va tezroq etkazib berish uchun ega. Xitoy qismlarini etkazib berish 3 dan 6 haftagacha davom etadi. Men ishlatgan distribyutorlar ishonchli edi.

Taxminiy xarajatlar: Nano $ 3, DS3231 $ 1, LCD $ 3, Infraqizil to'plam $ 1, non paneli 2 dollar, 40 simli kabellar to'plami $ 1, 5 voltli devor adapteri uchun 1 dollar. Hammasi bo'lib, taxminan 11 dollar. E'tibor bering, men Nano va LCD -ni sotib oldim. Soat batareyasi uchun men 5 lityum CR2032 batareyasini taxminan 1,25 dollarga sotib oldim. Men 5 ta DS3231 paketini ham sotib oldim, chunki menga vaqt bo'laklari yoqadi. Ushbu loyihada 1 ta non paneli ishlatiladi. Men taxminan 7 dollarga 3 ta non paneli sotib oldim; individual taxta sotib olishdan ko'ra yaxshiroq shartnoma.

1 -qadam: Arduino Nano -ni elektron jadvalga qo'shing

Arduino Nano -ni elektron jadvalga qo'shing
Arduino Nano -ni elektron jadvalga qo'shing

Arduino Nano -ni elektron jadvalga ulang. Yoki agar xohlasangiz, ushbu loyiha uchun Arduino Uno -dan foydalanishingiz mumkin; bu loyiha uchun ikkalasi bir xil pinlardan foydalanadilar. Nano (yoki Uno) ni kompyuterga USB kabeli orqali ulang.

Quvvat va erni Arduino -dan paneldagi quvvat paneliga ulang. Arduino 5+ pinini panelning ijobiy paneliga ulang. Arduino GRN (tuproqli) pinini non panelidagi manfiy (erga) ulang. Bu boshqa komponentlar uchun ishlatiladi.

Arduino -ning asosiy sinov dasturini yuklab oling va ishga tushiring: arduinoTest.ino. Dastur ishlayotganda, bortdagi LED chiroq 1 soniya yonadi, keyin 1 soniya o'chadi. Bundan tashqari, Arduino IDE Tools/Serial Monitor -da ko'rish mumkin bo'lgan xabarlar joylashtiriladi.

+++ sozlash.

+ Chiqish uchun bortli LED raqamli pin boshlandi. LED o'chirilgan. ++ Loopga o'tish. + Loop hisoblagichi = 1 + Loop hisoblagichi = 2 + Loop hisoblagichi = 3…

Jismoniy mashqlar sifatida miltillovchi chiroqdagi kechikish vaqtini o'zgartiring, o'zgartirilgan dasturni yuklang va o'zgarishni tasdiqlang.

Yuqoridagi rasmda siz 3 dan 5 dollargacha sotib olishingiz mumkin bo'lgan 140 dona lehimsiz non taxtali simli to'plam qutisi. Qisqa ulanish uchun uzun kabellardan foydalangan holda, ular taxtalarni yanada toza qiladi.

2 -qadam: DS3231 soat modulini qo'shing va uni Arduino -ga ulang

DS3231 soat modulini qo'shing va Arduino -ga ulang
DS3231 soat modulini qo'shing va Arduino -ga ulang

Soat modulini non paneliga ulang. Soat modulining GND PIN -kodini, taxtaning taglik chizig'iga ulang. Soat modulining VCC pinini non panelining musbat chiziqli bandiga ulang. SDA (ma'lumotlar) soat moduli pinini Arduino A4 piniga (I2C ma'lumot pin) ulang. Soat moduli SCL (soat) pinini Arduino A5 piniga (I2C soat pinli) ulang.

Arduino IDE -da DS3231 soat kutubxonasini o'rnating. Asboblar/Kutubxonalarni boshqarish -ni tanlang. Qidiruvni "rtclib" yozib filtrlang. Adafruit tomonidan RTClib -ni tanlang (ma'lumot uchun, kutubxona havolasi).

Asosiy test dasturini yuklab oling va ishga tushiring: clockTest.ino. Dasturni ishga tushirganda, Arduino IDE Tools/Serial Monitor -da ko'rish mumkin bo'lgan vaqt haqidagi xabarlar joylashtiriladi.

+++ sozlash.

+ Soatlar to'plami. ++ Loopga o'tish. ---------------------------------------- + Joriy sana va vaqt: 2020/3/ 22 (yakshanba) 11: 42: 3 + Joriy sana va vaqt: 2020/3/22 (yakshanba) 11: 42: 4 + Joriy sana va vaqt: 2020/3/22 (yakshanba) 11: 42: 5…

Mashq sifatida rtc.adjust () dan foydalanib, soat va vaqtni belgilang, o'zgartirilgan dasturni yuklang va o'zgarishni tasdiqlang.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Bahorning birinchi kuni, 2020 yil.

3 -qadam: 1602 LCD displey modulini qo'shing va Arduino -ga ulang

1602 LCD displey modulini qo'shing va Arduino -ga ulang
1602 LCD displey modulini qo'shing va Arduino -ga ulang

LCD modulini non paneliga ulang. Soat modulining GND PIN -kodini, taxtaning taglik chizig'iga ulang. Soat modulining VCC pinini non panelining musbat chiziqli bandiga ulang. SDA (ma'lumotlar) soat moduli pinini Arduino A4 piniga (I2C ma'lumot pin) ulang. Soat moduli SCL (soat) pinini Arduino A5 piniga (I2C soat pinli) ulang.

Arduino IDE -ga 1602 LCD kutubxonasini o'rnating. Asboblar/Kutubxonalarni boshqarish -ni tanlang. "LiquidCrystal" ni terish orqali qidiruvni filtrlang. Frank de Barbanderning LiquidCrystal I2C -ni tanlang (ma'lumot uchun, kutubxona havolasi).

Asosiy sinov dasturini yuklab oling va ishga tushiring: lcd1602Test.ino. Dasturni ishga tushirganda, Arduino IDE Tools/Serial Monitor -da ko'rish mumkin bo'lgan vaqt haqidagi xabarlar joylashtiriladi.

+++ sozlash.

+ LCD ishlatishga tayyor. +++ Loopga o'tish. + hisobchi = 1 + hisoblagich = 2 + hisoblagich = 3 …

Jismoniy mashqlar sifatida LCD displey xabarlarini o'zgartiring, o'zgartirilgan dasturni yuklang va o'zgarishni tasdiqlang.

4 -qadam: Infraqizil qabul qilgichni qo'shing va Arduino -ga ulang

Infraqizil qabul qilgichni qo'shing va Arduino -ga ulang
Infraqizil qabul qilgichni qo'shing va Arduino -ga ulang

Ayolni erkak kabeliga uzatuvchi simlarni infraqizil qabul qilgichga ulang (ayol uchlari). Soat modulining topraklama pinini, non panelining asosiy chiziqli tasmasiga ulang. Soat modulining quvvat pinini, non panelining musbat tasmasiga ulang. Infraqizil qabul qilgichning chiqish pinini Arduino A1 piniga ulang.

Yuqori chapdan o'ngga infraqizil qabul qilgichni ulang:

Eng chapda (X yonida) - Nano pinli A1 markazi - 5V O'ngda - er

A1 + - - nano -pinli ulanishlar

| | | -Infraqizil qabul qilgich pinlari --------- | S | | | | --- | | | | | | --- | | | ---------

Arduino IDE -da infraqizil kutubxonani o'rnating. Asboblar/Kutubxonalarni boshqarish -ni tanlang. "IRremote" yozish orqali qidiruvni filtrlang. IRremote by Shirriff -ni tanlang (ma'lumot uchun kutubxona havolasi).

Asosiy test dasturini yuklab oling va ishga tushiring: infraredReceiverTest.ino. Dasturni ishga tushirayotganda masofadan boshqarish pultini qabul qilgichga yo'naltiring va 0 dan 9 gacha bo'lgan raqamlar kabi turli tugmachalarni bosing. Arduino IDE Tools/Serial Monitorda ko'rish mumkin bo'lgan ketma -ket xabarlar chiqariladi (chop etiladi).

+++ sozlash.

+ Infraqizil qabul qilgich ishga tushirildi. ++ Loopga o'tish. + Tugma OK - Ochish + Tugmachasi - - Keyingi + Tugma < - oldingi + Tugma + Tugma + Tugma + Tugma 1: + Tugma 2: + Tugma 3: + Tugma 4: + Klaviatura 6: + Klaviatura 7: + Tugma 8: + 9 -tugma: + Key 0: + Key * (Qaytish) + Key # (Chiqish)

Mashq sifatida, bosilgan qiymatlarni ko'rish uchun televizorning pultidan foydalaning. Keyin infraredSwitch () funktsiyasining kalit so'zidagi qiymatlardan foydalanish uchun dasturni o'zgartirishingiz mumkin. Masalan, "0" tugmachasini bosing va masofadan boshqarish pultining qiymatini oling, masalan, "0xE0E08877". So'ngra, quyidagi kod parchasida bo'lgani kabi switch bayonotiga katta harf qo'shing.

holat 0xFF9867:

holat 0xE0E08877: Serial.print ("+ Key 0:"); Serial.println (""); tanaffus;

5 -qadam: Clock Project Arduino eskiz dasturini yuklang va uni sinab ko'ring

Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring
Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring
Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring
Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring
Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring
Clock Project Arduino Sketch dasturini yuklang va uni sinab ko'ring

Endi barcha komponentlar non paneliga qo'shiladi, simlanadi va sinovdan o'tkaziladi; asosiy soat dasturini yuklash va uni ishga tushirish vaqti keldi. Soat dasturi soat modulidan vaqtni oladi, LCD displeyda vaqtni ko'rsatadi va infraqizil masofadan boshqarish pulti yordamida vaqtni sozlash imkonini beradi.

Loyihaning soat dasturini yuklab oling va ishga tushiring: clockLcdSet.ino.

Dastur ishga tushganda, u 1602 LCD displeyida DS3231 vaqtini ko'rsatadi. Xabarlarni Arduino IDE Tools/Serial Monitor -da ko'rish mumkin.

+++ sozlash.

+ LCD to'plami. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Soat o'rnatilgan va dastur o'zgaruvchilari bilan sinxronlashtiriladi. + Infraqizil qabul qilgich yoqilgan. ++ Loopga o'tish. + clockPulseMinute (), TheCounterMinutes = 15 + clockPulseMinute (), TheCounterMinutes = 16 + clockPulseMinute (), TheCounterMinutes = 17…

Masofadan boshqarish pultini qabul qilgichga yo'naltiring va o'ng o'q tugmasini bosing. Sozlash uchun yil ko'rsatiladi. Yilni, oyni, kunni, soatni, daqiqani va soniyani belgilash uchun o'ng o'q tugmasini bir necha marta bosing. Vaqt qiymatini belgilash uchun qiymatga o'ting. Ko'rsatish qiymatini o'rnatish uchun yuqoriga va pastga o'qlarini ishlating. Keyin soat qiymatini belgilash uchun "OK" tugmachasidan foydalaning. Bir vaqtning o'zida bitta qiymat belgilanadi.

6 -qadam: tashqi quvvat manbai

Tashqi quvvat manbai
Tashqi quvvat manbai

Endi sizning soatingiz sinovdan o'tgan va ishlayotganda, siz uni kompyuterdan uzib, mustaqil quvvat manbaidan foydalanishingiz mumkin. Oddiylik uchun men 5 voltli devor adapteridan foydalanaman, uni taxminan bir dollarga sotib olish mumkin, va USB kabeli, yana bir dollar. Kabel Arduino -ni +5V devor adapteriga ulaydi. Arduino quvvat va topraklama pinlari non paneliga ulanganligi sababli, u boshqa komponentlarni quvvatlantiradi.

Oddiyligi va arzonligi tufayli men boshqa loyihalarni qo'llab -quvvatlash uchun xuddi shu kombinatsiyadan foydalanaman.

Umid qilamanki, siz muvaffaqiyatga erishdingiz va infraqizil boshqaruvli LCD soatni qurishdan zavqlandingiz.

Tavsiya: