Beepachu или как я решил стать разработчиком

от автора

Данная статья нужна в первую очередь мне как некоторый Safe point. Чтобы я мог ссылаться на свой опыт, а также использовать в будущем для своих проектных работ.
Начну, пожалуй, с истоков, как вообще всё началось и зачем я решил добровольно взять на себя ответственность переустанавливать Windows.

Тут сейчас начинается длинная жизненная история, так что, кто хочет сразу перейти к делу, листайте в конец***.

С ранних лет интересовался электронными компонентами. Груды разобранных фонариков, пультов, машинок, самолётиков. Везде, где была лампочка или моторчик, попадало под мой штурм.

Самолётик превращался в лодку, машинка начинала крутиться в обратную сторону, и механическая энергия превращалась в электрическую.

«Лопасти крутятся, лампочка горит»

Лодку делаю

Лодку делаю

Arduino

Лет в 13 мне попал в руки Arduino. На меня это произвело огромное впечатление.

Отдельное спасибо каналу на YouTube AlexGyver. Я понял, что моим проводам можно придать смысл.

Так появился проект умных часов на холодильник.

(*BLINK — это ардуиновская библиотека для подключения Wi-Fi и приложение для телефона, чтобы удалённо управлять проектом).

Удалось подключить Blink к ESP8266 и выводить на дисплей часов информацию о погоде, а если точнее — скорость ветра с определённой кайт-станции. Мне очень не хватало красивого вывода данных на сайте станции, пришлось придумывать самому.

Blink  + esp8266-01

Blink + esp8266-01

Впоследствии, что случилось достаточно недавно, я даже разработал свой сайт и приложение и полностью отказался от посредника данных в виде Arduino.

Приложение (начало отступления)

Приложение написал для Android, используя Flutter. Вот есть ссылка, если интересно потыкать, ну и фотография. Для iPhone нужно было купить 100$ подписку на год, что приостановило выпуск программы для антагонистов Android культуры.

https://play.google.com/store/apps/details?id=red.button.campione_nsw&hl=en

KiteNavigator App (не уверен, насчет полноценной работы из РФ)

KiteNavigator App (не уверен, насчет полноценной работы из РФ)

Сайт

Сайт решил писать на Python и JavaScript.

На Python собрал Backend с использованием Uvicorn и FastAPI, JavaScript служил фронтэндом и был запущен на Nginx. Параллельно решил также немного освоить Docker, где в последствии я и соединил Back и Front end во Едино!

График и Лог дней

График и Лог дней

Очень мне понравился самодельный анализатор данных, через нейронку и OpenCV. Удалось написать алгоритм оцифровки изображения. Выглядит это примерно так.

Это прогноз ветра на последующие дни

Это прогноз ветра на последующие дни

(Конец отступления)

Робот (продолжение изучения Blink библиотеки)

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

Всякие разные версии (от колес из банки, до красивых танковых шасси)

Всякие разные версии (от колес из банки, до красивых танковых шасси)

Система умного дома

Ещё одним полезным проектом было управление светом в комнате. Он сам выключался при открытии окна😄 И можно было также вручную управлять светом с телефона.
Система была очень простая, сервопривод нажимал на выключатель. Ну и ESP8266 в качестве мозгов. Много фотографий не смог найти, но система выглядела как куча проводов на двухстороннем скотче, приделанная к стене 😄.

Немного DarkSide

Когда я немного освоил азы программирования, я решил, что было бы неплохо протестировать какую-нибудь систему на безопасность.
Так появились два устройства: keylogger и universal IR remote.

Keylogger я построил на базе MAX3421E, Arduino Leonardo и модуля SD карты. Система работала, считывала нажатия. Я был даже близок к получению пароля от желанного электронного дневника, но шалость раскрылась, и я получил по башке от директора.

Universal IR remote был сделан на основе ATmega2560 и Display shield. Хотелось сделать более-менее аккуратно. На этот раз шалость удалась, и школьная техника оказалась под ударом. Я как Гарри Поттер с волшебной палочкой был повелителем телевизоров и проекторов.

Хакатон

Нарастающая популярность программирования меня также зацепила, и уже где-то к 15 мне удалось выиграть хакатон, проведённый школой. Задача стояла в распознавании ответов на бланках олимпиад и оцифровке информации. В команде с другом успешно завершили проект и выиграли небольшое денежное вознаграждение.

Моя задача стояла в написании алгоритма, задача друга — создать сайт. Алгоритм был написан на Python. Как ни странно, но программа работала быстро и правильно. Что, естественно, не могло не радовать. За основу была взята библиотека OpenCV. Распознавались квадратные участки, и внутри каждого происходила проверка наличия закрашенных пикселей и считывался их количество. Если threshold был пройден, то ответ считался отмеченным.

(Ещё один был весёлый проектик под названием RedButton. Я телеграм-канал не сильно поддерживаю, но иногда там появляются весёлые штуки. Если кому интересно, то оставлю ссылку. Там я выкладывал свой RedButton 😄)

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

Вторая часть вступления (немного короче)

3д Печать

Мне удалось купить первый 3D-принтер. Как раз на часть моего бонуса от хакатона.
Пал выбор на 3D-принтер Flying Bear Ghost 5. Полтора года я изучал устройство и работу системы, но так и не смог добиться полностью стабильной работы. Принтер работал, но внезапные ошибки и постоянная подстройка тормозили процесс долгожданной печати. Однако этот опыт позволил мне детально разобраться в системе, ее принципах и особенностях.
После этого появился Prusa Mini, а потом я решил перейти на BambuLab A1.

