Оглавление:

TTGO T-Watch: 9 шагов (с изображениями)
TTGO T-Watch: 9 шагов (с изображениями)

Видео: TTGO T-Watch: 9 шагов (с изображениями)

Видео: TTGO T-Watch: 9 шагов (с изображениями)
Видео: TTGO T-Block - платформа для разработки на ESP32 с круглым дисплеем (GC9A01) 2024, Ноябрь
Anonim
Image
Image
TTGO T-часы
TTGO T-часы

В этой инструкции показано, как начать играть с TTGO T-Watch.

Шаг 1: Что такое TTGO T-Watch?

Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?
Что такое TTGO T-Watch?

TTGO T-Watch - это набор для разработки на базе ESP32 в форме часов. 16 МБ флэш-памяти и 8 МБ PSRAM являются высшей спецификацией. Он также оснащен ЖК-дисплеем IPS 240x240, сенсорным экраном, портом для карты micro-SD, портом I2C, RTC, 3-осевым акселерометром и настраиваемой кнопкой. Объединительную плату также можно переключить на другие модули, такие как LORA, GPS и SIM.

Но самое главное, что они могут стать удобными часами, - это система питания. Он интегрировал многоканальный программируемый чип управления питанием AXP202. Я впервые вижу комплект разработчика, в котором есть управляемая микросхема питания I2C!

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

Ссылка:

github.com/Xinyuan-LilyGO/TTGO-T-Watch

Шаг 2: простые часы PoC

Простые часы PoC
Простые часы PoC

Микросхема питания вроде неплохая, но на сколько хватит встроенной батареи на 180 мАч?

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

Шаг 3: Дизайн циферблата

Дизайн циферблата
Дизайн циферблата

ESP32 - очень мощный чип, двухъядерный процессор 240 МГц и скорость SPI 80 МГц позволяют создать очень плавную компоновку дисплея. Так что я разработал приличный циферблат с секундной стрелкой непрерывного движения.

Однако сложность конструкции неожиданно высока, последнюю секундную стрелку нелегко убрать, не моргнув. Я испробовал 4 дополнительных метода, чтобы сделать это. На приведенных выше изображениях показана неудачная перерисовка, в которой на экране остались не удаленные пиксели последней секунды. О дизайне циферблатов можно сказать много слов, но немного за пределами этого проекта. Возможно, я смогу больше рассказать о пути к дизайну в следующих моих инструкциях, он должен называться «Arduino Watch Core».

Шаг 4: Установите время

T-Watch имеют встроенный чип RTC, что означает, что они могут сохранять время между сбросами во время разработки. Прежде чем он сможет отследить время, мы должны сначала установить время.

Есть несколько способов установить время:

  • ESP32 имеет возможность Wi-Fi, поэтому вы можете синхронизировать время с NTP
  • аналогично другим электронным устройствам, таким как цифровая камера, вы можете написать пользовательский интерфейс, чтобы установить время
  • вы можете использовать объединительную плату GPS, тогда вы можете получить время со спутника

Чтобы упростить, это все еще ленивый способ установить время, вы можете найти его в некоторых примерах часов TFT. Когда вы компилируете программу в Arduino, препроцессор определил 2 переменные «_DATE_» и «_TIME_» для записи времени компиляции. Мы можем использовать эту информацию, чтобы сделать очень простую программу для установки времени RTC.

Примечание:

Эта простая программа всегда устанавливает время при загрузке. Но время компиляции действительно только при первой загрузке, поэтому вы должны перезаписать его другой программой, как только она установит время успеха.

Ссылка:

gcc.gnu.org/onlinedocs/cpp/Standard-Predef…

Шаг 5: Потребляемая мощность

Потребляемая мощность
Потребляемая мощность
Потребляемая мощность
Потребляемая мощность

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

Если я выключу подсветку ЖК-дисплея и вызову режим глубокого сна ESP32, он упадет примерно до 7,1 мА. Срок службы аккумулятора 180 мАч составляет около 1 дня.

Я знаю, что ЖК-чип потребляет около 6 мА. Согласно техпаспорту ST7789 есть команда перехода в спящий режим. Но текущая библиотека TFT_eSPI еще не имеет API спящего режима.

А еще где-то потребляется еще около 1 мА.

Шаг 6: Программируемый чип управления питанием

Image
Image
Программа
Программа

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

Как насчет прямого отключения питания, как при прямом нажатии кнопки питания? AXP202X_Library может сделать это, просто вызвав функцию shutdown (). В режиме отключения он потребляет лишь немного ниже 0,3 мА. При аккумуляторе на 180 мАч его хватит на 25 дней!

Примечание:

Я только что зарядил аккумулятор 28 июня. Следите за моим твиттером, чтобы узнать последний статус аккумулятора.

Обновлять:

Аккумулятор разряжен 18 июля, аккумулятора может хватить на 20 дней. В течение периода, когда я проверяю время несколько раз в день, я предполагаю, что при нормальном использовании часы могут прослужить 1-2 недели.

Ссылка:

github.com/lewisxhe/AXP202X_Library/pull/2

Шаг 7: программа

  1. Следуйте инструкциям на странице https://github.com/Xinyuan-LilyGO/TTGO-T-Watch, чтобы установить программное обеспечение и библиотеку.
  2. Загрузите исходный код на GitHub:
  3. Откройте, скомпилируйте и загрузите Set_RTC.ino, чтобы обновить дату и время RTC.
  4. Откройте, скомпилируйте и загрузите Arduino-T-Watch-simple.ino
  5. Выполнено!

Простая программа для часов подойдет:

  • читать дату и время RTC
  • рисовать метку часов (можно выбрать круглую или квадратную метку часов)
  • показать секундную стрелку непрерывной развертки
  • выключение питания через 60 секунд (или вы можете удерживать кнопку питания для мгновенного выключения)
  • нажмите кнопку питания, чтобы включить его снова

Шаг 8: Удачного программирования

Удачного программирования!
Удачного программирования!

TTGO T-watch может делать гораздо больше, чем простые часы, например.

  • ESP32 может обеспечивать беспроводную связь Wi-Fi и BT
  • использование сенсорной панели позволяет разработать более привлекательный интерфейс.
  • встроенный трехосевой акселерометр (BMA423), встроенный алгоритм счетчика шагов и другой многофункциональный GSensor
  • сменная объединительная панель может добавить LORA, GPS, функцию SIM
  • Порт I2C может расширять гораздо больше функций

Шаг 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simple требует нажатия и удерживания крошечной кнопки питания для пробуждения и первоначального ввода ЖК-дисплея с задержкой в несколько секунд. Так что пользовательский опыт не так хорош.

Я добавил еще одну программу под названием Arduino-T-Watch-GFX, чтобы улучшить это. Эта программа изменяет использование библиотеки дисплея Arduino_GFX, затем она может сообщить дисплею о переходе в спящий режим для экономии энергии. Поэтому, когда ESP32 переходит в режим легкого сна, он теперь потребляет менее 3 мА. А также теперь он может запускать пробуждение касанием экрана. Пробуждение ESP32 и отключение дисплея происходит намного быстрее, чем весь процесс перезагрузки, вы можете видеть на видео выше, это почти мгновенный ответ. Теоретически батарея должна работать более 2 дней: P

Рекомендуемые: