Мазмұны:

Сағат, СКД дисплейі, орнатылған инфрақызыл: 6 қадам
Сағат, СКД дисплейі, орнатылған инфрақызыл: 6 қадам

Бейне: Сағат, СКД дисплейі, орнатылған инфрақызыл: 6 қадам

Бейне: Сағат, СКД дисплейі, орнатылған инфрақызыл: 6 қадам
Бейне: Әскери тактикалық сағаттар-тактикалық және сыртқы көр... 2024, Шілде
Anonim
Сағат, СКД дисплейі, орнатуға инфрақызыл
Сағат, СКД дисплейі, орнатуға инфрақызыл
Сағат, СКД дисплей, орнатуға инфрақызыл
Сағат, СКД дисплей, орнатуға инфрақызыл

Жылына бірнеше минут ішінде әрекет ету уақытын сақтайтын нақты уақыт сағатын жасаңыз. Код пен компоненттерді басқа жобаларға оңай ауыстыруға болады.

Бұл жоба сымдардың минималды мөлшерін және дәнекерлеуді қажет етпейді. Уақыт сақшысы - бұл DS3231 нақты уақыт сағаты. Уақыт арзан 1602 кристалды дисплейде көрсетіледі. Екі модульде де I2C байланысы қолданылады. I2C бір модульге Arduino -ға қосылған кезде тек 2 сымды қолданады. Мен Arduino Nano қолданамын, себебі ол нанға жақсы сәйкес келеді. Келесі нұсқаулар Arduino Uno -мен жұмыс істейді, себебі бұл жобаның нано нөмірімен бірдей. Басқа компонент - инфрақызыл қабылдағыш. Бұл біздің ақылды теледидардағыдай уақытты орнату үшін теледидардың пульті сияқты жалпы қашықтан басқару пультін пайдалануға мүмкіндік береді. Инфрақызыл қабылдағышқа оны Arduino -ға қосу үшін тек бір сым қажет.

Бірінші қадам - Arduino -ны тестілеу және оны тақтаға қосу. Келесі қадамдар дербес жұмыс жасауға арналған. Әр қадамда сым бойынша нұсқаулықтар мен сынақ нұсқаулары бар. Мен жобаларды құрған кезде олардың жұмыс істейтінін растау үшін әр компонентті қосамын және тексеремін. Бұл құрамдас бөліктердің санын біріктіруге көмектеседі, өйткені әр жұмыс мен интеграция талаптарына назар аудара алатынымды білемін.

Бұл нұсқаулық Arduino IDE орнатылғанын талап етеді. Сіз сондай -ақ осы жобадағы сілтемелерден Arduino эскиздік бағдарламасын жүктеу, бағдарламаның каталогын жасау үшін негізгі дағдыларға ие болуыңыз керек (каталог атауы бағдарламаның атымен бірдей). Келесі қадамдар - IDE бағдарламасын жүктеу, қарау және өңдеу. Содан кейін бағдарламаны USB кабелі арқылы Arduino тақтасына жүктеңіз.

Жабдықтар

  • Nano V3 ATmega328P CH340G Arduino үшін микроконтроллер тақтасы. Балама ретінде Uno қолдануға болады.
  • DS3231 нақты уақыттағы сағат және CR2032 батареясы.
  • I2C модулі бар 1602 СКД
  • Инфрақызыл қабылдағыш және пульт. Мен инфрақызыл қабылдағышпен және инфрақызыл қашықтан басқару пультімен бірге келетін IR сымсыз қашықтан басқару модулі жиынтығын қолдандым.
  • Нан тақтасы
  • Сымды кабельдер
  • 5 вольтты қабырға адаптері

Мен бөлшектерді eBay -ден сатып алдым, көбіне Гонконг немесе Қытай дистрибьюторларынан. АҚШ дистрибьюторлары бір уақытта ұқсас немесе ұқсас бөлшектерге қол жетімді бағамен және жылдам жеткізіліммен ие болады. Қытай бөлшектерін жеткізу 3 -тен 6 аптаға дейін созылады. Мен қолданған дистрибьюторлардың барлығы сенімді болды.