В процессе освоил Fusion 360 и печатал всякие корпуса, детальки, фигурки и нужные по дому вещи. Вот, кстати, одна из тех моих моделей. Я немного фанат Doom.

Doom Guy

Doom Guy

В телеграмме я выкладывал чуть более подробный процесс сборки

А вот ещё один из недавних прототипов. Это корпус для недавно нашумевшей турбо-дуйки. Был куплен 40mm турбо-вентилятор и 40A регулятор оборотов. Мозгами послужила плата ESP32-C3.

В то же время, пока изучалось 3D моделирование, мой глаз пал на небесное пространство. И я чётко решил, что мне нужен квадрокоптер, но не простой, а разобранный). Собственно, также 2 года собирал и настраивал Pixhawk. То ли контроллер был палёный, то ли я до конца не понимал матчасть, но в общем нормально он так и не заработал. Продал и смирился, что DJI Mini 1 — это очень удобно. Но понимание работы полетного устройства и, соответственно, опыт остался.

Drone Mad Mind

Drone Mad Mind

Начало (основной проект. Читать отсюда)***

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

Где-то в это же время, а точнее, к концу 2023 года, мне удалось заполучить Flipper Zero. То, что девайс получился очень уникальным и интересным, я просто промолчу. Но для меня это было немного больше, чем просто игрушка. Эта штука вдохновляла меня своей историей, идеей и тем, как просто группа ребят завоевала сердца тысяч таких же гиков, как я.

Следующий фактор создания своего устройства нашёл своё начало в каникулы, проведённые с семьёй. Зимой 2023–2024 удалось отправиться в поездку в Индию, а точнее, на остров Шри-Ланка. Поездка задумывалась исключительно в спортивных интересах и с целью усиленно заниматься серфингом.

Там-то собственно я окончательно решил, что мне нужно создать что-то своё!

Собственно, чтобы долго не тянуть. Встречайте, Beepachu!

Это небольшой девайс на базе ATmega328P и LoRa SX1262 со встроенными светодиодами и пищалкой.

Идея основывалась на проблемах при съёмке с воздуха.

Проблема 1: человек не знает, когда его начинают снимать. Дрон может подлететь, но оператор, например, не настроил характеристики съёмки или просто не нашёл нужный ракурс, и соответственно момент, когда человек смотрит в камеру, упущен.

Проблема 2: по какой-то причине DJI Mini 3 Pro выключает все лампочки при записи видео. Ночью я квадрокоптер просто теряю из виду, и безопасно вести съёмку становится невозможно.

Девайс должен послужить как некоторый удалённый сигнализатор.

Его также можно использовать для любых других задач: от съёмки на открытой местности, где человек должен стоять далеко, до небольшого маячка, который удалённо можно включать и выключать.

Также есть встроенный вольтметр до 30V. Если при необходимости в полёте нужно мониторить состояние батареи. (Эта функция находится в рассмотрении, так как занимает много места. Возможно, будет замена на отдельные пины для любой периферии, как, например, реле, дисплей или любой другой датчик Arduino.)

Расстояние передачи данных на открытой местности при обычных условиях составило 4 км. (Даже 4,5 км, но связь уже прерывалась.) (Я просто приделал устройство к дрону и полетел.)

Todo: должен быть ещё реализован режим азбуки Морзе, чтобы можно было использовать, например, как девайс для экстренных ситуаций.

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

История Создания

Работа началась как раз в начале 2024 года. После каникул я впервые открыл редактор принципиальных схем easyEDA и погрузился в мир даташитов, расчётов сопротивлений и мощностных нагрузок. Почему одна деталь больше, а другая меньше, как правильно расположить компоненты на плате, как подключить и переплести всё так, чтобы всё работало 😄.

First Prototype

First Prototype

Это был мой первый прототип. Не без ошибок, конечно, но всё заработало как надо. Пару обрезанных дорожек и несколько забытых резисторов, и плата завелась. Практически с первой попытки всё включилось. Я был в невероятном восторге.

Написал пару тестирующих программ, всё проверил, и так до конца лета всё и оставил. Школа, тесты — времени было не очень много.

Летом была завершена схема второй версии, и к октябрю мне удалось наконец собрать первую, нормально выглядящую модель.

Beepachu Naked (Prototype V2)

Beepachu Naked (Prototype V2)

Все компоненты приходилось впаивать вручную. Для экономии. Трафареты для пайки были не самые бюджетные. Постепенно феном я впаивал каждый резистор и транзистор. Времени уходило не очень много, за 4 часа я собирал одну плату.
После этого в Fusion 360 смоделировал корпус и напечатал на 3D-принтере.

3D Printed Cases

3D Printed Cases

В настоящее время дорабатываю прошивку, чтобы всё просто работало 😄.

Финал

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

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

В конце оставлю пару ссылок на телеграм-каналы:

Мой личный: https://t.me/EnCrypTech01 Иногда выкладываю там свои задумки и прогресс текущих задач.

Разработка Beepachu: https://t.me/BeepachuDev Недавно создал для тех, кто был бы заинтересован в обновлениях по проекту.

И для тех кто сможет открыть ютюб, мое самое первое видео:

(Скоро выложу таймлапс новой сборки)

Что бы из всего этого ни получилось, я очень рад, что погрузился в этот удивительный мир Hardware-Software разработок и заполучил этот бесценный опыт.

Завершу, пожалуй, такой фразой: «Неважно, интересно это для кого‑то или нет. Важно, что идея и процесс её реализации доставляют вам удовольствие, и вы готовы идти дальше для её реализации.»

Автор статьи: Лымарь Виктор


ссылка на оригинал статьи https://habr.com/ru/articles/871340/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *