Ардуино рисует время

OLED часы на arduino

На днях я решил создать часы на arduino с отображением времени, текущей даты, дня недели и температуры воздуха на OLED дисплее. Что из этого получилось смотрите на видео.

Список необходимых компонентов:

и загружаем первый пробный скетч для проверки работоспособности дисплея и часового модуля

после загрузки скетча у нас на дисплее отобразятся часы как на фото

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

и еще добавить строки которые помогут нам определить порядковый номер дня недели и отобразить название дня на русском языке.

и еще закомментируем строки

что бы при повторной загрузке скетча не устанавливать заново время. После этого день недели на нашем дисплее отобразится на русском языке.

теперь изменим отображения месяца, добавив в скетч строки

Почему надписи в скетче отображаются непонятным набором символов читайте в этой статье Русские и украинские шрифты для OLED I2C дисплея

Теперь наши часики будут выглядеть как на фото.

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

Ну а теперь, еще более усовершенствуем наши OLED часы и добавим к ним отображение температуры, которую мы будем считывать с датчика температуры DS18B20.

Для отображения рисунка с градусником на OLED дисплее и значка градуса выберем картинку с рисунком градусника и с помощью графического редактора сохраним ее в формате GIF с именем term.gif, и тоже самое проделаем с картинкой с значком градуса — сохраним ее как grad.gif.

картинки должны быть двухцветными (белый и черный), доступные форматы картинок png, jpg, gif

У меня картинка term.bmp имеет размеры 19×40 пикселей, а картинка grad.bmp 13×12 пикселей. Потом нам потребуется конвертировать две картинки с помощью онлайн-сервиса www.rinkydinkelectronics.com

выбираем наш файл изображения и жмем Make File

Жмем на Click here to download your file и сохраняем файл grad.c в папку с нашим скетчем, тоже самое проделываем с другим изображением. Сохраняем и закрываем скетч. При повторном открытии он будет иметь еще две вкладки с файлами изображений.

После этого добавим две строки в скетч, которые инициализируют наши файлы изображений

а потом отобразим наши изображения на экране OLED дисплея, добавив строки

Добавим в наш скетч на два цикла. В первом цикле у нас будет отображаться время – назовем его void watch(); Второй цикл будет считывать и отображать температуру void temp();

А в основном цикле void loop(); пропишем для ротации циклов несколько строчек кода

В цикле void temp(); пропишем кусочек кода для считывания и отображения температуры

В цикле void watch(); пропишем наш код, который отвечает за отображение времени

После заливки скетча, наши OLED часы сначала должны отображать время, а потом температуру как на видео в начале статьи.

Источник

Часы, пишущие время маркером

Мастер Кит MB NANO DK NANO

Очередная безумная поделка выходного дня – настоящие часы, пишущие время маркером.

Эта идея была подсмотрена в Интернете. Самобытные мастера и умельцы со всего мира вырезают эту конструкцию из листового акрилового пластика. Мастер Кит нарисовал 3D-модели всех акриловых деталей, и теперь эти безумные часы можно напечатать на вашем 3D принтере.

Итак, сегодня вам понадобятся:

  1. MB NANO – Arduino NANO.
  2. DK NANO – плата-расширения для Arduino Nano и Arduino Pro. Можно обойтись и без неё, но это будет очень неудобно. Придется как-то подводить питание для сервомашинок.
  3. Три сервомашинки.
  4. Маркер для доски.
  5. Пять винтов М3 и две гайки.
  6. Несколько деталей распечатанных на 3D принтере.

Всё. Один субботний вечер, и ваши друзья будут в шоке.

Все stl-файлы и скетч для Arduino можно скачать с нашего сайта. Ниже скетчи всех деталей.

Это «сборочный» чертеж:

Рекомендации по сборке и настройке

1) Напечатайте на 3D принтере все детали из stl-файлов.

2) Шарниры соединяются винтами М3, которые свободно продеваются через отверстие 3.6 мм в одной детали и вкручиваются как саморезы в отверстие 2.5 мм во второй детали с небольшим зазором для свободного вращения.

3) Сервомашинки подключаются к Arduino так: Лифт – вывод 2, левый сервомоторчик – вывод 3, правый сервомоторчик – вывод 4. И это записано в скетче. Можно было бы начать с вывода 1, но там сигнал TX. При включении и инициализации моторчик будет дергаться.

4) При монтаже сервомоторчиков постарайтесь установить их оси в среднее положение.

5) Залейте в Arduino Nano скетч. Он сразу начнет работать с режима калибровки #define CALIBRATION. (Удалите или закомментируйте эту строку после окончания калибровки). В этом режиме работают левая и правая машинка. Найдите строку #define SERVOFAKTOR 620. Меняя значение, добейтесь, чтобы при движении угол между качалками левой и правой сервомашинок всегда был 90 градусов. Теперь найдите строки #define SERVOLEFTNULL 1900 и #define SERVORIGHTNULL 984. Меняя значения в этих строчках, добейтесь, чтобы в крайне правом положении шарниры были параллельны осям X и Y. После этого можно выходить из режима калибровки. Дальше в скетче найдите строки высоты поднятия маркера над столом в разных режимах #define LIFT_____. Поэкспериментируйте с этими значениями. Добейтесь качественного стирания и письма. Дальше в скетче есть ещё несколько строк с переменными. На чертеже можно посмотреть, что это такое, и дополнительно подстроить движение. Может быть, добьетесь каллиграфического почерка.

