Пять DIY-проектов на базе Raspberry Pi: от детской машинки до навигатора для незрячих
Привет, жители Хабра! Это Виктор Сергеев из МТС Диджитал. Сегодня я к вам с новой подборкой самодельных систем на базе «малинки». Под катом — пять разных проектов, которые развлекают, помогают и учат. Поехали!
Не Tesla, но близко
Что за проект
Начну подборку с умной радиоуправляемой машинки. Это модернизация сломанной детской игрушки — электромобиля с неисправной батареей. Автор Джон Скагмо превратил ее в высокотехнологичное транспортное средство, оснащенное Raspberry Pi, тачскрином, аудио, системой управления двигателем и другими функциями.
Джон увлекается электроникой и решил использовать свои навыки для ремонта и модернизации нерабочей детской электромашинки для своей дочери. Так что ни один электромобиль в ходе процедуры не пострадал. Наоборот, исходная система получила вторую жизнь.
Детали
Скагмо начал с покупки стандартной детской электромашины с нерабочей аккумуляторной батареей. После замены последней он сосредоточил усилия на модернизации девайса. В качестве основного управляющего модуля разработчик использовал Raspberry Pi 3 с кастомной дочерней платой.
Изначально она была оснащена чипом GPS/GNSS для создания геозон, но Скагмо отключил эту функцию, посчитав ее неэффективной в условиях ограниченного пространства: машинку планировали использовать только во дворе. Вместо этого он добавил систему для отслеживания местоположения авто через Wi-Fi, подключенную к серверу Home Assistant.
Автор оснастил машину аудиосистемой с усилителем, небольшим сабвуфером под сиденьем и динамиком на панели управления. А еще — привычной автомобилистам педалью «газа». Чем сильнее на нее жать, тем быстрее едет машина. До модернизации она ехала с одинаковой скоростью, как ни жми.
Скагмо добавил еще и панель управления с кнопками и дисплеем. Боковые части были изготовлены из фанеры, лицевая часть — из алюминиевых листов толщиной 2,5 мм. В корпус вмонтирована широкоугольная селфи-камера: она может использоваться для записи видео и для видеосвязи с водителем. Панель работает на основе микроконтроллера MCP23018.
Дисплей — 4-дюймовый. Это тачскрин с разрешением 480 × 800 пикселей. Он отображает название трека, который играет, оставшийся заряд батареи и силу нажатия на педаль акселератора. Вся система управляется с помощью пользовательского графического интерфейса, написанного на PyQT специально для Raspberry Pi.
В общем, получился электромобиль для ребенка. Не Tesla, конечно, но уже близко. Видео можно посмотреть на YouTube.
Часы-«малинка»
Что за проект
А это часы, созданные на основе Raspberry Pi Pico. Плата сделана в виде окружности, светодиоды разного цвета показывают секунды, минуты и часы.
Разработчик проекта — Ким Паульссон.
Детали
Часы базируются на кастомной плате с чипом RP2040, разработанной автором проекта. По окружности расположено 60 светодиодов. Каждый отвечает за отображение времени с использованием различных цветов для обозначения часов, минут и секунд в real-time. Еще есть флеш-память — это чип Winbond 25Q1281VSQ с объемом 8 Мб.
Паульссон поместил все это в стильный металлический корпус с браслетом. Для зарядки устройства на задней панели предусмотрен порт, аккуратно встроенный в конструкцию. Часы довольно элегантные, несмотря на то, что это самоделка.
Есть важный нюанс: проект основан на контроллере RP2040, но теоретически можно создать подобные часы и на более новых микроконтроллерах. Например, на RP2350, который используется в Raspberry Pi Pico 2.
Подробности о проекте можно найти на Reddit. Видео есть на YouTube.
Камера для наблюдения за бездомными кошками
Что за проект
Следующий в списке — открытый проект камеры CatBot. Основная задача — следить за миской с кормом и животными, которые к ней подходят.
Автор — Майкл Сугитан, энтузиаст DIY-проектов. Он часто использует Raspberry Pi для создания самых разных систем — например, фотоаппарата на базе Leica или «Звезды смерти» на базе светильника из IKEA. На этот раз он решил помочь бездомным животным.
Около года Майкл жил неподалеку от национального парка Уэст-Рок в Коннектикуте, где было много уличных кошек. Он регулярно подкармливал их на своем заднем дворе, но не успевал за ними наблюдать. Тогда возникла идея установить видеонаблюдение: с ним автор мог посмотреть, сколько вообще кошек приходит на задний двор. А заодно убедился, что миска пользуется спросом не только у них:
А еще у устройства есть дополнительная функция отпугивания птиц: они тоже слетаются на корм, но он для них вреден. Чтобы решить эту проблему, Сугитан доработал модуль с камерой и добавил функцию обнаружения пернатых. При появлении птицы Raspberry Pi активирует сервопривод со вставленной деревянной палочкой. Она начинает стучать по окну, и впечатлительные птицы улетают. Интересно, а что, если попадется ворона? Ее стуком не испугаешь.
Детали
CatBot включает сразу два Raspberry Pi: Pi Zero и Raspberry Pi 5. Подробно об этом — на YouTube.
Pi Zero работает как Flask-сервер и обрабатывает ввод с камеры с помощью простого Python-скрипта. По сути устройство беспрерывно снимает пространство вокруг миски. А Raspberry Pi 5 отвечает уже за использование нейросети, обработку изображений с Zero и обнаружение кошек. Как только кошка появляется, CatBot фотографирует ее и отправляет уведомление автору через Twilio.
Проект полностью открыт и доступен для изучения. Весь исходный код можно найти на GitHub.
Система для обучения концепции отрицательных чисел
Что за проект
Zero Pairs — визуальная система, разработанная для облегчения понимания концепции отрицательных чисел детьми. Автор Рассел Эвелейт предлагает использовать разработку как учебное пособие для школ или самостоятельного изучения операций с отрицательными числами детьми.
Детали
Идея системы Zero Pairs заключается в визуализации поведения отрицательных чисел. Основная панель с «числами» состоит из двух рядов сфер. Они поворачиваются для демонстрации значений. Верхний ряд включает восемь сфер: черных с одной стороны и белых с другой. Они символизируют положительные значения. Нижний ряд включает шары черного и оранжевого цветов, символизирующие отрицательные числа.
Система работает на Raspberry Pi Zero, к которому подключена плата Adafruit Servo Hat для управления сервоприводами, вращающими сферы. Шары разработаны и напечатаны на 3D-принтере специально для этого проекта. Но здесь не только механика, система ввода организована весьма интересно. Пользователь добавляет задачи через веб-интерфейс на базе Flask. При вводе система наглядно показывает, как положительные и отрицательные значения взаимодействуют друг с другом, помогая лучше понять процесс работы с ними.
Рассел Эвелейт сделал проект открытым и доступным для всех на GitHub, так как система предназначена в первую очередь для образовательных целей. Видео есть на YouTube.
Навигатор для незрячих
Что за проект
А тут гарнитура на основе очков с камерой, которая предназначена для людей с нарушениями зрения. Цель проекта — снизить зависимость от посторонней помощи при передвижении. Автор — Мохаммед Хайрул Алам.
Raspberry Pi и AI используются для интерпретации окружающей среды, описания объектов вокруг и передачи информации пользователю через наушники в виде голосовых инструкций. Создатель проекта называет его «третий глаз».
Детали
Проект базируется на модуле Xiao ESP32S3 Sense (на картинке выше) для видеофиксации и анализа окружающей среды. Камера снимает обстановку, потом еще один модуль, на этот раз Raspberry Pi, обрабатывает эти данные и создает текстовое описание происходящего. Дальше текст преобразуется в голосовые инструкции, система зачитывает их пользователю через наушники.
Основной вычислительный модуль — Raspberry Pi. Автор использует оригинальную модель Raspberry Pi Model B, но можно применить любую «малинку», включая Raspberry Pi 5. У Xiao ESP32S3 Sense встроенный датчик камеры, цифровой микрофон и 8 Мб флеш-памяти, слот для карты microSD для хранения данных. Питание система получает от Raspberry Pi, который может работать от аккумуляторного блока, расположенного в кармане пользователя.
Для распознавания объектов и обучения модели Алам взял Edge Impulse Studio. Все исходные коды проекта и подробные инструкции по настройке системы и обучению модели выложены здесь.
На сегодня все. Если у вас есть собственные проекты на базе «малинки», расскажите о них в комментариях. И конечно, добавляйте туда же интересные проекты, о которых вы слышали.
Что еще почитать по теме: