Добавить в корзинуПозвонить
Найти в Дзене
Герман Геншин

Я собрал e-ink фоторамку на Arduino и Google Antigravity — вот что получилось всего за неделю!

Всего неделю назад я впервые взялся за микроконтроллеры. С помощью Google Antigravity IDE, Arduino R4 WiFi и цветного e-ink дисплея мне удалось собрать электронную фоторамку всего за семь дней — быстрее, чем я сам ожидал. Успех проекта зависит от правильных компонентов Прежде чем браться за сборку, я внимательно изучал варианты — хотелось не переплатить и не прогадать с деталями. В итоге выбрал e-ink дисплей от Waveshare на семь цветов — идеальное решение для таких поделок. Конечно, картинка здесь не такая сочная, как у топового Waveshare E6, зато цена гораздо приятнее, а дисплей универсальный — подойдёт и для других моих будущих проектов. Компанию дисплею составил Arduino UNO R4 WiFi. В мои руки попал стартовый набор, но если повезёт достать только плату — не беда, достаточно докупить несколько проводков. Я выбрал эту версию из-за новой ESP32-S3 mini — подключать Wi-Fi стало проще простого, особенно если хочется делать что-то “умное”. Этот дуэт открывает море новых возможностей. Кон
Оглавление

Всего неделю назад я впервые взялся за микроконтроллеры. С помощью Google Antigravity IDE, Arduino R4 WiFi и цветного e-ink дисплея мне удалось собрать электронную фоторамку всего за семь дней — быстрее, чем я сам ожидал.

Успех проекта зависит от правильных компонентов

Прежде чем браться за сборку, я внимательно изучал варианты — хотелось не переплатить и не прогадать с деталями. В итоге выбрал e-ink дисплей от Waveshare на семь цветов — идеальное решение для таких поделок. Конечно, картинка здесь не такая сочная, как у топового Waveshare E6, зато цена гораздо приятнее, а дисплей универсальный — подойдёт и для других моих будущих проектов.

Компанию дисплею составил Arduino UNO R4 WiFi. В мои руки попал стартовый набор, но если повезёт достать только плату — не беда, достаточно докупить несколько проводков. Я выбрал эту версию из-за новой ESP32-S3 mini — подключать Wi-Fi стало проще простого, особенно если хочется делать что-то “умное”.

Этот дуэт открывает море новых возможностей. Конечно, можно было бы взять Raspberry Pi Zero 2 W — в комплекте с этим дисплеем сразу идёт GPIO-модуль для “малины”. Но мне хотелось погрузиться именно в C/C++ и освоить Arduino, а не добиваться результата только ради галочки.

К тому же Waveshare отлично поддерживает Arduino, у них хорошие библиотеки — так что мучиться с подключением и настройкой не пришлось.

Для этого дисплея в интернете масса готовых STL-моделей подставок для 3D-принтера, но мой Bambu Lab A1 mini не дружит с крупными деталями, поэтому быстро смоделировал простую подставку — с вырезом под шлейф и легким наклоном для удобства и красоты.

-2

Arduino UNO R4 WiFi

Arduino UNO R4 WiFi — это долгожданное обновление легендарной UNO R4. Новая версия наконец-то обзавелась встроенными модулями Wi-Fi и Bluetooth c базой на ESP32-S3 mini, 96 светодиодами на морде, современным USB-C, большей производительностью, расширенной памятью и кучей других приятных обновлений.

-3

Цветной E-Ink дисплей Waveshare 7,3"

Этот цветной e-ink экран от Waveshare отлично подойдёт для любых проектов на Raspberry Pi — просто подключайте к GPIO и создавайте свои гаджеты без головной боли.

Для меня, новичка в Arduino, это стало настоящим челленджем

С Raspberry Pi я знаком давно, как и с одноплатниками и 3D-печатью. Но с микроконтроллерами, признаться, до последней недели дел не имел вообще.

Начал я традиционно: подключил светодиод, заставил его мигать, покрутил яркость с помощью потенциометра. Обычно следующим шагом идут сенсоры, серво или термометр — но я решил не мелочиться и сразу взяться за приложение для работы с цветным e-ink и ESP32-S3 mini. Вышло сложно, но это только раззадорило — пришлось прокачиваться в новых темах на ходу.

-4

С помощью инструкции от Waveshare и пары проводков я быстро завёл дисплей — пример заработал с первой попытки. До этого пробовал оживить всё на “голом” ESP32-S3, но потерял там 3-4 часа безрезультатно.

А вот с Arduino всё встало на место буквально за пару минут. Вот он, главный плюс Arduino: разжёванные инструкции и понятная документация для чайников и не только.

Когда точно знаешь “куда какой провод вставить” по картинке — можешь не тратить время на пляски с проводами и заняться самым интересным — кодом.

Google Antigravity взяла на себя всю грязную работу

-5

Платы приехали ко мне 18 и 20 ноября, а сейчас уже 24-е — сижу и пишу этот текст. В момент, когда я только начал с проектом, как раз вышел Google Antigravity IDE — ощущение, что всё сложилось специально для меня!

