Звичайні дисплеї просто показують інформацію. Але якщо додати трохи логіки та анімації — пристрій починає “оживати”. У цьому проєкті ви зберете 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, ви отримаєте компактний пристрій із “живим” інтерфейсом, який реагує на рух і може використовуватися як самостійний гаджет або основа для інших проєктів.
Проєкт легко масштабується: можна додати нові емоції, сценарії поведінки або інтеграцію з іншими пристроями.
Будь-які питання щодо проєкту ви можете написати в коментарях.





Коментарі до статті
Поки що немає коментарів. Будьте першим!
Додати коментар