Шамамен шығындар: Nano $ 3, DS3231 $ 1, СКД $ 3, Инфрақызыл жинақ $ 1, нан тақтасы $ 2, 40 сымды кабель пакеті $ 1, 5 вольтты қабырға адаптері үшін $ 1. Барлығы, шамамен $ 11. Назар аударыңыз, мен нано мен СКД -ны дәнекерленген түйреуіштермен сатып алдым, өйткені менің дәнекерлеу дағдыларым нашар. Сағат батареясы үшін мен 5 пакеттік литий CR2032 батареяларын шамамен 1,25 долларға сатып алдым. Мен сонымен қатар DS3231 5 пакетін сатып алдым, себебі маған уақыт бөліктері ұнайды. Бұл жобада 1 нан тақтасы қолданылады. Мен шамамен 7 долларға 3 нан пакетін сатып алдым; жеке тақта сатып алудан гөрі жақсы келісім.

1 -қадам: Arduino Nano -ны тақтаға қосыңыз

Arduino Nano тақтасын қосыңыз
Arduino Nano тақтасын қосыңыз

Arduino Nano нан тақтасына қосыңыз. Немесе, егер қаласаңыз, сіз осы жобаға Arduino Uno пайдалана аласыз; олар бұл жоба үшін бір түйреуішті пайдаланады. Наноны (немесе Uno) компьютерге USB кабелі арқылы қосыңыз.

Қуат пен жерді Arduino -дан тақтаның қуат жолағына қосыңыз. Arduino 5+ түйреуішін тақтаның оң жолағына қосыңыз. Arduino GRN (жер) түйреуішін нан тақтасының теріс (жерге) жолағына жалғаңыз. Бұл басқа компоненттермен қолданылады.

Arduino тестінің негізгі бағдарламасын жүктеп алыңыз және іске қосыңыз: arduinoTest.ino. Бағдарламаны іске қосқан кезде светодиод шамы 1 секундқа қосылады, содан кейін 1 секундқа өшеді. Сондай -ақ, Arduino IDE құралдарында/сериялық мониторда көруге болатын хабарлар орналастырылады.

+++ орнату.

+ Шығу үшін борттық жарықдиодты сандық түйреуіш іске қосылды. Жарық диоды өшірулі. ++ Циклға өту. + Цикл есептегіші = 1 + Цикл есептегіші = 2 + Цикл есептегіші = 3…

Жаттығу ретінде жыпылықтайтын шамдағы уақыт кідірісін өзгертіңіз, өзгертілген бағдарламаны жүктеңіз және өзгерісті растаңыз.

Жоғарыда келтірілген суретте 140 данадан тұратын дәнекерлеуге арналған сөмкелер жиынтығының қорабы бар, сіз оны 3 доллардан 5 долларға дейін ала аласыз. Олар қысқа байланыстар үшін ұзын кабельдерді қолданатын тақталарды ұқыпты етеді.

2 -қадам: DS3231 сағат модулін қосыңыз және оны Arduino -ға қосыңыз

DS3231 сағат модулін қосыңыз және оны Arduino -ға қосыңыз
DS3231 сағат модулін қосыңыз және оны Arduino -ға қосыңыз

Сағат модулін тақтаға қосыңыз. Сағат модулінің GND түйреуішін нан тақтасының жолақ жолағына жалғаңыз. Сағат модулінің VCC түйреуішін нан тақтасының оң жолақ жолағына жалғаңыз. SDA (деректер) сағат модулінің түйреуішін Arduino A4 істікшесіне (I2C деректер штыры) қосыңыз. Сағат модулінің SCL (сағат) түйреуішін Arduino A5 түйреуішіне (I2C сағат штыры) қосыңыз.

Arduino IDE -де DS3231 сағат кітапханасын орнатыңыз. Құралдар/Кітапханаларды басқару таңдаңыз. Іздеуді «rtclib» теру арқылы сүзіңіз. Adafruit RTClib таңдаңыз (анықтама үшін кітапхана сілтемесі).

Негізгі тестілік бағдарламаны жүктеңіз және іске қосыңыз: clockTest.ino. Бағдарламаны іске қосқан кезде Arduino IDE құралдарында/сериялық мониторда қарауға болатын сағаттық хабарламалар орналастырылады.

