Часы на ардуино с дисплеем 1602

Часы на ардуино с дисплеем 1602

С момента приобретения arduino, все никак не было или возможности или времени что-то сделать, начать "изучать" это дело. Но всегда был интерес к любому программированию будь то C, VHDL и прочее.

И вот однажды попал мне в руки экранчик lcd1602, где-то раньше читал, что его под ардуинку собирают. А у меня как раз с распайкой под пины, наверное от какого-нибудь ардуновского набора. Ну и решил, что надо бы его проверить, но проверить его простым включением и выводом текста не слишком интересно. Так и появилась идея написать банально часы и выводить это всё на экранчик.

Наверное стоит обговорить еще тот факт, что это самые простые часы, без кнопок, будильников, погоды и прочего.

После чтения даташитов и изучения информации по подключению экрана к ардуинке получил следующую схему:

При подключении ардуино к usb увидите, что экран загорится синим. На нем должны появится квадратики (экран проинициализирован), если вы их не видите попробуйте покрутить переменный резистор.

Приступим к написанию кода. Логика программы думаю понятна всем, она ровным счетом такая же, как и в любых часах. То есть: Считаем секунды, дошли до 60 — прибавляем минуту, секунды обнуляем, минуты дошли до 60, прибавляем час, обнуляем минуты и секунды.

Вот собственно и сам код программы, с подробнейшими комментариями:

Всё! Готово, прошиваемся и смотрим что получилось:

Всё, работает. Надеюсь что статья поможет кому-нибудь. Если будет интересно, то напишу следуюущую статью, где сделаем часы + дата. Спасибо за внимание.

Самые простые часы на основе Arduino и LCD (ЖК дисплей) из тех что мы когда-то делали. Нам потребуются только Arduino UNO, 16×2 ЖК-дисплей и две кнопки. Никаких резисторов, никаких потенциометров.

Читайте также:  Как вывести наличные с яндекс деньги

Комплектующие

Начинаем с деталей, которые нам понадобятся для проекта цифровых часов на Ардуино Уно:

  • Arduino UNO & Genuino UNO x 1
  • Стандартный ЖК-дисплей Adafruit — 16×2 (белый на синем) x 1
  • Кнопочный переключатель SparkFun 12 мм × 2
  • Макетная плата половинного размера × 1
  • Провода перемычки (на выбор)

Что за идея

Ранее мы делали один сложный проект с цифровыми часами, о котором мы расскажем в следующих уроках, и нашли в процессе несколько проблем. После этого мы решили поделиться этой проблемой со всеми. Основная проблема в том как оценивается длительность секунды.

По факту — сделать правильную секунду в цифровых часах не так просто. Нужно правильно работать с циклами. Мы нашли много комментариев на англоязычных сайтах:

На скриншоте выше видно, что код реализован таким образом, что теперь инкремент s будет выполняться каждую 1 секунду и не больше, в зависимости от времени выполнения цикла loop<>.

В связи с этим резисторы и потенциометры мы полностью удалили.

Кнопки настройки времени вы можете использовать встроенные в микросхему ATmega328P.

pinMode(hs, INPUT_PULLUP) избегает использования внешнего Pullup. Подробнее о INPUT_PULLUP читайте в нашем Справочнике программиста Ардуино.

Избегайте потенциометра ЖК-дисплея.

Контрастность ЖК-дисплея может быть установлена с помощью сигнала PWM (Широтно-импульсная модуляция (ШИМ, англ. pulse-width modulation (PWM))) Arduino.

То же самое для подсветки, которая питается сигналом ШИМ (PWM) Arduino, поэтому её можно установить как вкл/выкл с помощью Arduino.

Схема проекта

Принципиальная схема нашего проекта выглядит таким образом:

Схема соединения всех комплектующих для наших цифровых часов Ардуино выглядит так:

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

Читайте также:  Блендер филипс hr 3655 отзывы

Также не забываем, что мы в самом начале подключаем библиотеку LiquidCrystal, которую вы можете скачать в разделе Библиотеки на нашем сайте.

Результат

На этом пока всё, надеемся, что ваши цифровые часы Ардуино идут точно секунда в секунду.

Решил к себе в гараж поставить новые часы с термометром. Прошлые часы-термометр отдал соседу по гаражу, больно они ему понравились.
А себе часы сделал более функциональные с LCD экраном1602А на ATMega8.
Схему нашёл вот на этом форуме, автор часов Soir. Автор постарался сделать модель в протеусе, приложил подробную инструкцию и несколько вариантов прошивок. Но плату, к сожалению, ни кто на форуме не предложил. Это не пролема.
Набросал схему в DipTrace.
По рекомендации самого автора питание разделил. Тоесть питание МК, датчика и экрана через стабилизатор 5В, а питание подсветки экрана, пищалки и реле сделал от 12В через транзисторные ключи. Схема такая, чтопри отключении внешнего питания МК питается от батарейки и время и настройки не сбиваются.
Смотрите схему.

Развёл плату, честно, особо не старался получилась достаточно громоздкой и достаточно перемычек. Но перемычки я старался делать под индикатором и одна под МК. Так что если под индикатор не заглядывать не заметишь.

Ссылка на основную публикацию
Хрипит динамик в машине причины
Атмосфера в салоне автомобиля во многом зависит от работы акустической системы. В бюджетных машинах штатная магнитола и динамики оставляют желать...
Фиксированная шапка сайта при прокрутке
Допустим у вас важная информация например контакты находятся в шапке и вы хотите что бы они всегда были на веду...
Фиксированное меню при скролле
Создаём эффект залипания при прокручивании страницы на блоках меню навигации, бокового виджета и меню с помощью jQuery и без него....
Хром видео не на весь экран
БлогNot. Chrome 33 перестал показывать YouTube в полный экран. Chrome 33 перестал показывать YouTube в полный экран. Видел такой запрос....
Adblock detector