- Современные и компактные наручные часы на Ардуино
- Шаг 1. Комплектующие
- Шаг 2. Фиксируем плату и дисплей
- Шаг 3. Подключаем землю
- Шаг 4. Питание
- Шаг 5. Подключаем выводы дисплея
- Шаг 6. Удаляем индикатор питания
- Шаг 7. Подключаем LiPo батарею
- Шаг 8. Подключаем RTC
- Шаг 9. Подключаем датчик движения
- Шаг 10. Программируем
- Шаг 11. Печатаем корпус на 3D-принтере
- Шаг 12. Итоговый результат
- Oled часы с выводом температуры на Arduino своими руками.
- Описание работы часов OLED часы на Arduino.
- Код OLED часы на Arduino.
- Возможности OLED часов на arduino.
- Часы на Ардуино своими руками
- Часы на Ардуино на основе ЖК-дисплея и часов реального времени
- Комплектующие
- Схема соединения
- Установка даты и времени
- Код проекта
- Часы с выводом на экран Nokia 5110
- Комплектующие
- Схема соединения
- Код урока
- Часы с будильником, гигрометром и термометром
- Комплектующие
- Схема соединения
- Код урока
- Часы без RTC
- Комплектующие
- Схема соединения
Современные и компактные наручные часы на Ардуино
На нашем сайте было написано уже много уроков по созданию различных часов на основе Ардуино и микроконтроллеров — и самые недорогие часы, и цифровые часы на ATMega328, и даже самые стильные электронные часы. Сегодня мы сделаем современные, компактные и удобные наручные часы на основе платы Sparkfun Pro Micro и дисплея ST7789.
Шаг 1. Комплектующие
Для того, чтобы сделать компактные наручные часы на основе Ардуино или аналогов нам понадобятся следующий набор комплектующих:
Плата Arduino
На этот раз мы используем плату Sparkfun Pro Micro 3.3 V 8 MHz.
Дисплей
Используем ST7789 1.3″ IPS LCD.
Возьмем для часов 301420 LiPo.
Зарядник LiPo
Используем плату для зарядки LiPo 15 х 15 мм.
Чип RTC
На этот раз мы используем DS3231M, это встроенный кварцевый генератор, никаких дополнительных компонентов не требуется.
Батарея RTC
Необязательно, только если вы хотите сохранить время, даже если батарея LiPo разряжена. MS412FE — это крошечная перезаряжаемая батарея емкостью 1 мАч, согласно спецификации RTC, 1 мАч может сохранять время в течение многих дней.
Ремешок для часов
Самый простой и недорогой вариант — заказать ремешок для часов из ткани шириной 20 мм.
Дополнительно
Дополнительно могут пригодиться, например, диод 1N5822, четыре 6 мм винта M2, лента из медной фольги и несколько проводов.
Шаг 2. Фиксируем плату и дисплей
Используйте небольшой кусок прозрачного пластика как на фото выше, чтобы скрепить вместе Pro Micro и дисплей.
Шаг 3. Подключаем землю
Прочитайте технические характеристики ЖК-дисплея, предоставленные вашим поставщиком.
Отрежьте немного ленты из медной фольги, соедините все выводы GND (земля) и отрицательные выводы дисплея и закрепите на пластине FPC. Затем паяем контакты с медной фольгой.
Шаг 4. Питание
Подсоедините выводы GND платы к медной фольге. Подключите контакты Vcc к выводу Vcc дисплея.
Шаг 5. Подключаем выводы дисплея
Вот краткое описание всех соединений:
Шаг 6. Удаляем индикатор питания
Индикатор питания всегда включен и потребляет более 1 мА непрерывно, поэтому лучше его убрать. Нужно распаять и аккуратно снять светодиод.
Шаг 7. Подключаем LiPo батарею
Вот краткое описание всех соединений:
Большинство плат зарядки LiPo лучше использовать в качестве входа 5В. Тем не менее, плата Pro Micro не обеспечивает вывод USB 5В. К счастью, разъем J1 рядом с USB-разъемом на самом деле подключен к контакту USB 5В. Внимание! Не паяйте 2 разъема вместе.
Шаг 8. Подключаем RTC
DS3231M очень маленький и требует подключения к крошечной батарее, будьте терпеливы и соедините все вместе:
Шаг 9. Подключаем датчик движения
Мы можем использовать 2 датчика вибрации в качестве датчика движения, чтобы активировать «пробуждение» платы. Однако в часах нет места для установки двух 5-миллиметровых датчиков вибрации. Мы пытались заменить на один 3 мм датчик вибрации и тестировали несколько дней. Но это приводит к неверному пробуждению часов и батарея разряжается в течение дня.
Шаг 10. Программируем
Добавить поддержку Sparkfun Pro Micro
Следуйте инструкциям по установке, чтобы добавить поддержку плат Sparkfun: https://github.com/sparkfun/Arduino_Boards
После установки поддержки не забудьте выбрать правильную плату в Arduino IDE:
Сервис -> Плата -> SparkFun Pro Micro (Tools -> Board -> SparkFun Pro Micro)
Сервис -> Процессор -> ATmega32U4 (3,3 В, 8 МГц) (Tools -> Processor -> ATmega32U4 (3.3V, 8MHz))
Библиотека Adafruit RTClib
Используйте Arduino IDE Library Manager для установки RTClib: https://www.arduino.cc/en/guide/libraries
Библиотека Arduino GFX
Добавьте библиотеку Arduino_GFX в Arduino IDE: https://github.com/moononournation/Arduino_GFX.git
Если вы никогда этого не делали, то просто добавьте библиотеку из GitHub, — нажмите зеленую кнопку «Клонировать или скачать», а затем «Скачать ZIP». Далее в Arduino IDE выберите меню: Эскиз -> Включить библиотеку -> Добавить библиотеку .ZIP . -> выберите загруженный файл ZIP (англ.: Sketch -> Include Library -> Add .ZIP Library. -> ZIP).
Библиотека LowPower
Добавьте библиотеку Arduino_GFX в Arduino IDE: https://github.com/rocketscream/Low-Power.git
Установка такая же, как описано выше.
Основной код часов Arduino — Watch Core
Основной код наших часов Ардуино можно скачать по ссылке: https://github.com/moononournation/ArduinoWatch.git. Также вы можете скачать ZIP-архив часов ниже:
Пожалуйста, используйте Arduino IDE, скомпилируйте и загрузите RTClibSetRTC.ino, чтобы инициализировать время в RTC. А затем скомпилируйте и загрузите Arduino_Watch.ino.
Шаг 11. Печатаем корпус на 3D-принтере
Скачать схему и проект корпуса можно по ссылке: https://www.thingiverse.com/thing:3799868
Шаг 12. Итоговый результат
Теперь вы можете показать то, что вы сделали своим друзьям! Кроме того, вы также можете:
- запрограммировать и создать свой собственный циферблат;
- добавить больше датчиков или компонентов, чтобы они стали, например, умными часами;
- создать свой собственный корпус для часов.
Источник
Oled часы с выводом температуры на Arduino своими руками.
Я люблю разрабатывать различные часы на Arduino . Свои первые часы делал на сдвиговых регистрах , светодиодах и Arduino. Вторая версия светодиодных часов уже была сделана на адресных светодиодах (данные часы до сих пор работают и висят у меня в коридоре). С ребёнком делали часы из Лего, семисегментного индикатора и digispark. Последние, четвёртые, реализованы на Arduino и дисплее Nextion. Подписчики написали мне, что часы получаются достаточно дорогие и собирать их нецелесообразно. Согласен, что дисплей Nextion дорогой, поэтому решил собрать часы на OLED дисплее и Arduino.
Для реализации данного проекта нам понадобится:
Электронную часть OLED часов собрал на макетной плате вот по такой схеме.
Описание работы часов OLED часы на Arduino.
Часы имеют стандартный функционал. Вывод текущего дня недели, даты, времени и температуры. Две тактовые кнопки помогают нам настраивать дату и время.
Как видим, дни недели у нас выводятся на русском языке. Вы скажете, что в интернете достаточно много проектов с данным дисплеем и с выводом информации на русском языке. Да, так оно и есть, информации много, но в 90% случаев русские буквы выводятся с помощью перекодировки символов. И просматривая код непонятно, какое слово будет на дисплее. В данном примере русский текст прописан в коде в точно таком же виде, как он выводится на дисплей.
Устанавливаем и настраиваем библиотеки.
1. Установить библиотеки Adafruit : библиотеку Adafruit_SSD1306 и библиотеку Adafruit_GFX . Как их установить, я рассматривал в уроке.
2. Скачать файл glcdfont.c и заменить его в библиотеке Adafruit-GFX. Библиотека находится C:\Users\USER\Documents\Arduino\libraries\Adafruit_GFX_Library. У вас путь до библиотеки может отличаться. Вы можете скачать, библиотеку подготовленную для вывода русского текста, внизу статьи в разделе материалы для скачивания.
3. В скетч нужно добавить функцию перекодировки русских букв из UTF-8 в Win-1251 . Добавить функцию можно внизу кода.
4. Добавить в блок void setup() <> следующую строчку кода.
5. При выводе русского текста использовать функцию utf8rus() .
Библиотеки, которые используются в проекте , Вы можете скачать внизу статьи в разделе материалы для скачивания.
Код OLED часы на Arduino.
Рассказывать, как устроена программа часов полностью не буду. Тем более у меня на сайте достаточно уроков и примеров по реализации функционалов на дисплеях и работы с часами реального времени. Рассмотрим только основную особенность данного кода — это вывод русского языка в том виде, как он прописан в самом коде. Библиотеку для вывода символов на дисплей мы установили и настроили. Как же сейчас её использовать так, чтобы постоянно не прописывать перекодировку символов? Для этого сделаем функцию, которая будет выводить наш текст с нужным размером шрифта по указанным координатам.
В данной функции и укажем перекодировку символов. Благодаря этому можно вывести информацию на дисплей на русском языке.
Благодаря таким несложным манипуляциям можно выводить текст на дисплей на русском языке и в других проектах, необязательно это должны быть часы.
Пишите в комментариях, какие проекты на данном дисплее вы бы хотели видеть.
Возможности OLED часов на arduino.
Две тактовые кнопки позволяют настраивать время и дату. Первая кнопка переключает необходимый параметр, вторая кнопка увеличивает данное значение. Настройка дней недели работает аналогично, просто вместо названия меняется порядковый номер, а программа уже выводит день недели на русском языке.
В связи с тем, что используем модуль реального времени ds3231 , в котором встроен датчик температуры, мы можем вывести температуру в помещении. Самая нижняя строчка на дисплее выводит данную информацию.
Это достаточно распространённый функционал любых часов, и поэтому данный проект не получил собственный корпус. На мой взгляд, проект должен быть более серьезным, чтобы заморачиваться с разработкой корпуса. Пишите в комментариях ваше предложение, чтобы вы хотели видеть реализованного на данном дисплее. Может, расширенные возможности данных часов, или совсем другой проект.
На этом всё. Не забывайте подписываться на мой YouTube канал, вступать в группу Вконтакте, в группу на Facebook.
И всем пока-пока. До встречи в новом проекте.
Понравилась статья? Поделитесь ею с друзьями:
Источник
Часы на Ардуино своими руками
Мы решили собрать большое руководство о том, как сделать часы на Ардуино, где расскажем о нескольких вариантах реализации такого проекта. Ранее мы уже делали электронные часы на основе этой платы.
Часы на Ардуино на основе ЖК-дисплея и часов реального времени
Цель первого урока показать, как сделать простые часы на основе Arduino с использованием ЖК-дисплея и часов реального времени.
Комплектующие
Для первого урока этого большого руководства нам понадобятся следующие комплектующие для наших часов на Ардуино:
- Arduino UNO и Genuino UNO
- PCF8563 (часы реального времени)
- Кристалл 32 кГц
- 10К потенциометры
- Резистор 10k 1/4w
- Резистор 220 Ом
- LCD 16×2
- Макет с набором проводов
В этом уроке будут использованы ЖК-дисплей и часы реального времени. Если вы хотите знать больше теме взаимодействия Arduino и ЖК-дисплеев — изучите уроки, которые мы публиковали ранее на нашем сайте.
Схема соединения
Схема очень проста. PCF8563 связывается с Arduino с помощью TWI, и когда данные принимаются, ЖК-дисплей обновляется, показывая новое время.
Установка даты и времени
Чтобы установить дату и время, используйте следующий скетч:
Код проекта
Теперь вы сможете использовать свои часы, загрузив этот скетч на Arduino:
Часы с выводом на экран Nokia 5110
Следующий урок — часы на Arduino, которые также простые для сборки, где вы сможете установить дату и время на последовательном мониторе.
В этом уроке используются лишь несколько компонентов — только перемычки, Arduino и дисплей Nokia 5110/3110.
Комплектующие
Детали, используемые в этом проекте ниже.
Оборудование
- Arduino UNO и Genuino UNO × 1
- Adafruit дисплей Nokia 5110 × 1
- Соединительные провода (универсальные) × 1
- Резистор 221 Ом × 1
Программное обеспечение
Схема соединения
Соединяем детали часов на Ардуино как на схеме выше:
- контакт pin 3 — последовательный тактовый выход (SCLK) // pin 3 — Serial clock out (SCLK)
- контакт pin 4 — выход серийных данных (DIN) // pin 4 — Serial date out (DIN)
- контакт pin 5 — дата / выбор команды (D / C) // pin 5 — date/Command select (D/C)
- контакт pin 6 — выбор ЖК-чипа (CS / CE) // pin 6 — LCD chip select (CS/CE)
- контакт pin 7 — сброс ЖК (RST) // pin 7 — LCD reset (RST)
Код урока
Код второй версии часов вы можете скачать или скопировать ниже.
Часы с будильником, гигрометром и термометром
Эти часы сделаны с использованием платы Arduino Uno, датчика AM2302, модуля RTC DS3231 и TFT-дисплей 1,8″ с ST7735.
Комплектующие
Компоненты, используемые в третьей версии часов на Ардуино перечислены ниже.
Компоненты оборудования
- Arduino UNO и Genuino UNO × 1
- Часы реального времени (RTC) × 1
- Датчик температуры DHT22 × 1
- Кнопочный переключатель 12мм
- SparkFun Кнопочный переключатель 12 мм × 4
- Соединительные провода (универсальные) × 1
- Макет (универсальный) × 1
- Adafruit ST7735 1,8 «дисплей × 1
Программное обеспечение
Схема соединения
Соедините все детали часов согласно схеме ниже.
Код урока
Скачайте или скопируйте код часов для Ардуино ниже и загрузите на плату используя Arduino IDE.
Часы без RTC
Для начала мы должны понимать, что такое RTC. Из Википедии:
В итоге в данной версии мы сделаем часы без RTC с индикатором температуры и влажности на Arduino с помощью модуля DHT11. Также мы используем 3 кнопки для установки часов.
Комплектующие
Вам понадобятся эти кусочки для этого проекта:
- Arduino Uno плата
- Кнопки 3 шт.
- Потенциометр
- Модуль LCD 1602
- Модуль температуры и влажности DHT11
- Макетная плата
- Перемычки
Схема соединения
Соедините комплектующие часов как на схеме ниже.
Вы можете скопировать или скачать код часов на Ардуино ниже.
На этом пока всё. Мы постарались описать все основные варианты реализации часов на Ардуино.
Источник