Оглавление:

Часы, ЖК-дисплей, настройка инфракрасного порта: 6 шагов
Часы, ЖК-дисплей, настройка инфракрасного порта: 6 шагов

Видео: Часы, ЖК-дисплей, настройка инфракрасного порта: 6 шагов

Видео: Часы, ЖК-дисплей, настройка инфракрасного порта: 6 шагов
Видео: Инструкция по эксплуатации китайской автономки 2024, Июль
Anonim
Часы, ЖК-дисплей, настройка инфракрасного порта
Часы, ЖК-дисплей, настройка инфракрасного порта
Часы, ЖК-дисплей, настройка инфракрасного порта
Часы, ЖК-дисплей, настройка инфракрасного порта

Создайте часы реального времени, которые показывают время срабатывания в течение нескольких минут в год. Код и компоненты можно легко перенастроить в другие проекты.

Этот проект требует минимального количества проводки и никакой пайки. Хранитель времени - это часы реального времени 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 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

Добавьте модуль часов DS3231 и подключите его к Arduino
Добавьте модуль часов 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

Добавьте модуль ЖК-дисплея 1602 и подключите его к Arduino
Добавьте модуль ЖК-дисплея 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
Добавьте инфракрасный приемник и подключите его к 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 и протестируйте ее

Загрузите программу 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.

Когда программа запускается, она отображает время 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 подключены к макетной плате, они будут питать другие компоненты.

Из-за его простоты и низкой стоимости я использую эту же комбинацию для поддержки других проектов.

Надеюсь, вы добились успеха и получили удовольствие от создания ЖК-часов с инфракрасным управлением.

Рекомендуемые: