Обычные дисплеи просто показывают информацию. Но если добавить немного логики и анимации — устройство начинает “оживать”. В этом проекте вы соберёте EyeBox Smart Display — компактный девайс на ESP32 с анимированными глазами, который реагирует на движение, отображает эмоции, а также может показывать время и температуру.
Устройство работает автономно и может использоваться как настольный гаджет, элемент умного дома или основа для более сложных проектов.
Что получится в итоге
- Интерактивный дисплей с “живыми” глазами
- Реакция на наклон (акселерометр)
- Отображение времени
- Отображение температуры
- Плавные анимации и состояния
- Готовый корпус для 3D-печати
Как это работает
ESP32 управляет всей логикой устройства и отрисовкой графики на дисплее.
Анимация глаз реализована через систему состояний:
- в зависимости от положения устройства (наклон, переворот, покой) меняется выражение и поведение “глаз”
- Акселерометр отслеживает ориентацию в пространстве и передаёт данные в контроллер
Дисплей отображает:
- анимации
- время (при повороте вправо)
- температуру (при повороте влево)
Вся логика работает в реальном времени, без подключения к внешним устройствам.
Используемые компоненты
- ESP32-S3 Zero — микроконтроллер
- TFT дисплей ST7789 (240×240) — вывод графики
- Акселерометр MPU6050 — определение движения
- Модуль часов DS1307 — сохраняет время при отключении питания
- Питание — через USB Type-C
3D корпус
Для проекта предусмотрен корпус, который можно скачать на Thingiverse и распечатать на 3D-принтере.
Корпус из 4 частей:
- защищает электронику
- имеет крепления для модулей
- делает устройство завершённым
- не требует клея или винтов
Настройка TFT_eSPI
Для работы дисплея используется библиотека TFT_eSPI. Перед использованием необходимо отредактировать файл User_Setup.h (находится в папке библиотеки TFT_eSPI) и указать параметры дисплея.
Настройки:
#define USER_SETUP_INFO "ST7789 based on ST7735 wiring"
// ===================== ДРАЙВЕР =====================
#define ST7789_DRIVER
// ===================== РАЗРЕШЕНИЕ =====================
#define TFT_WIDTH 240
#define TFT_HEIGHT 240
// ===================== HSPI =====================
#define USE_HSPI_PORT
#define TFT_MOSI 4
#define TFT_SCLK 5
#define TFT_CS 3
#define TFT_DC 6
#define TFT_RST 2
#define TFT_MISO -1
// ===================== ПОДСВЕТКА =====================
#define TFT_BL -1
// ===================== SPI =====================
#define SPI_FREQUENCY 27000000
#define SPI_READ_FREQUENCY 20000000
// ===================== ШРИФТЫ =====================
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
Сборка
Код основного скетча возьмите из файла ESP32S3-Axel.ino на GitHub. Создайте в проекте файл Eyes.h и перенесите в него соответствующий код. В файле Eyes.h можно настроить внешний вид глаз и параметры анимации.
Далее:
Загрузите прошивку
Подключите:
— дисплей ST7789
— акселерометр MPU6050
— модуль часов DS1307
Проверьте работу анимации
Соберите устройство в корпус
Где можно использовать
- Настольный гаджет
- Декоративный элемент
- Интерфейс для IoT устройств
- Основа для робота или персонажа
- Подарок для любителей электроники
Советы по сборке
- Проверьте правильность подключения дисплея
- Убедитесь, что питание стабильное
- Корректно настройте ориентацию акселерометра
- Оптимизируйте обновление экрана для плавной анимации
Если что-то не работает
Нет изображения
Проверьте подключение дисплея и настройки TFT_eSPI
Нет реакции на движение
Проверьте подключение акселерометра
Анимация работает нестабильно
Проверьте питание и частоту обновления
Итог
Собрав EyeBox Smart Display, вы получите компактное устройство с “живым” интерфейсом, которое реагирует на движение и может использоваться как самостоятельный гаджет или основа для других проектов.
Проект легко масштабируется: можно добавить новые эмоции, сценарии поведения или интеграцию с другими устройствами.
Любые вопросы по проекту вы можете написать в комментариях.





Комментарии к статье
Пока нет комментариев. Будьте первым!
Добавить комментарий