6) К колпачку двухсторонним скотчем приклейте кусок ткани.

Источник

Plotclock или RoboCLOCK — Arduino-робот рисует маркером текущее время в режиме реального времени

Классические и цифровые часы постепенно уходят на второй план.

Немецкий дизайнер портала Thingiverse с ником Joo из Нюрнберга (также известен под именем Йоханес) разработал простого робота, который через определенные промежутки времени с помощью простого маркера отображает ход времени на миниатюрной классной доске. Элементы простого шарнирного механизма, в который установлен маркер, выполнены на 3D принтере. «Механические руки» робота стирают устаревшие значения прежде чем нарисовать снова, и каждый раз, когда робот завершает рисовать цифры, они соответствуют реальному времени (Рисунок 1).

Рисунок 1. Arduino-робот Plotclock рисует рисует последовательность цифр, отображающей текущее время в 24-часовом формате.

Основные характеристики:

  • Робот Plotclock, выполненный на платформе Arduino Uno, с помощью маркера в прямом смысле рисует на белой поверхности последовательность цифр, отображающих текущее время в 24-часовом формате;
  • Затем робот стирает с поверхности устаревшее значение, и рисует новые значения часов и минут;
  • Пластиковые элементы механической конструкции робота изготовлены на 3D принтере.

Механическая часть робота состоит из нескольких простых пластиковых элементов и механизмов, соединенных между собой с помощью болтов и гаек размера M3. Управление движениями механической руки осуществляется с помощью платы Arduino Uno и трех серводвигателей (Рисунок 2).

Рисунок 2. Для управления «механической рукой» робота Plotclock используются три серводвигателя и плата Arduino.

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

Для сборки Plotclock пользователям потебуется:

  • Лазерный резак или 3D принтер
  • Плата Arduino Uno
  • Три серводвигателя 9G
  • Маркер для сухостираемых досок
  • Небольшая белая пластиковая поверхность
  • Болты и гайки M3, лента для уплотнения резьбовых соединений.

Демонстрационное видео

Перевод: Vadim по заказу РадиоЛоцман

Источник

Эти часы пишут время…

Очередная безумная поделка выходного дня – настоящие часы, пишущие время маркером.
Эта идея была подсмотрена в интернете. Самобытные мастера и умельцы со всего мира вырезают эту конструкцию из листового пластика типа акрил. Мастер Кит нарисовал 3D-модели всех акриловых деталей и теперь эти безумные часы можно напечатать на вашем 3D принтере.

Итак!

Сегодня вам понадобятся:

1. MB NANO — Arduino NANO
2. DK NANO — Плата-расширение для Arduino Nano и Arduino Pro. Можно и без неё но очень не удобно. Придется как-то подводить питание для сервомашинок.
3. Три сервомашинки
4. Маркер для доски
5. Пять винтов М3 и две гайки.
6. Несколько деталей распечатанных на 3D принтере.

Всё! Один субботний вечер и ваши друзья будут в шоке!

Все stl-файлы и скетч для Arduino можно скачать с нашего сайта.

Ниже скетчи всех деталей.

Это «сборочный» чертеж:

Рекомендации по сборке и настройке.

1. Напечатайте на 3D принтере все детали из stl-файлов
2. Шарниры соединяются винтами М3, которые свободно продеваются через отверстие 3,6 мм в одной детали и вкручиваются как саморезы в отверстие 2,5 мм во второй детали. С небольшим зазором для свободного вращения. (фото 1)

3. Сервомашинки подключаются к Arduino так. Лифт — 2, левый сервомоторчик – 3, правый сервомоторчик – 4. И это записано в скетче. Можно было бы начать с 1-го вывода, но там сигнал TX. При включении и инициализации моторчик будет дергаться.

4. При монтаже сервомоторчиков постарайтесь установить их оси в среднее положение.
5. Залейте в Arduino Nano скетч. Он сразу начнет работать с режима калибровки >. (удалите или закомментируйте эту строку после окончания калибровки) В этом режиме работают левая и правая машинка. Найдите строку >. Меняя значение, добейтесь, чтобы при движении угол между качалкачалками левой и правой сервомашинок всегда был 90 градусов. Теперь найдите строки > и >. Меняя значения в этих строчках, добейтесь, чтобы в крайне правом положении шарниры были параллельно по осям X и Y. После этого можно выходить из режима калибровки. Дальше в скетче найдете строки высоты поднятия маркера над столом в разных режимах >. Поэкспериментируйте с этими значениями. Добейтесь качественного стирания и письма. Дальше в скетче есть ещё несколько строк с переменными на чертеже можно посмотреть, что это, и дополнительно подстроить движение. Может быть добьетесь каллиграфического подчерка).
6. К колпачку двухсторонним скотчем приклейте кусок ткани.

Источник

Adblock
detector