Освоившись с основами, я запустил Antigravity и начал писать код. Если честно, основную часть работы выполнил как раз дуэт Antigravity + Gemini 3.0 Pro. Мне оставалось лишь вносить мелкие правки своими силами на C/C++ и, при необходимости, давать промпты AI. Вся рутинная тяжесть легла на плечи Google Antigravity.

И я был приятно удивлён, насколько быстро шёл процесс. Для прошивки использовал привычную Arduino IDE, весь основной код и доработки делал уже в Antigravity.

Почему на отладку ушло не пару часов, а несколько дней

-6

Честно говоря, даже не думал, что на отладку уйдёт столько времени. Казалось бы — приложение простое, что могло пойти не так? Но я сильно заблуждался.

Черновой вариант заработал уже через час-два, а вот когда решил расширить функционал — вот тут всё и началось.

Сначала все картинки просто растягивались на экран 800×480 без обрезки, из-за чего фотографии выглядели несуразно. Попробовал добавить YOLO — локальную AI-модель для умного автокадрирования. Стало лучше, но иногда портретные фото слишком обрезались по бокам.

В итоге я отказался от автокадрирования и стал показывать фото в их “нативном” соотношении сторон — так изображения выглядят гораздо гармоничнее.

Следующая задача — перенести серверную часть проекта в Docker-контейнер, чтобы можно было запускать фоторамку где угодно, не плясать с systemd. Собрал отдельный Docker-образ — пришлось повозиться, но всё получилось.

В первой версии кода IP-адрес сервера и пароль от Wi-Fi были жёстко зашиты. Привести контейнер к “человеческому” виду заняло ещё четыре часа: теперь все переменные тянутся из конфигов или задаются на ходу.

На весь проект — от первых идей до финальных тестов — ушло около 18-20 часов за пару вечеров и выходных. Отладка заняла гораздо больше, чем я рассчитывал, но если бы не Antigravity, пришлось бы неделями разбираться в Python и C/C++. А так — быстро допилил, проверил и собрал всё в рабочий проект. Теперь точно знаю: для новых идей Antigravity — мой must-have.

Этот проект в считанные дни научил меня большему, чем год туториалов

-7

Пусть большую часть кода сделал Antigravity, но параллельно я постепенно стал понимать и сам Python, и основы C/C++. Да, прогресс не молниеносный, но после ещё пары проектов смогу сам программировать под микроконтроллеры без постоянной подсказки AI.

Главное, что за несколько дней я разобрался в куче базовых вещей. Объяснить всё “от и до” пока ещё не могу, но разбираюсь в Python и C/C++ явно увереннее, чем неделю назад. Для меня это — настоящий скачок вперёд.

Даже если код писала нейросеть, я специально разбирался в каждом баге. Если появлялась ошибка — сначала пробовал докопаться сам, только потом обращался к AI. Такой подход реально помогает понять, что, где и почему ломается.

-8

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

Так я впервые стал находить и исправлять баги своими силами, без обращения к AI и долгих поисков в Google. Например, заметил дублирование кода в месте, где его совсем быть не должно.

Этот проект дал мне отличную базу по работе с микроконтроллерами. Я начинал с ESP32-S3, но пока с ним тяжеловато — проще и логичнее стартовать на Arduino, а дальше разберёмся.

Как собрать свою e-ink фоторамку без программирования — мой рецепт и инструкция

-9

Хотите быстро сделать свою e-ink фоторамку и не тратить недели на отладку? Решение уже готово! Я выложил полный исходник на GitHub с пошаговой инструкцией для всех.

Всё просто: запускаете Docker-контейнер у себя на компьютере, пробрасываете порт 80 и подключаете локальную папку к /srv/frame/gallery — это и будет ваша “фотогалерея”.

В исходниках (ссылка на GitHub) ищите файл firmware_arduino.ino и открывайте его в Arduino IDE — и весь проект окажется у вас под рукой.

Остался буквально последний штрих — вручную вписать свои Wi-Fi логин, пароль и IP-адрес сервера в файл secrets.h.

-10

Дисплей и Arduino подключаются обычными проводками — всё предельно просто и описано в инструкции от Waveshare.

Дальше — копируете фотографии (JPEG, JPG, PNG) в синхронизируемую папку с Docker-контейнером. Контейнер автоматически переводит их в .bin-файлы, которые сразу видны Arduino и e-ink экрану. Всё! На этом настройка заканчивается.

Сервер сам обновляет JSON-файл: добавили или удалили фото — и на фоторамке тут же обновился список, последние 10 снимков показываются по кругу. Код специально написан так, чтобы не было повторов и “залипаний”.

Если возникнут вопросы — пишите issue на GitHub, всегда рад помочь! Идей по развитию проекта хватает — уже хочу добавить пару новых фишек и уверен, что это далеко не последнее обновление.

Мир микроконтроллеров оказался захватывающим хобби, о котором я раньше и не думал. Теперь хочу воплотить море идей: от простых гаджетов вроде этой фоторамки — до собственного квадрокоптера с деталями из CAD. Всё только начинается!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Google
89,1 тыс интересуются