Часы реального времени | Статья в журнале «Молодой ученый»
Библиографическое описание:Еремеев, Д. В. Часы реального времени / Д. В. Еремеев. — Текст : непосредственный // Молодой ученый. — 2019. — № 13 (251). — С. 36-38. — URL: https://moluch.ru/archive/251/57696/ (дата обращения: 16.02.2022).
В данной статье рассмотрена модель часов реального времени.
Результатом является разработка электрической принципиальной схемы микропроцессорного устройства на аппаратной платформе Arduino Uno R3.
Ключевые слова: ардуино уно, часы реального времени.
Целью моей работы является моделирование процесса управления железнодорожным переездом.
Для выполнения поставленной задачи необходимы компоненты:
– Контроллер Arduino UNO R3;
– Малая макетная плата для прототипирования;
– ЖК-дисплей 16×2;
– 2 кнопки;
– Резистор 10 КОм — 2 шт;
– Потенциометр 10 КОм;
– Провода.
Одним из первых проектов, которые новички собирают на основе платы Arduino, являются простые часы, ведущие отсчет времени. В основном такие часы основаны на подключаемом к Arduino модуле RTC (Real Time Clock). Сегодня на рынке электронных компонентов доступны разные модели RTC, различающиеся точностью и ценой. Среди распространенных моделей можно назвать DS1302, DS1307, DS3231.
Статья направлена на изучение и ознакомление с аппаратной и программной частями Arduino и создание простых часов, ведущих отсчет времени без использования RTC. Точность в данном случае будет невелика, поэтому проект рассматривается как учебный.
Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере (например, Adob Flash, Processing, Max (англ.), Pure Data,SuperCollider. Рассылаемые в настоящее время версии могут быть заказаны уже распаянными. Информация об устройстве платы (рисунокпечатной платы) находится в открытом доступе и может быть использована теми, кто предпочитает собирать платы самостоятельно.
Принцип работы заключается в том, что при каждом запуске часов нужно будет устанавливать для них текущее значение времени. Такие часы, безусловно, лучше не использовать в своей повседневной жизни при долгой их активности без перезагрузки и дальнейшей настройки, поскольку рассинхронизация с текущим временем в процессе длительной эксплуатации может быть существенной.
Данные часы можно собрать на обычной макетной плате, поскольку здесь не потребуется много компонентов. Основным звеном здесь будет плата Arduino Uno. Для отображения времени используем ЖК-дисплей 16×2. Для изменения настроек времени следует подключить две кнопки (для часов и минут). Кнопки подключаются к Arduino через резисторы 10 КОм. Чтобы изменять яркость дисплея потребуется потенциометр на 10 КОм. Схема подключения всех этих компонентов к плате Arduino Uno представлена ниже.
Ниже представлен скриншот собранной модели (рис. 1).
Рис. 1. Макетная сборка устройства часов реального времени в программной среде Tinkercad
Ниже представлены скриншоты работы модели в определенных ситуациях, описанных выше (рис. 2, рис. 3).
Рис. 2. Работа часов до полудня (AM)
Рис. 3. Работа часов после полудня (PM)
Ниже представлен листинг программы.
Заключение
Целью работы было поставлено изучение и ознакомление с аппаратной и программной частями Arduino и создание часов реального времени без модуля RTC. Такие часы лучше всего рассматривать с учебной точки зрения, так как при последующих выключениях нужно выставлять время заново, при очень длительной работе часов будет замечена рассинхронизация. Данная цель выполнена.
Литература:
- Момот, М. В. Мобильные роботы на базе Arduino. 2-е издание. — СПб.: БХВ-Петербург, 2018. — 336 с. ил.
- Блум Джереми, Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. — СПб.:БХВ-Петербург, 2015 г.-336 с.: ил.
- Англоязычный ресурс производителя Arduino [Электронный ресурс], офиц.сайт. URL: https://www.arduino.cc/.
- Видео-уроки интернет магазина [Электронный ресурс], URL: http://www.youtube.com/user/AmperkaRu.
- Электронная энциклопедия интернет магазина [Электронный ресурс], офиц.сайт, Москва. URL: http://wiki.amperka.ru/.
Основные термины (генерируются автоматически)
Светодиодные часы своими руками на ардуино (Arduino) WS2812 управляемых (адресных)
После очередной модернизации своего 3D принтера . Кстати статья и видео по модернизации Anet 8A скоро выложу.
И так о чем это я. Ах да. И вот решил я напечатать плоские и большие детали. Именно они у меня отрывались от стала 3D принтера. Даже бывало отрывало вместе со скотчем.
Новая версия Часов!
Нашел я модель светодиодных часов . Скачать модель можно со страницы автора.
Для проекта желательно взять плату Arduino Nano , и модуль часов DS3231.
Сборка часов на Arduino и адресных светодиодах WS2812:
1. Печатаем все детали на 3D принтере.
2. Приклеиваем светодиодную ленту на 2 пластины и спаиваем их зигзагом.
3. Устанавливаем решетки поверх ленты. Получим вот такой результат.
4. Укладываем все в корпус часов и крепим все на винтики М3.
5. Ставим крепление для ножек и крепим ножки.
6. Подключаем электронику по схеме.
7. Загружаем прошивку в Arduino. Автор использует Arduino Pro Mini, я решил использовать Arduino NANO v2 (ATmega168).
Прошивка у автора мне не понравилась и
я решил ее полностью переписать. В связи
с тем что у
часов всего 5 строк.
То стандартные
В итоги у часов получились вот такие возможности:
1. Настройка цвета циферблата.
2. Изменение яркости 10 режимов.
3. Вывод текущей даты в виде бегущей строки.
4. Сохранение всех настроек в энергонезависимую память. При выключении часы сохраняются все настройки.
5. Модуль часов реального времени, оснащенный дополнительной батарей, позволяет хранить текущую дату и время не завися от наличия питания на самом устройстве.
6. Прошивка уменьшаться на Arduino Nano V2.0 (ATmega168) . При увеличение функционала часов необходимо использовать Arduino Nano V3.0 (ATmega328) .
В связи с тем что я использовал Arduino Nano V2.0 (ATmega168), дальше расширять функционал не получится. Нет свободной памяти. Но если поставить Arduino Nano V3.0 (ATmega328) в которой памяти в 2 раза больше . Соответственно функционал можно расширят:
1. Сделать авто регулировку яркости. Поставив фото резистор.
2. Поставить спикер и написать настройку будильника.
3. К функциям будильника можно сделать стробоскоп. Мигать просто белым или как полицейская сирена одна сторона синим другая красным.
4. Поменять Arduino Nano на NodeMCU и сделать управление часами через смартфон. Вывести погоду, курс валюты. Грубо говорят сделать информер. Но так как дисплей часов не очень большой. Большая информация будет не очень читабельная.
У автора корпуса есть доработанные версии часов. Например подставка сделана уже побольше и часы более устойчивые. Также сделаны накладки которые закрывают провода с задней стороны.
Больше
фото по проекту сотрите тут:
Светодиодные часы своими руками на ардуино (Arduino) WS2312
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Всем Пока-Пока. И до встречи в следующем проекте.
Понравилась статья? Поделитесь ею с друзьями:
Файлы для скачивания
Clock_v1.ino | 10 Kb | 1048 | Скачать Вы можете скачать файл. |
Часы со световым будильником на Ардуино, которые облегчат процесс пробуждения по утрам
Если вам трудно вставать по утрам, и вы ненавидите трещащий звук будильника, то можете создать собственный, затратив на это небольшие средства и немного времени.
Световой будильник спроектирован так, чтобы пробуждать вас в спокойном ритме, постепенно увеличивая свою яркость к тому моменту, когда вам нужно проснуться. Идея состоит в том, чтобы взывать к нашей естественной склонности вставать с восходом солнца и «перехитрить» наше тело, приводя его к сбалансированному циркадному ритму, облегчающему процесс пробуждения. Конечно же, не все из вас будут стремиться к этому, но лично я обнаружил, что тёплые цвета действуют очень умиротворяюще утром и мне такой будильник очень помогает.
Многие будильники на Ардуино стараются воспроизвести спектр солнечного света при помощи специальных лампочек, повторяющих оттенок и температуру цвета утреннего солнца. Тем не менее, в нашем варианте будут использоваться обычные RGB диоды, которые могут примерно воссоздать ощущение естественного освещения и, кроме того, могут создать различные уникальные цветовые комбинации и эффекты. Сборка будет базироваться на Ардуино Уно с модулем Real Time Clock (RTC) и 7 сегментным экраном часов.
Шаг 1: Список материалов
- Деревянная шкатулка (корпус) (Amazon)
- Ардуино Уно или его эквивалент
- Регулятор вольтажа LM7805 5V
- Модуль Real Time Clock (RTC) (Amazon)
- 7-сегментный светодиодный дисплей для часов (Amazon)
- Потенциометр (Amazon)
- Датчик угла поворота (крутилка) (Amazon)
- Кнопки для крутилок. Можно использовать кнопки для электрогитары
- Кнопочный выключатель со светодиодом (Amazon)
- Акриловые стержни (Amazon)
- RGB светодиоды WS2812B – 8 штук (Amazon)
- Винты и гайки
- Небольшие магниты
- Печатная или макетная плата + провода
- Морилка для дерева
Шаг 2: Дизайн
Схему сборки вы найдёте по ссылке. Ключевым элементом часов будет модуль RTC. Он обеспечивает надежную сохранность заданного времени и у него есть небольшая батарейка, на случай, если весь будильник будет выключен. Модуль RTC и 7сегментный дисплей взаимодействуют с Ардуино через протокол I2C.
Ввод данных осуществляется крутилкой со встроенной кнопкой, которая используется для настройки времени и будильника, а также для настройки режимов свечения диодов и их яркости. Потенциометр нужен для настройки яркости дисплея часов. Заглядывая в будущее, отмечу, что еще одна крутилка сделает настройку более простой и добавит функциональности, но сделает схему с Ардуино более сложной. Кнопка-выключатель включает диоды. У меня в наличии была красивая металлическая кнопка со встроенным диодом, но подойдёт любая кнопка.
Я использовал адаптер питания на 9V со встроенным джеком 5,5*2,5 мм. Регулятор LM7805 нужен для понижения вольтажа до 5V. Мой показывал 0,75A на 9V и меня всё устраивало, потому что диодам WS2812B вполне хватало этого питания на максимуме их яркости. На полной яркости весь прибор потреблял около 450mA.
Всё железо вместилось в деревянную шкатулку (вы можете покрасить её для более приятного вида). Используемые восемь светодиодов WS2812B можно программировать, чтобы получать разные световые эффекты. Их свет рассеивается через акриловые стержни, установленные в верхней части шкатулки. Для установки стержней, на 3D принтере была напечатана пластина, о которой будет написано позже.
Файлы
Шаг 3: Проводка и изоляция
Для своего проекта я создал печатную плату, основанную на схеме «голого» Ардуино Уно с регулятором LM7805, заглушками и зонами для соединения с RTC и 7сегментным дисплеем. Всё лишнее было просто срезано с платы, чтобы она могла поместиться в шкатулку. Если у вас нет подходящей платы, то просто припаяйте модули, переключатели и светодиоды к Ардуино Уно.
У потенциометра один конец идет на землю (GND), другой на 5V, а средний на аналоговый вход. Крутилки нужно припаять к земле и к двум пинам прерывания (2 и 3) на Ардуино. Кнопка на крутилке и верхняя кнопка припаиваются к земле и к соответствующим пинам цифрового ввода. Также не забудьте соединить питание со светодиодом на верхней кнопке (если у вас такая же кнопка, как у меня). Дисплей и модуль RTC соединяем проводами с 5V, GND и соответствующими пинами SDA и SCL на Ардуино. Я использовал конденсаторы 1uF на входе и выходе LM7805 и еще один на 5V дорожке для поддержки светодиодов.
Можно соединить большинство коннекторов напрямую с платой, но для своих соединений я использовал стандартные 2,54мм коннекторы и провода с термоусадкой. Это упростит любые улучшения или доработки в будущем.
Затем нужно установить всё в шкатулку, вырезать отверстия для акриловых стержней, кнопок, крутилок, дисплея, джека питания и верхней кнопки. Если после установки какие-то элементы будут болтаться, закрепите их горячим клеем.
При сверлении отверстий нужно учесть, что вам, скорее всего, будет удобней сверлить снаружи внутрь и использовать острое сверло и лезвия, чтобы свести к минимуму сколы на дереве. По этой же причине была сделана основа для акриловых стержней — сверление дырок в дереве под каждый стержень наделало бы много «грязи».
ФайлыШаг 4: Светодиоды и окрашивание
Соедините провода 5V, GND и линию данных с полоской из восьми диодов WS2812B. Я подстраховался, смазав соединения эпоксидкой, поскольку они часто разрываются при нагрузке и их потом очень сложно восстановить. Далее я просто приклеил их к внутренней части шкатулки.
Акриловые стержни были нарезаны по две штуки на каждую длину: 6, 8, 10, 12см. Затем я прошелся по срезам наждачкой и отполировал. Самым простым способом установки акриловых стержней будет аккуратно просверлить дырки в дереве. Я не справился с задачей, повредив древесину, поэтому я напечатал на 3D принтере простую основу, которая позволяла бы также поместить внутрь себя светодиоды. В целом эта деталь получилась аккуратной. Она надёжно держала стрежни на одном уровне со светодиодами, так что даже не пришлось ничего клеить, а еще эта основа добавляет немного контраста эстетике часов. Чтобы шкатулка не открывалась, я приклеил к корпусу и крышке небольшие магниты.
Всё что осталось сделать — покрасить корпус, закрыв те части, которые вы хотите оставить неокрашенными (лучше окрасить весь корпус перед тем, как вы будете устанавливать в него железо)
ФайлыШаг 5: Код и итоговый вид
Ниже прикреплён файл с кодом. Он достаточно прост и набор функций в нём минимален. Самая сложная часть разработки интерфейса заключалась в том, чтобы с помощью минимального набора доступных кнопок, можно было менять режимы свечения и время будильника, а также настраивать эффекты изменения цвета. Список полезных библиотек, которые использовались в проекте, указан ниже:
- RTClib.h — библиотека Real Time Clock
- Adafruit_Neopixel.h — использовалась для диодов WS2812B
- Adafruit_GFX.h и Adafruit_LEDBackpack.h — для 7сегментного дисплея часов
- Wire.h — для I2C-связи с дисплеем и RTC
- TimerOne.h и EEPROM.h
Однократное нажатие кнопки на крутилке позволяет включить\выключить и настроить будильник, используя крутилку. Долгое нажатие на кнопку крутилки позволяет задать настройки времени, используя крутилку. Нажатие на верхнюю кнопку включает светодиоды. Когда они включены, кнопка крутилки меняет режимы свечения, а поворачивая крутилку можно менять яркость свечения. Режимы и яркость сохранены в EEPROM. Настройки таковы, что при установке будильника на определённое время, диоды загорятся на минимальной яркости в последнем установленном режиме свечения. Через 20 минут, яркость постепенно увеличится до максимально возможной. Еще через 20 минут свет погаснет (нажав на верхнюю кнопку можно выключить его раньше).
Данная сборка будильника не включает в себя звуковые сигналы. Я просто использую будильник на телефоне в дополнение к будильнику-восходу, чтобы подстраховать себя от того, что просплю. Например, я установил будильник на 5 утра, максимально ярко он будет гореть в 5:20. На случай, если я не проснусь, также на 5:20 установлен звуковой будильник на телефоне. Затем я точно просыпаюсь, занимаюсь утренними делами и в 5:40 будильник сам выключается.
Режимы свечения включают:
- Сплошное свечение желтым\оранжевым, настроенное примерно на цветовую температуру восхода
- Несколько разных оттенков желтого\оранжевого, оранжевого\красного — эффект меняющихся цветов восхода солнца
- Эффект радуги. Изменяется через настройки RGB, посылаемые на светодиоды
- Несколько различных двуцветных эффектов, которые медленно переходят один в другой через светодиоды.
Теперь и у вас будет стильный будильник-восход на светодиодах, который поможет вам приятно вставать по утрам!
ФайлыDS3231 подключение
Сегодня я расскажу, как подключить модуль часов реального времени RTC DS3231 и вывести результат на экран дисплея NOKIA 5110. Это второй урок про этот дисплей и если вы не смотрели первый, то вам будет труднее разобраться.
Модуль часов точного времени RTC DS3231.
В этом уроке мы познакомимся.
С самим модулем.
Научимся устанавливать и записывать в него, время, день, месяц и год.
Считывать данные из памяти и разбивать их на значения, чтобы можно было выводить их на экран дисплея.
Покажу как вывести свой шрифт на экран.
Как это сделать я рассказывал в прошлом уроке.
Посмотрим, что получилось.
Видео я ускорил в 5 раз, чтобы был лучше виден результат, так что двоеточия мигают быстрее чем на самом деле.
В нашей жизни мы уже не можем представить себя без того, чтобы не знать сколько сейчас времени.
Часы есть у каждого. Они могут быть в телефоне, в фитнес браслете или просто наручные. Дома тоже куда не глянь везде часы. В бытовой технике они встроены так чтобы видеть который час.
Но есть и скрытые часы.
Они могут быть в телевизоре, электроплите и других гаджетах.
Служат для включения и отключения по времени или по таймеру.
Во многих проектах Ардуино требуется отслеживать и фиксировать время.
Модуль часов реального времени RTC DS3231 лучше всего подходит для этой работы.
Он оснащён дополнительной батареей которая, позволяет хранить текущую дату, не завися от наличия питания на самом устройстве.
Так как модуль работает от автономного питания – батареек, аккумуляторов, и продолжают проводить отсчёт, даже если на Ардуино отключилось питание.
Модуль часов реального времени RTC DS3231 позволяет устанавливать и считывать:
- Секунды,
- минуты,
- часы,
- дни,
- недели,
- месяцы и годы,
- а также температуру.
Дата, по окончании месяца, автоматически подстраивается для месяцев, у которых дней меньше 31, включая учёт февраля и коррекцию дней для високосного года.
Модуль часов может работать в 24-чaсoвoм, или в 12-чaсoвoм формате с индикатором AM/PM.
Есть два программируемых по времени будильника, и программируемый выход прямоугольного сигнала.
Адрес и данные передаются последовательно через двунаправленную шину I2C или по-другому она называется TWI.
Что может модуль.
- Установить календарь до 2100 года с учётом високосных лет
- Выбор режимов 12(AM/PM) или 24-часового режима
- Возможность настроить 2 будильника
- Использовать в качестве генератора прямоугольных импульсов
- Измерять температуру микросхемы. Она практически не нагревается поэтому можно сказать, что она равна температуре окружающей среды.
На основе этого модуля можно построить .
- Часы,
- будильник,
- секундомер,
- таймер,
- генератор прямоугольных импульсов,
- термометр,
- включать/выключать внешние устройства по расписанию.
Для удобного использования контакты расположены с двух сторон платы.
Если вам интересно, то можно посмотреть моё видео, где я делал часы с кукушкой. Там был использован индикатор TM1637, а для вывода звуков кукушки я использовал мп3 плеер.
Если модуль питается от платы Arduino, то он не использует батарею на модуле. При питании от батарейки модуль отслеживает дату и время, но не работает с шиной I2C.
При отсутствии обоих источников питания модуль прекращает работать и сбрасывает все данные в заводские настройки.
С резервной батарейкой часы способны проработать несколько лет.
Группы контактов
Группы контактов — J1
- 32K: выход генератора, частота 32 кГц
- SQW: Выход прямоугольного(Square-Wave) сигнала.
- SCL: Serial CLock — шина тактовых импульсов интерфейса I2C
- SDA: Serial Data — шина данных интерфейса I2C;
- VCC: «+» питание модуля
- GND: «-» питание модуля
Группы контактов — J2
- SCL: линия тактирования (Serial CLock)
- SDA: линия данных (Serial Data)
- VCC: «+» питание модуля
- GND: «-» питание модуля
Подключение модуля DS3231 RTC Arduino к шине I2C(например, для Arduino UNO, Nano, Pro Mini):
SCL → A5
SDA → A4
VCC → +5 В
GND → земля
Подключение происходит по двухпроводной шине I2C(TWI)
Выводы SDA и SCL подключаются к аналогичным выводам на Arduino
Питание VCC к +5 Вольт, а GND к GND на плате Arduino
Характеристики
- Микросхема: DS3231
- Рабочее напряжение: 3,3 В — 5 В.
- Потребляемый ток (в режиме ожидания): до 170 мкА.
- Потребляемый ток (во время передачи данных): до 300 мкА.
- Потребляемый ток (во время резервного питания, без передачи данных): до 3,5 мкА.
- Тактовая частота шины I2C: до 400 кГц.
- Рабочая температура: 0 … 70 °C.
- Точность хода: ±2 ppm (примерно ± 1 минута в год) при температуре от 0 до 40C
- внутренний термометр с диапазоном от −40…+85°C.
- Размер: мм 38 мм (длина) мм * 22 мм (Ш) мм * 14 мм (высота)
- Вес: 8 г
Для работы необходимо установить библиотеку DS3231. Скачать можно по ссылке в описании к видео.
В видео я подробно рассказываю как подключить этот модуль часов, объясняю что делает каждая строчка кода в скетче.
Большие настенные часы с автояркостью на Arduino — Инструкции
Понадобилось как-то сделать большие настенные часы с автоматической яркостью.
Такие часы отлично подойдут для больших помещений, например холл офиса или большая квартира.
Сделать такие большие настенные часы не представляет серьёзных сложностей при помощи данной инструкции.
Для оценки размера часов можно принять тот факт, что один сегмент часов будет размером с бумагу формата А4, что позволит легко использовать рамки для фотографий соответствующего размера.
Шаг 1. Составные части больших настенных часов.
Что я использовал для этого проекта :
Электроника :
- Arduino nano V3.0 — 2.9 доллара на ebay
- Цифровой сенсор интенсивности света для ардуино — 0.99 доллара на ebay
- DS3231 AT24C32 IIC Module модуль часов реального времени для ардуино — 0.99 доллара на ebay
- DC-DC преобразователь LM2596 — 0.90 доллара на ebay
- 4 метра светодиодной ленты WS2811 30 светодиодов на метр — 12 долларов на aliexpress (1 WS2811 IC control 3 LED Chip) самое дорогое
Итого стоимость электроники : 17.78 доллара.
Дополнительно :
- Термоусадочная трубка
- Макетные платы под пайку
- 3микропереключателя
- Припой
- Флюс
- UTP кабель (расплетался на провода и использовался для внутренниз соединений, можно взять МГТФ или другой)
- LCD шрифт (//www.dafont.com/lcd-lcd-mono.font)
- Картон
- Лист полистирола, можно заменить другим видом пластика который будет под рукой.
Разные инструменты.
Шаг 2. Подготовка — шаблон цифр.
- печатаем шаблон
- вырезаем сегменты
- Скачайте и установите шрифт на LCD (//www.dafont.com/lcd-lcd-mono.font)
- Откройте ворд или другой текстовый редактор и создайте шаблон как на картинке со следующими параметрами:
- размер шрифта ~800,
- белый шрифт с черными контурами,
- серые прямоугольники по размеру светодиодной ленты
- Отпечатайте шаблон и вырежьте ножом серые прямоугольники (второе фото.
Шаг 3. Режем картон и светодиодные ленты.
Истпользуя наш шаблон для цифр вырезаем картон по размерам (не забудьте оставить место для точек между часами и минутами).
Если ваша лента светодиодов идет с коннекторами отпаяйте коннекторы и порежьте ленту по три светодиода.
Шаг 4. Прикрепляем ленты.
- Переведенные контуры
- прикрепленные ленты
Используя обведенный шаблон крепим ленты к картону как показано на рисунке.
Шаг 5. Паяем светодиодные ленты.
- Порядок пайки одной цифры
- общий вид запаянных лент
Теперь начнем долгую процедуру пайки.
Придерживайтесь порядка пайки, показанного на картинке. Паять следует с левой середины цифры, затем вверх, назад, вниз и направо. Потом переход к новой цифре. Для средних точек я использовал еденичные отрезки ленты, прикрывая серединки кусочками изоленты.
Я использовал следующие цвета для проводов
- Синий для земли
- Зеленый для данных
- Красный для Vcc (12v)
Шаг 6. Соединяем ардуино и модули на макетной плате.
- Таблица соединений
- Общий вид на макетке
На таблице схема соединений проводов и модулей, на следующем фото общий вид на беспаечной макетной плате.
Шаг 7. Тестируем светодиодную ленту.
Прежде чем загружать приведенный ниже скетч в ардуино не забудьте включить библиотеку FastLED.
Если все настроено как надо светодиоды начнут циклически менять свой цвет. Если что то пошло не так проверьте правильность соединений.
Сам скетч можно скачать тут.
Шаг 8. Программируем часы.
Немного повозившись, мне удалось получить часы, полностью удовлетворяющие моим потребностям. Я уверен что вам удастся сделать лучше моего.
Код хорошо прокоментирован и вам не составит труда в нём разобраться, сообщения отладки так-же прокоментированы очень хорошо.
Если вам нужно поменять используемый цвет настенных часов вам необходимо поменять переменную на строчке 22 ( int ledColor = 0x0000FF; // Color used (in hex)). Вы можете найти список цветов и их коды в hex на странице : //github.com/FastLED/FastLED/wiki/Pixel-refe…
Если у вас возникли проблемы при загрузке, используйте зеркало ://bit.ly/1Qjtgg0
Мой итоговый скетч можно скачать тут.
Шаг 9. Делаем цифры используя полистирол.
- Основание резака
- Рабочий орган резака
- Общий вид резака
- Результат работы резака
Разрежьте каждый сегмент в шаблоне, напечатаетанного в начале.
Полистирол можно разрезать острым ножом, что довольно трудно, либо нехитрым приспособлением из нихромовой проволоки или гитарной струны и нескольких отрезков ОСБ-плиты.
Вы можете видеть, как это сделал я в изображениях выше.
Для того, чтобы запитать резак я использовал 12v блок питания.
В результате отрезаний должны получиться четыре сегмента для больших часов, один из которых показан на фото.
Шаг 10. Приклеиваем цифры и закрываем всё рассеивателем. Итоговые большие настенные часы.
DIY Часы Arduino Uno | Джейкар Электроникс
Скачать ресурсы проекта Посмотреть на Гитхабе
Это простая в сборке конструкция — всего одна основная плата и два экрана, но при этом получается полностью функциональный, легко читаемый дисплей часов, который сохраняет время даже при отключении от источника питания. Вы можете оставить его на своем столе, подключенным к USB-порту на вашем компьютере, чтобы он включался всякий раз, когда компьютер включен.
Компоненты
Соединения
Все соединения выполняются с помощью межблочных соединений на шилде, но важными контактами являются следующие:
Штифт | Функция |
---|---|
А4(ПДД) | Данные 12С |
А5(СКЛ) | 12C Часы |
Д10 | Выбор SD-карты |
Д11 | Ведущий вход Ведомый выход |
Д12 | Master Out Slave In |
Д13 | Серийные часы |
А0 | Кнопки |
Д4 | Бит 0 данных LCD (в 4-битном режиме) |
Д5 | Бит данных LCD 1 (в 4-битном режиме) |
Д6 | Бит данных LCD 2 (в 4-битном режиме) |
Д7 | Данные ЖК-дисплея, бит 3 (в 4-битном режиме) |
Д8 | ЖК-дисплей Выбор регистра |
Д9 | Включение ЖК-дисплея |
Сложите экраны, сначала экран журнала данных на Uno, затем экран ЖК-дисплея на экран журнала данных.Убедитесь, что у вас установлена библиотека RTClib. В проекте также используются библиотеки Wire и LCD, но они входят в состав Arduino IDE.
Скомпилируйте и загрузите код на плату, и часы должны показывать время и дату (что, вероятно, неправильно). Часы можно настроить, нажав кнопку выбора, затем влево и вправо, чтобы выбрать поле для редактирования, и вверх и вниз, чтобы настроить поле. Секунды можно установить только на ноль, а не увеличивать или уменьшать. Нажмите кнопку выбора еще раз, чтобы вернуться в режим часов.
Улучшения
С добавлением модуля зуммера код можно изменить, чтобы он работал как будильник. После того, как часы установлены, эскиз на основной плате можно изменить, чтобы кнопки можно было перепрограммировать для выполнения различных функций, таких как таймер обратного отсчета.
12-многонациональные цифровые часы на Arduino UNO
Комментируйте ошибки или исправления, найденные для этой схемы, и получите шанс выиграть по-крупному!Наличие 12 многонациональных цифровых часов очень распространено в вестибюле / на стойке регистрации звездных отелей, которые показывают время и даты нескольких стран, из которых прибывает большинство гостей, чтобы остановиться в отеле.Одной из общих черт этих часов является то, что они представляют собой величественно выглядящие элегантные часы с циферблатом!
Я попытался реализовать эту функцию, используя дешевый микроконтроллер ATMega-328, также известный как минимальный микроконтроллер Arduino UNO [который вряд ли стоит 3 доллара за штуку], несколько дешевых TFT-дисплеев 128*128 и RTU DS3231.
Принцип действия:
DS3231 — это очень точный RTU со встроенным датчиком температуры для настройки тактовых частот для коррекции температуры. Он поддерживает очень точные тайминги в течение длительного времени.DS3231 подключается к шине I2C.
Каждый TFT ILI9163 представляет собой цветной дисплей с разрешением 128 * 128 точек, работающий на шине SPI вместе с контактом Reset и AO, и для завершения соединения с Arduino ему требуется только один дополнительный контакт GPIO на каждый дисплей. В этом суть этих дешевых, но универсальных цифровых часов для нескольких стран, а стоимость системы с 12 дисплеями составляет 46 долларов.
Посмотрим, как?
Каждый TFT ILI9163 работает от 5 вольт / 3,3 вольта и имеет следующие контакты — VCC, GND, LED, CS, RST, AO, SDK и SCK.Из этих контактов VCC, GND, LED являются общими. Остальные контакты могут быть общими в зависимости от выбора.
ILI9163 Штифты | Характер штифтов | штифты UNO | |||
Дисп-1 | Дисп-2 | Дисп-3 | Дисп-4 | ||
ВКЦ | 5 В / 3,3 В | 5 В / 3,3 В | |||
Земля | Только заземление | Земля | |||
Светодиод | 5 Вольт/3.3 вольта | 5 В / 3,3 В | |||
КС | Должны быть разные контакты для каждого дисплея | А1 | А2 | А3 | Цифровой контакт 2 |
Сброс | Может быть общим или RES выводом UNO | Штырь РЭС UNO | |||
АО | Могут быть общими или разными контактами. | А0 | |||
ПДД | Фиксированный вывод для всех дисплеев | Цифровой контакт 11 | |||
СКК | Фиксированный вывод для всех дисплеев | Цифровой контакт 13 |
Штифты DS3231 | Штифты UNO |
ВКЦ | 5 В |
Земля | Земля |
СКЛ | А5 |
ПДД | А4 |
Используя приведенные выше таблицы, можно увидеть, что помимо 5 фиксированных/специфических контактов, для каждого контакта UNO можно создать один дисплей для конкретной страны.Нравится – A1, A2, A3, D2, D3, D4, D5, D6, D7, D8, D9, D10
Всего на одном UNO можно создать 12 различных национальных часов!
* D0, D1 и D12 использовать нельзя, так как это контакты специального назначения.
Схема: [для 4-х дисплеев многонациональных часов]
12-Multi National Digital Clock SchematicsЧтобы добавить дополнительные дисплеи, просто повторите соединения.
Спецификация и цена за 4 дисплея с часами для разных стран
1 * DS3231 — 1 долл. США
1 * ATMEGA328 / UNO — 3 долл. США
4 * 128*128 TFT [ILI9163] — 14 долл. [3 долл. США.5 за штуку ]
—————————————————
Для 4-х дисплейных многонациональных часов = 18 долларов США; Часы для нескольких стран с 12 дисплеями = $46
—————————————————
Схема показана для 4 дисплеев многонациональных часов. Чтобы увеличить количество дисплеев до 12, достаточно добавить столько дисплеев, повторить соединения и внести необходимые изменения в эскиз.
Программное обеспечение
Прототип
Вот я только что собрал часы с двумя дисплеями. Чтобы добавить больше дисплеев, просто следуйте эскизу, повторите подключение дисплея и внесите необходимые изменения в эскиз программы, и вы сможете быстро построить свои 12-страновые часы.
Загрузить
исходную папкупервых шагов с Arduino-UNO и NANO | Maker, MakerED, MakerSpaces, Программирование | Аналогово-цифровые часы с использованием Arduino NANO + RTC DS3231 + 0,96-дюймовый 128X64 I2C OLED
.
.
МЫ уже играли с <===> Монитор температуры и влажности, используя Arduino NANO + DHT22 + 0,96-дюймовый 128X64 I2C OLED <===> https://gustmees.wordpress.com/2019/08/26/first-steps-with-the-arduino-uno-and-nano-maker-makered-makerspaces-coding-temporary-humidity-monitor-using-arduino-nano-dht22-0- 96-дюймовый-128×64-i2c-oled/ <===> который отображает температуру в ° F И ° C, а также отображает « Heat Index ».
На этот раз МЫ создадим «аналогово-цифровые часы », используя RTC DS3231 + 0,96-дюймовый 128X64 I2C OLED. Это довольно легко реализовать: всего несколько соединений для проводки и копирование и вставка существующего эскиза (кода)..
.
.
Это очень просто, просто скопируйте и вставьте эскиз (код) по указанному ниже адресу.
Пожалуйста, перейдите по ссылке ниже:
Возможно, вам потребуется добавить определенные библиотеки, пожалуйста, смотрите ниже, какие из них ПОЛУЧАЮТСЯ.
.
ЕСЛИ вы новичок, ознакомьтесь с приведенным ниже руководством для получения инструкций:
.
Подключите все устройства, как показано ниже:
.
Для тех, кто быстро завершает проект и/или любопытных: найдите ниже мою подборку, пожалуйста, о проектах с OLED:
.
L’Auteur |
L’Auteur |
L’Auteur Gust Mees EST Форматеур Andragogique / Pédagogique Tic , Membre du «Comité Conseil» de «Люксембург безопаснее Интернет» (LUSI), Appelé Maintenant Beesecure, Partenaire Official (консультант) Du Ministère de l’éducation au luxembourg du projet « mysecuret «, Partenaire Official du Ministère du Commerce Au Luxembourg du Projet « Cass » ( C Yberworld A УВД и S Elberese E E S структура).. Автор Gust MEES – Инструктор курсов по ИКТ , ” Член Консультативного совета ” от «Luxembourg Safer Internet » (LuSI), Официальный партнер Министерства 3 090 (консультант ) Образование в Люксембург , проект « mysecureit «, официальный партнер Министерства коммерции года в Люксембурге , проект « случаев » ( C yberworld A Увеличение и S Eltserition E Nhancement S структура). |
.
Следите за новостями в блоге 😉
.
.
.
Нравится:
Нравится Загрузка…
Родственные
Сборка часов на Arduino
ВведениеСобрать часы с помощью Arduino проще, чем вы думаете. Все, что вам нужно для начала, — это макетная плата Arduino и какой-нибудь дисплей, желательно с не менее чем восемью символами.Я буду использовать плату Arduino Uno с ЖК-дисплеем Sparkfun 16×2. Чтобы установить время на Arduino, мы будем отправлять временную метку Unix по последовательному порту с помощью последовательного монитора Arduino IDE.
Список покупокДля этого проекта вам понадобятся следующие предметы. Все они легко доступны в любом хобби-магазине или в Интернете.
- 1 Ардуино Уно
- 1 Символьный ЖК-дисплей 16×2
- 1 макетная плата
- 1 USB-кабель
- 1 Потенциометр
- 1 Резистор 220 Ом
- Несколько перемычек
Посмотрите на приведенную ниже схему подключения ЖК-дисплея к Arduino Uno.Это может показаться немного запутанным, но это очень прямолинейно. Шесть перемычек соединены от контактов на дисплее к разъемам Arduino. Земля подключена три раза на дисплее; +5В один раз, а 220Ом +5В подключаются один раз.
Потенциометр подключен к земле и +5 В, средний контакт подключен к 3-му контакту или слева на дисплее. Потенциометр используется для управления контрастностью дисплея, чтобы символы были читаемыми.
Дисплей должен быть подключен к контактам 2, 3, 4, 5, 11 и 12 на Arduino.
Код ArduinoВ этом проекте мы будем использовать две разные библиотеки. Одной из них является библиотека LiquidCrystal, которая поставляется вместе с Arduino IDE. Вторая библиотека — это Time Library, созданная Майклом Марголисом. Как следует из двух названий, LiquidCrystal будет использоваться для управления дисплеем, а Time — для отслеживания времени.
Я расскажу об основных частях кода Arduino; тем не менее, проверьте загрузку для полного файла кода, который полон комментариев!
Установить библиотеку времениБиблиотека времени не поставляется вместе с Arduino IDE.Скачать библиотеку с
Что теперь?Поздравляем с созданием ваших первых часов Arduino! Но что теперь? Теперь, когда вы знаете, как определять время с помощью Arduino, вы можете создавать более интеллектуальные устройства Интернета всего (IoE), которые знают время. Автоматизируйте жалюзи в вашем доме, чтобы они открывались и закрывались в определенное время суток. Создайте что-то мощное, что действительно привлечет внимание людей!
Ссылки/ресурсы# # #
.