+++ орнату.

+ Сағат жиыны. ++ Циклға өту. ---------------------------------------- + Ағымдағы күні мен уақыты: 2020/3/ 22 (жексенбі) 11: 42: 3 + Ағымдағы күні мен уақыты: 2020/3/22 (жексенбі) 11: 42: 4 + Ағымдағы күні мен уақыты: 2020/3/22 (жексенбі) 11: 42: 5…

Жаттығу ретінде rtc.adjust () көмегімен сағаттың уақыты мен күнін орнатыңыз, өзгертілген бағдарламаны жүктеңіз және өзгерісті растаңыз.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Көктемнің бірінші күні, 2020 ж.

3 -қадам: 1602 СК дисплей модулін қосып, Arduino -ға қосыңыз

1602 LCD дисплей модулін қосыңыз және оны Arduino -ға қосыңыз
1602 LCD дисплей модулін қосыңыз және оны Arduino -ға қосыңыз

СКД модулін тақтаға қосыңыз. Сағат модулінің GND түйреуішін нан тақтасының жолақ жолағына қосыңыз. Сағат модулінің VCC түйреуішін нан тақтасының оң жолақ жолағына жалғаңыз. SDA (деректер) сағат модулінің түйреуішін Arduino A4 істікшесіне (I2C деректер штыры) қосыңыз. Сағат модулінің SCL (сағат) түйреуішін Arduino A5 түйреуішіне (I2C сағат штыры) қосыңыз.

Arduino IDE -де 1602 LCD кітапханасын орнатыңыз. Құралдар/Кітапханаларды басқару таңдаңыз. 'LiquidCrystal' теру арқылы іздеуді сүзіңіз. Франк де Барбандердің LiquidCrystal I2C таңдаңыз (анықтама үшін кітапхана сілтемесі).

Негізгі тестілік бағдарламаны жүктеп алыңыз және іске қосыңыз: lcd1602Test.ino. Бағдарламаны іске қосқан кезде Arduino IDE құралдарында/сериялық мониторда қарауға болатын сағаттық хабарламалар орналастырылады.

+++ орнату.

+ СКД пайдалануға дайын. +++ Циклге өтіңіз. + Есептегіш = 1 + Есептегіш = 2 + Есептегіш = 3…

Жаттығу ретінде СКД дисплей хабарларын өзгертіңіз, өзгертілген бағдарламаны жүктеңіз және өзгерісті растаңыз.

4 -қадам: Инфрақызыл қабылдағышты қосыңыз және оны Arduino -ға қосыңыз

Инфрақызыл қабылдағышты қосыңыз және оны Arduino -ға қосыңыз
Инфрақызыл қабылдағышты қосыңыз және оны Arduino -ға қосыңыз

Аналық кабель сымдарын аналық инфрақызыл қабылдағышқа қосыңыз (аналық ұштар). Сағат модулінің жерге тұйықтауышын нан тақтасының жолақ жолағына жалғаңыз. Сағат модулінің қуат түйреуішін нан тақтасының оң жақ жолағына жалғаңыз. Инфрақызыл қабылдағыштың шығыс штырын Arduino A1 түйреуішіне жалғаңыз.

Инфрақызыл қабылдағышты, түйреуіштерді жоғарыдан солға қарай қосыңыз:

Ең сол жақта (X жанында) - A1 Nano түйреуіші - 5В Оң жақта - жер

A1 + - - нано түйреуіш қосылыстары

| | | -инфрақызыл қабылдағыш түйреуіштері --------- | S | | | | --- | | | | | | --- | | | ---------

Arduino IDE -де инфрақызыл кітапхананы орнатыңыз. Құралдар/Кітапханаларды басқару таңдаңыз. Іздеуді «IRremote» теру арқылы сүзіңіз. IRremote by Shirriff таңдаңыз (анықтама үшін кітапхана сілтемесі).

Негізгі тестілік бағдарламаны жүктеңіз және іске қосыңыз: infraredReceiverTest.ino. Бағдарламаны іске қосқан кезде қашықтан басқару құралын қабылдағышқа бағыттаңыз және 0 -ден 9 -ға дейінгі сан сияқты әр түрлі түймелерді басыңыз. Сериялық хабарламалар шығарылады (басып шығарылады), оларды Arduino IDE құралдарында/сериялық мониторда көруге болады.

+++ орнату.

+ Инфрақызыл қабылдағыш инициализацияланды. ++ Циклға өту. + OK пернесі - ауысу + пернесі - - келесі + перне < - алдыңғы + жоғары + пернесі + төмен түсіру + пернесі 1: + пернесі 2: + пернесі 3: + пернесі 4: + пернесі 6: + пернесі 7: + пернесі 8: + 9 пернесі: + пернесі 0: + пернесі * (қайтару) + пернесі # (шығу)

Жаттығу ретінде басып шығарылған мәндерді көру үшін теледидардың қашықтан басқару құралын пайдаланыңыз. Содан кейін infraredSwitch () функциясының қосқыш операторындағы мәндерді қолдану үшін бағдарламаны өзгертуге болады. Мысалы, «0» пернесін басып, қашықтан басқару пультінің мәнін алыңыз, мысалы, «0xE0E08877». Содан кейін келесі код үзіндісіндегідей switch операторына регистрді қосыңыз.

0xFF9867 жағдайы:

жағдай 0xE0E08877: Serial.print («+ Key 0:»); Serial.println («»); үзіліс;

5 -қадам: Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз

Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз
Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз
Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз
Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз
Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз
Clock Project Arduino Sketch бағдарламасын жүктеңіз және оны тексеріңіз

Енді барлық компоненттер тақтаға қосылады, сым қосылады және тексеріледі; негізгі сағаттық бағдарламаны жүктеп, оны іске қосу уақыты келді. Сағат бағдарламасы модульден уақытты алады, уақытты СКД -де көрсетеді және инфрақызыл қашықтан басқару пульті арқылы уақытты орнатуға мүмкіндік береді.

Жобаның сағаттық бағдарламасын жүктеңіз және іске қосыңыз: clockLcdSet.ino.

Бағдарлама басталғанда, ол 1602 СКД экранында DS3231 уақытын көрсетеді. Хабарламалар Arduino IDE құралдарында/сериялық мониторда көрінеді.

+++ орнату.

+ СКД жиынтығы. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Бағдарлама айнымалыларымен орнатылған және синхрондалған. + Инфрақызыл қабылдағыш қосылған. ++ Циклға өту. + clockPulseMinute (), TheConterMinutes = 15 + clockPulseMinute (), TheConterMinutes = 16 + clockPulseMinute (), TheCounterMinutes = 17…

Қашықтан басқару пультін ресиверге бағыттап, оң жақ көрсеткі түймесін басыңыз. Орнату үшін жыл көрсетіледі. Жылды, айды, күнді, сағатты, минутты және секундты орнатуға болатынын көру үшін оң жақ көрсеткі түймесін бірнеше рет басыңыз. Уақыт мәнін орнату үшін мәнге өтіңіз. Көрсету мәнін орнату үшін жоғары және төмен көрсеткілерді пайдаланыңыз. Содан кейін сағаттың мәнін орнату үшін «OK» пернесін пайдаланыңыз. Бір уақытта бір мән орнатылады.

6 -қадам: Сыртқы қуат көзі

Сыртқы қуат көзі
Сыртқы қуат көзі

Енді сіздің сағатыңыз тексеріліп, жұмыс істеп тұр, сіз оны компьютерден ажыратып, тәуелсіз қуат көзін қолдана аласыз. Қарапайым болу үшін мен 5 вольтты қабырға адаптерін қолданамын, оны бір долларға сатып алуға болады, ал USB кабелін - тағы бір доллар. Кабель Arduino -ны +5В қабырға адаптеріне қосады. Arduino қуат пен жерге қосқыштар тақтаға қосылғандықтан, бұл басқа компоненттерді қуаттандырады.

Қарапайымдылығы мен арзандығына байланысты мен осы комбинацияны басқа жобаларды қолдау үшін қолданамын.

Сіз сәтті болды деп сенемін және инфрақызыл басқарылатын СКД сағатын жасау сізге ұнады.

Ұсынылған: