Оглавление:
- Запасы
- Шаг 1. Добавьте Arduino Nano на макетную плату
- Шаг 2: Добавьте модуль часов DS3231 и подключите его к Arduino
- Шаг 3. Добавьте модуль ЖК-дисплея 1602 и подключите его к Arduino
- Шаг 4: Добавьте инфракрасный приемник и подключите его к Arduino
- Шаг 5: Загрузите программу эскиза Arduino Clock Project и протестируйте ее
- Шаг 6: Внешний источник питания
Видео: Часы, ЖК-дисплей, настройка инфракрасного порта: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Создайте часы реального времени, которые показывают время срабатывания в течение нескольких минут в год. Код и компоненты можно легко перенастроить в другие проекты.
Этот проект требует минимального количества проводки и никакой пайки. Хранитель времени - это часы реального времени DS3231. Время отображается на недорогом ЖК-дисплее 1602. Оба модуля используют связь I2C. I2C использует только 2 провода на модуль при подключении к Arduino. Я использую Arduino Nano, потому что он хорошо помещается на макетной плате. Следующие инструкции будут работать с Arduino Uno, поскольку он имеет те же номера контактов, что и Nano для этого проекта. Другой компонент - инфракрасный приемник. Это позволяет вам использовать обычный пульт дистанционного управления, такой как пульт от телевизора, для установки времени так же, как на нашем интеллектуальном телевизоре. Для подключения инфракрасного приемника к Arduino требуется только один провод.
Первым шагом является тестирование Arduino и подключение его к макетной плате. Следующие шаги предназначены для независимой работы. На каждом этапе есть инструкции по подключению и тестированию. Когда я создаю проекты, я подключаю и тестирую каждый компонент, чтобы убедиться, что он работает. Это помогает интегрировать ряд компонентов, потому что я знаю, что каждая работа работает, и могу сосредоточиться на требованиях интеграции.
Это руководство требует, чтобы у вас была установлена IDE Arduino. Вы также должны обладать базовыми навыками, чтобы загрузить программу эскиза Arduino по ссылкам в этом проекте, создать каталог для программы (имя каталога совпадает с именем программы). Следующие шаги - загрузить, просмотреть и отредактировать программу в среде IDE. Затем загрузите программу через USB-кабель на плату Arduino.
Запасы
- Плата микроконтроллера Nano V3 ATmega328P CH340G для Arduino. В качестве альтернативы вы можете использовать Uno.
- Часы реального времени DS3231 и батарея CR2032.
- 1602 LCD с модулем I2C
- Инфракрасный приемник и пульт дистанционного управления. Я использовал комплекты модулей беспроводного ИК-пульта дистанционного управления, которые поставлялись с инфракрасным приемником и инфракрасным пультом дистанционного управления.
- Макетная плата
- Проволочные кабели
- Сетевой адаптер на 5 вольт
Я покупал запчасти на eBay, в основном у дистрибьюторов в Гонконге или Китае. У американских дистрибьюторов иногда есть такие же или похожие детали по разумным ценам и более быстрой доставке. Доставка китайских запчастей занимает от 3 до 6 недель. Все дистрибьюторы, которых я использовал, были надежными.
Примерные затраты: Nano 3 доллара, DS3231 1 доллар, ЖК-дисплей 3 доллара, инфракрасный комплект 1 доллар, макетная плата 2 доллара, упаковка из 40 проводных кабелей 1 доллар, 1 доллар за сетевой адаптер на 5 вольт. Итого, около 11 долларов. Обратите внимание: я купил Nano и LCD с уже припаянными контактами на макетной плате, так как у меня плохие навыки пайки. Для батареи часов я купил 5 литиевых батарей CR2032 примерно за 1,25 доллара. Я также купил 5 упаковок DS3231, потому что мне нравятся часы. В этом проекте используется 1 макет. Я купил 3 макета примерно за 7 долларов; Лучшая сделка, чем покупка отдельной доски.
Шаг 1. Добавьте Arduino Nano на макетную плату
Подключите Arduino Nano к макетной плате. Или, если хотите, вы можете использовать для этого проекта Arduino Uno; они оба используют одни и те же булавки для этого проекта. Подключите Nano (или Uno) к компьютеру через USB-кабель.
Подключите питание и заземление от Arduino к полосе питания макетной платы. Подключите вывод Arduino 5+ к плюсовой полосе на макетной плате. Подключите контакт GRN (заземление) Arduino к отрицательной (заземляющей) шине макетной платы. Это будет использоваться другими компонентами.
Загрузите и запустите базовую тестовую программу Arduino: arduinoTest.ino. При запуске программы встроенный светодиодный индикатор загорится на 1 секунду, а затем погаснет на 1 секунду. Кроме того, публикуются сообщения, которые можно просмотреть в Arduino IDE Tools / Serial Monitor.
+++ Настройка.
+ Инициализировал цифровой вывод встроенного светодиода для вывода. Светодиод не горит. ++ Перейти к циклу. + Счетчик циклов = 1 + Счетчик циклов = 2 + Счетчик циклов = 3…
В качестве упражнения измените время задержки на мигающем индикаторе, загрузите измененную программу и подтвердите изменение.
На приведенной выше фотографии показана коробка для набора перемычек для беспаечной макетной платы из 140 частей, которую вы можете купить за 3-5 долларов. Они делают платы более аккуратными, чем используют длинные кабели для коротких соединений.
Шаг 2: Добавьте модуль часов DS3231 и подключите его к Arduino
Вставьте модуль часов в макетную плату. Подключите контакт GND модуля часов к полосе заземления макетной платы. Подключите вывод VCC модуля часов к положительной полосе на макетной плате. Подключите вывод SDA (данные) модуля синхронизации к выводу A4 Arduino (вывод данных I2C). Подключите контакт SCL (часы) модуля часов к контакту A5 Arduino (контакт I2C).
В среде Arduino IDE установите библиотеку часов DS3231. Выберите Инструменты / Управление библиотеками. Отфильтруйте свой поиск, набрав «rtclib». Выберите RTClib от Adafruit (для справки ссылка на библиотеку).
Скачайте и запустите базовую тестовую программу: clockTest.ino. При запуске программы публикуются сообщения о времени, которые можно просмотреть в Arduino IDE Tools / Serial Monitor.
+++ Настройка.
+ Набор часов. ++ Перейти к циклу. ---------------------------------------- + Текущая дата и время: 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
Вставьте ЖК-модуль в макетную плату. Подключите контакт GND модуля часов к полосе заземления макетной платы. Подключите вывод VCC модуля часов к положительной полосе на макетной плате. Подключите вывод SDA (данные) модуля синхронизации к выводу A4 Arduino (вывод данных I2C). Подключите вывод SCL (часы) модуля часов к выводу A5 Arduino (вывод часов I2C).
В среде Arduino IDE установите ЖК-библиотеку 1602. Выберите Инструменты / Управление библиотеками. Отфильтруйте результаты поиска, набрав «LiquidCrystal». Выберите LiquidCrystal I2C от Фрэнка де Барбандера (для справки, ссылка на библиотеку).
Загрузите и запустите базовую тестовую программу: lcd1602Test.ino. При запуске программы публикуются сообщения о времени, которые можно просмотреть в Arduino IDE Tools / Serial Monitor.
+++ Настройка.
+ ЖК-дисплей готов к использованию. +++ Перейти к циклу. + theCounter = 1 + theCounter = 2 + theCounter = 3…
В качестве упражнения измените сообщения на ЖК-дисплее, загрузите измененную программу и подтвердите изменение.
Шаг 4: Добавьте инфракрасный приемник и подключите его к Arduino
Подключите провода кабеля «мама-папа» к инфракрасному приемнику (концы «мама»). Подключите заземляющий контакт модуля часов к полосе заземления на макетной плате. Подключите вывод питания модуля часов к положительной полосе на макетной плате. Подключите выходной контакт инфракрасного приемника к контакту Arduino A1.
Подключите инфракрасный приемник, контакты сверху слева направо:
Крайний левый (рядом с X) - нано-контакт A1 по центру - 5 В справа - земля
A1 + - - Нано-штыревые соединения
| | | - Контакты инфракрасного приемника --------- | S | | | | --- | | | | | | --- | | | ---------
В Arduino IDE установите инфракрасную библиотеку. Выберите Инструменты / Управление библиотеками. Отфильтруйте свой поиск, набрав «IRremote». Выберите IRremote by Shirriff (для справки ссылка на библиотеку).
Загрузите и запустите базовую тестовую программу: infraredReceiverTest.ino. При запуске программы направьте пульт дистанционного управления на приемник и нажмите различные кнопки, например цифры от 0 до 9. Последовательные сообщения выводятся (распечатываются), которые можно просмотреть в инструментах Arduino IDE / Serial Monitor.
+++ Настройка.
+ Инициализировал инфракрасный приемник. ++ Перейти к циклу. + Клавиша OK - Toggle + Клавиша> - следующий + Клавиша <- предыдущий + Клавиша вверх + Клавиша вниз + Клавиша 1: + Клавиша 2: + Клавиша 3: + Клавиша 4: + Клавиша 6: + Клавиша 7: + Клавиша 8: + Клавиша 9: + Клавиша 0: + Клавиша * (возврат) + клавиша # (выход)
В качестве упражнения используйте пульт от телевизора, чтобы просмотреть напечатанные значения. Затем вы можете изменить программу, чтобы использовать значения в операторе switch функции infraredSwitch (). Например, нажмите клавишу «0» и получите значение для вашего пульта дистанционного управления, например, «0xE0E08877». Затем добавьте регистр в оператор switch, как показано в следующем фрагменте кода.
case 0xFF9867:
case 0xE0E08877: Serial.print ("+ ключ 0:"); Serial.println (""); перерыв;
Шаг 5: Загрузите программу эскиза Arduino Clock Project и протестируйте ее
Теперь, когда все компоненты добавлены на макет, подключены и протестированы; пора загрузить основную программу часов и запустить ее. Программа часов получает время от модуля часов, отображает время на ЖК-дисплее и позволяет устанавливать время с помощью инфракрасного пульта дистанционного управления.
Загрузите и запустите программу часов проекта: clockLcdSet.ino.
Когда программа запускается, она отображает время DS3231 на ЖК-экране 1602. Сообщения доступны для просмотра в Arduino IDE Tools / Serial Monitor.
+++ Настройка.
+ Комплект LCD. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Часы устанавливаются и синхронизируются с программными переменными. + Инфракрасный приемник включен. ++ Перейти к циклу. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17…
Направьте пульт дистанционного управления на приемник и нажмите кнопку со стрелкой вправо. Год будет отображаться для настройки. Нажмите кнопку со стрелкой вправо несколько раз, чтобы увидеть, что вы можете установить год, месяц, день, час, минуту и секунды. Чтобы установить значение времени, перейдите к значению. Используйте стрелки вверх и вниз, чтобы установить отображаемое значение. Затем используйте кнопку «OK», чтобы установить значение часов. За раз устанавливается одно значение.
Шаг 6: Внешний источник питания
Теперь, когда ваши часы проверены и работают, вы можете отключить их от компьютера и использовать независимый источник питания. Для простоты я использую сетевой адаптер на 5 В, который можно купить примерно за доллар, и USB-кабель за еще доллар. Кабель соединяет Arduino с настенным адаптером + 5V. Поскольку контакты питания и заземления Arduino подключены к макетной плате, они будут питать другие компоненты.
Из-за его простоты и низкой стоимости я использую эту же комбинацию для поддержки других проектов.
Надеюсь, вы добились успеха и получили удовольствие от создания ЖК-часов с инфракрасным управлением.
Рекомендуемые:
Использование инфракрасного датчика с Arduino: 8 шагов (с изображениями)
Использование инфракрасного датчика с Arduino: что такое инфракрасный (он же ИК) датчик? ИК-датчик - это электронный прибор, который сканирует ИК-сигналы в определенных диапазонах частот, определенных стандартами, и преобразует их в электрические сигналы на своем выходном контакте (обычно называемом сигнальным контактом) . ИК-сигнал
Комплект для инфракрасного бесконтактного измерения температуры: 9 шагов
Комплект для инфракрасного бесконтактного измерения температуры: внезапная вспышка болезни в начале Нового года в 2020 году оставила мир в недоумении Маска, термометр
Часы Vortex: наручные часы с зеркалом бесконечности: 10 шагов (с изображениями)
Часы Vortex: наручные часы с зеркалом бесконечности: целью этого проекта было создание носимой версии зеркальных часов бесконечности. Он использует свои светодиоды RGB для индикации времени, назначая часы, минуты и секунды красным, зеленым и синим светам соответственно и перекрывая эти оттенки t
Создание инфракрасного приемника Kodi / OSMC и сброса шляпы для Raspberry Pi: 5 шагов (с изображениями)
Создайте инфракрасный приемник Kodi / OSMC и сбросьте шляпу для Raspberry Pi: создайте ИК-приемник Kodi / OSMC и сбросьте шляпу для Raspberry Pi 3 Из комнаты я хотел бы: Управлять Kodi / OSMC, работающим на Raspberry Pi, с помощью пульта дистанционного управления Посмотрите, включен ли Raspberry Pi. Также, я бы хотел, чтобы моя семья
Отслеживание движения глаз с помощью инфракрасного датчика: 5 шагов
Отслеживание движения глаз с помощью инфракрасного датчика: я использовал инфракрасный датчик для определения движений глаз и управления светодиодом. Я сделал глазные яблоки с помощью светодиодной ленты NeoPixel