Рубрики
Схемы на Arduino

Умные часы (Smart Watch) на основе Arduino, OLED дисплея и смартфона

В этой статье мы рассмотрим создание умных часов (Smart Watch) на основе платы Arduino, OLED дисплея и смартфона на Android. На OLED дисплее мы будем показывать основную информацию со смартфона на Android, такую как время, дата, уровень сигнала и уровень заряда батареи. В дальнейшем этот проект умных часов на Arduino можно усовершенствовать, добавив вывод на экран OLED дисплея входящих звонков, сообщений и многого другого.

В этом проекте мы будем собирать необходимую нам информацию на смартфоне с помощью специального приложения для него и затем передавать эту информацию на OLED дисплей с помощью Bluetooth модуля и платы Arduino Pro Mini. Смартфоны на Android уже имеют в своем составе Bluetooth модуль, а для приема этой информации на плате Arduino мы можем использовать Bluetooth модули HC-05 или HC-06.

От приложения на Android данные передаются плате Arduino в виде строк. Плата Arduino декодирует принимаемые строки, записывает их во временные переменные и отображает на экране ЖК дисплея. Затем мы используем графические возможности OLED дисплея чтобы отображать эти данные в удобной форме. Если раньше вы никогда не работали с OLED дисплеями, то вначале рекомендуем прочитать статью о подключении OLED дисплея к плате Arduino.

Необходимые компоненты

  1. Плата Arduino Pro Mini (вы можете использовать и другие типы плат Arduino) (купить на AliExpress).
  2. 128×64 OLED display Module (SSD1306) – модуль OLED дисплея (купить на AliExpress).
  3. Bluetooth модуль HC05/HC06 (купить на AliExpress).
  4. Соединительные провода.
  5. 3.7v Li-On Battery (литий-ионная или литий-полимерная батарея) (купить на AliExpress).
  6. Перемычка (Jumper).

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Немного о принципах работы OLED дсиплея

Термин OLED расшифровывается как “Organic Light emitting diode”, что в переводе означает органический светоизлучающий диод. Подобные светодиоды применяются в большинстве телевизоров, выпускаемых в настоящее время. В данном проекте мы будем использовать монохромный 4-контактный OLED дисплей SSD1306 с диагональю 0.96”. Этот дисплей может работать только по протоколу I2C. Внешний вид данного дисплея и назначение его контактов показаны на следующем рисунке и таблице.

Наименование контакта Назначение контакта
VCC 3.3v
GND земля
SDA SDA (Physical pin 3)
SCL SCL (Physical pin 5)

Для работы с OLED дисплеями сообществом Arduino разработано множество библиотек, мы этом проекте применили одну из этих библиотек — Adafruit_SSD1306 Library. Она достаточно проста в использовании и имеет много возможностей для работы с графикой. Также в этом проекте нам понадобится еще одна библиотека, которую необходимо будет скачать и установить — GFX Graphics Library.

Работа схемы

Схема проекта умных часов на основе платы Arduino показана на следующем рисунке.

Внешний вид собранной конструкции проекта умных часов показан на следующем рисунке.

В представленной схеме плата Arduino Pro Mini используется для управления всеми операциями. Причиной, по которой мы выбрали для этого проекта именно плату Arduino Pro Mini, является то, что эта плата может работать от напряжения источника питания 3.3v. OLED дисплей и Bluetooth модуль HC-06 также могут работать от напряжения 3.3v, поэтому всю схему в нашем случае можно запитать от литий-ионной батареи на 3.7v. Подобная батарея отличается небольшим весом, поэтому она очень удобна для применения в различных носимых устройствах.

Но чтобы наша батарея на 3.7 В не повредила компоненты схемы, работающие от 3.3v, мы подаем напряжение от этой батареи на контакт raw платы Arduino pro mini и в дальнейшем в плате это напряжение преобразуется в напряжение 3.3v.

Приложение для Android для передачи данных Arduino при помощи Bluetooth

Специально для проекта этих умных часов мы создали приложение для Android в среде Android Studio, которое можно скачать по этой ссылке. После скачивания установите это приложение в свой смартфон на Android, включите Bluetooth и установите связь с модулем HC-06. По умолчанию пароль для HC-06 — 1234 или 0000. При желании вы можете использовать любое другое подобное приложение из магазина PlayStore.

На следующем рисунке показан пример работы данного приложения (оно называется OLED) когда оно установило связь с модулем HC-06.

Это приложение может показывать все основные параметры работы смартфона как показано на следующем рисунке.

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим его основные фрагменты.

Сначала скачайте и установите необходимые для работы программы библиотеки по следующим ссылкам:
1. Adafruit Library.
2. GFX Graphics Library.

Затем в программе необходимо подключить использование этих библиотек.

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

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

Также запрограммируем функцию для цифровых часов.

Далее на OLED дисплее мы будем отображать уровень заряда батареи в цифровой и графической форме с помощью следующей функции:

Следующая функция будет отображать уровень сигнала сети в цифровой и графической форме.

Затем в функции setup мы должны инициализировать все устройства, используемые в нашем проекте.

Затем в функции loop мы будем принимать данные от смартфона, декодировать их и давать команды на отображение необходимой информации на экране OLED дисплея.

Исходный код программы (скетча)

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

Видео, демонстрирующее работу схемы

22 ответа к “Умные часы (Smart Watch) на основе Arduino, OLED дисплея и смартфона”

Автор, здравствуйте. Нужна ваша помощь, можем ли где-то списаться?

да можно но приложение нельзя скачать!

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

какойто исходный код можно увидеть?
пробовал другие устройсства с андроидом 10 не помогло. других к сожалению нету

К сожалению, с исходным кодом приложения помочь не смогу, приложение же не мое

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

А что конкретно вы хотите изменить? Может быть, для этого будет достаточно изменения кода программы для Ардуино без изменения кода приложения

Да, можно применить без проблем, но для этого необходимо будет немного изменить код программы. У модуля at-09 другое название HM-10 и на нашем сайте вы можете прочитать статью о его подключении к плате Arduino. Соответственно, на ее основе вы можете изменить код программы для данного проекта умных часов

А можете сделать ещё под него , а то я не могу разобраться с этой темой.

У вас хотя бы получается подключить модуль at-09 к плате Arduino?

Здравствуйте! А как реализовать меню с обычными приложениями? К примеру «настройки», может Браузер какой-то если сильно заморочится. Так же интересует картинка цифирблата. Как её поставить?

Добрый день. Чтобы сделать меню с приложениями нужна будет плата с возможностями помощнее чем та плата Ардуино, которая использована в этом проекте. А циферблат сделать можно используя графические возможности используемого в проекте OLED дисплея. Наверняка такие проекты можно найти в сети с помощью поисковиков

да можно но приложение нельзя скачать!

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *