Обновить
263.28

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

Простой способ управления IoT-устройствами через телеграм-бот, используя esp32

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.4K
Картинка Benzoix, Freepik

Многие знают и даже пробовали, что микроконтроллер esp32 позволяет управлять собой удалённо через интернет, используя протокол mqtt — что позволяет избавиться от необходимости выяснять IP адрес у esp32 и не заботиться о его постоянных изменениях, например, в случае перезагрузки микроконтроллера.

Однако в наше время было бы обидно пройти мимо гораздо более удобного способа, который, на мой взгляд, частенько многократно более удобен, и к тому же находится всегда под рукой — управление с помощью телеграм-бота…
Читать дальше →

Путь инженера-программиста: от джуна до сеньора

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.6K

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

А как собственно они назначаются? По каким критериям? Что ожидается от инженера-программиста на каждом этапе его становления — от джуна до сеньора? Тема весьма дискуссионная, и не тривиальная. В этой статье не будет количественных критериев, но мы постараемся описать все этапы становления инженера-программиста, как некий ориентир для подрастающего поколения специалистов.

Читать далее

Как легко получить отрицательное напряжение для питания ОУ?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.6K

Простая схема получения отрицательного напряжения для вспомогательного питания на одном P канальном транзисторе и индуктивности.

Читать далее

Как я «ломал» DeepSeek

Время на прочтение10 мин
Охват и читатели10K

В своей предыдущей статье[1] я уже рассказывал, как начал свое знакомство с искусственным интеллектом (ИИ). Тогда это был ChatGPT, а теперь — китайский DeepSeek[2].

Общение с DeepSeek происходит без посредников, что делает его более удобным и доступным. Раньше за использование ChatGPT приходилось платить или, например,  задавать не более трёх вопросов в сутки. А с DeepSeek можно спрашивать сколько угодно и о чём угодно, не тратя ни копейки. Правда, есть опасения, что бесплатная подписка может закончиться, и тогда доступ к сервису будет закрыт. Также ходят слухи о возможных проблемах с «нежелательными» запросами.

Так уж жизнь повернулась, что для меня в автоматном программировании (АП) возникла пауза.  Но мне бросить АП все равно что перестать дышать. А потому просто произошла задержка дыхания или просто передышка. Меня это не сильно огорчило, т.к. я по-прежнему пользуюсь АП, вдыхая полной грудью его возможности. Даже в текущей ситуации.

Тем не менее, я кинулся, так сказать, «во все тяжкие». Мне предложили заняться «умными домами» и я согласился. Новая область, новые интересы, новое приложение своих сил. Короче, – «движуха»! Мы, ведь, все мечтаем о чем-то подобном – не так ли? А еще обещали мотивировать, что немаловажно в наше меркантильное время. Вспомним хотя бы размер виртуальной средней зарплаты по России и средний размер пенсий...

Сейчас я только рад случившемуся. Раньше было скучновато. Иногда взбадривало общение на Хабре, а теперь «поддает жару» искусственный интеллект. И хотя я предполагал что-то подобное, но не ожидал, что это произойдет столь быстро, так бурно и с таким эффектом. Китайский ИИ стал коллегой, советчиком, а, порой, и собеседником, помогая освоить новую область программирования. При этом я по-прежнему не согласен с глашатаями, предрекающими замену программистов, но уверен, что квалификацию многих из них он повысит точно. Я убедился в этом на своём опыте.

Читать далее

Создаём эмулятор легендарной игры «Ну, Погоди» на базе Raspberry Pi Pico

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели13K


Многие из тех, кому сейчас за 30, и рождённых в СССР или на постсоветском пространстве, помнят электронную игру «Ну, погоди!». Во времена, когда не было ни интернета, ни ноутбуков, ни мобильных телефонов, а из общедоступных электронных развлечений были только аттракционы в парках культуры и видеосалоны, обладание бытовым компьютером, электронными наручными часами Montana или электронной игрой «Ну, погоди!» было мечтой многих детей.

Были ещё и другие электронные игры, но именно «Ну, погоди!» считается классикой.


Игре посвящено много ностальгических статей и видео. На различных торговых площадках можно купить её в различном состоянии от убитого до «с хранения» и даже новодел.


Лет 10 назад и я купил её в идеальном состоянии, поигрался, вспомнил детство и положил в ящик. Но несколько месяцев назад с разочарованием увидел, что «потекла» нижняя часть экрана.


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


Я не был одинок в своём желании воссоздать игру, этой теме посвящено также немало статей, но в них обычно создавали симуляторы, а не эмуляторы игры. Симулятор у меня ассоциируется с фразой: «Я художник, я так вижу», эмулятор — это более точное воспроизведение устройства.


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


Эмулятор максимально приближен к оригиналу, если не считать экран (он не сегментный, как в оригинале) и корпус (я пока реализовал на беспаечной макетной плате).


Если вам интересно, как за несколько вечеров воссоздать у себя эмулятор «Ну, погоди!» на современном микроконтроллере или просто поностальгировать, добро пожаловать под кат.


Читать дальше →

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели15K

Разрабатываем робота с нуля - от ИИ-дизайна до полного проектирования и реализации всех компонентов устройства.

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Упражнение на ассемблер 8051 для LLM — или «игра в испорченный компилятор»

Время на прочтение5 мин
Охват и читатели1.8K

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

Возьмём очень простую задачу - скомпилировать код. Для наиболее однозначного соответствия я беру код на ассемблере - и хочу получить HEX-файл. Это задача которую можно выполнить на бумажке (имея под рукой список команд и помня формат файла) - да в древние времена кому-то и приходилось такую "ручную компиляцию" выполнять. А что нам ответит, например DeepSeek?

Цель не в том чтобы снова поиронизировать над пропонентами LLM, а просто показать как кажущаяся "логика умозаключений" LLM не выстраивается в цепочку, иными словами рвётся от утверждения к утверждению. Думал также, что пример также может служить подспорьем в общении с менеджерами требующими бурного внедрения ИИ в разработку - но возможно он слишком технический.

Итак, заработает ли сгенерённый код?

Технологии из прошлого: проводной телефон. Разбираемся в устройстве, строим микро АТС

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели12K
image

Историю проводной телефонной связи принято отсчитывать с 7 марта 1876 года, когда Александром Беллом был получен патент на изобретение телефона. Интересное совпадение, но практически в то же время, с разницей в несколько часов, другой изобретатель — Элайша Грей – тоже подал заявку на получение патента на изобретение телефона. Но, так или иначе, приоритет и имя в истории остались за Беллом, который 25 июня 1876 года впервые продемонстрировал свой телефон на первой Всемирной электротехнической выставке в Филадельфии.

Читать дальше →

Обнаружение протечек воды на базе NodeMCU и Wi-Fi с отправкой уведомлений

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3K

Защита от протечек воды — важный аспект безопасности и комфорта в любом доме. Быстрая реакция на утечку может предотвратить серьезные повреждения и затраты на ремонт. В этом проекте мы создадим автономную систему уведомления о протечке воды с использованием микроконтроллера NodeMCU, которая будет отправлять SMS-сообщения при обнаружении утечки.

Читать далее

Управление голосом и наклоном «пульта» для робота CrowBot BOLT: разбор изменений в заводскую прошивку

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели1.3K
Прошлым летом мы познакомились с модулем голосового управления для ардуино-роботов и использовали его для организации соревнований в детском лагере. С тех пор мы следили за обновлениями продукта и дождались новой интересной функциональности: не только голосовое управление, но и управление наклоном платы.


Читать дальше →

Raccoon Flash Explorer | 9 месяцев спустя…

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели1.4K

Доброго всем времени ночи :-)

9 месяцев назад я выпустил программатор BIOS-ов для компов и запилил о нём статью.

Тогда на момент выпуска статьи он был довольно сырым, и до законченного продукта по части функционала добрался чуть менее месяца назад.

Здесь же я хочу рассказать как всё это происходило, какие были трудности, и всякое прочее.

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

Читать далее

Пилим игровой мультиплеерный сервер на базе esp32: завершение. Портируем игру на esp32

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели3.7K
Картинка Freepik

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

Сегодня мы продолжим это дело и закончим наш проект!

Сразу небольшой спойлер: мы сделаем минимально необходимое, набросав основу игры и добившись её устойчивой работы, в то время как дополнительные «плюшки» — игровой счёт, компьютерные противники (кстати, было бы любопытно прикрутить в этом качестве к esp32 нейросеть!) и прочие улучшающие элементы — вы можете сделать самостоятельно, взяв за основу тот код, который будет в конце статьи. Для тех, кто не в курсе, что такое esp32, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак...
Читать дальше →

Ядерная подсветка для механической видеостены

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели8.1K

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

Осторожно, трафик!

Ближайшие события

Термочувствительные кварцевые резонаторы: must have или must die?

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели3.8K


Парадоксально, но факт: у термочувствительного кварцевого резонатора РКТ-206 зарубежных аналогов можно считать, что не существует (даже буквы в наименовании кириллические). Западными (точнее восточными, так как речь идет про Seiko-Epson), как их модно стало называть, «партнерами» выпускались аналогичные термочувствительные кварцы, даже с похожим названием HTS-206. Но сейчас, как можете сами убедиться по этой ссылке, их выпуск прекращен «из-за уменьшения объема продаж». Изобилие, представленное на картинке (встреченной в английской Википедии), давно уже сошло на нет. Вроде бы кто-то из европейцев все еще выпускает термокварцы на частоты около 5 МГц, но на данный момент мне их разыскать не удалось.

В статье мы попробуем сначала разобраться, в чем достоинства и недостатки кварцевых датчиков температуры сравнительно с другими способами, а затем предпримем попытку построить датчик на основе термочувствительного кварца. Это все еще может быть практически целесообразным занятием, так как РКТ-206 легко приобрести и это не слишком дорого. По результатам сами можете прикинуть, насколько это целесообразно. Статья получилась неожиданно объемная, но без досконального копания в мелочах тему рассмотреть не получается.
Читать дальше →

Открытая шина данных АСУ ТП

Время на прочтение4 мин
Охват и читатели4.6K

Над созданием открытой шины данных АСУ ТП работают как российские, так и зарубежные разработчики. Причина понятна – уйти от проприетарных протоколов и решений и создать единую прозрачную среду передачи данных систем автоматики. Раскроем суть задач, стоящих перед разработчиками.

Читать далее

Телефон на 600 квартир

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели19K
Приветствую всех!
Когда-то давно попался мне на просторах вот такой мем:


Посмотрел я тогда на всё это и забыл. А недавно, встретив его ещё раз, подумал: что, если попробовать сделать такой девайс в реальности? Как насчёт собрать такой телефон, по которому в самом деле можно будет позвонить? Именно этим-то мы сейчас и займёмся.
Читать дальше →

Альянс RISC-V подвёл итоги первого этапа программы DEVBOARDS: проект победителя

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.3K

В мае 2024-го года стартовала программа предоставления раннего доступа к архитектуре RISC-V DEVBOARS, целью которой было продвижение отечественных микроконтроллерных решений в различные индустриальные сегменты рынка, образовательную среду и даже в комьюнити энтузиастов. На первом этапе программы участники использовали решение от компании АО “Микрон” - микроконтроллер MIK32 АМУР (К1948ВК018) на базе отладочной платы MIK32, наделавшей много шума в последнее время. И в этой статье мы с вами рассмотрим проекты, которые были отмечены высокими оценками жюри и что из этого всего вышло. Поехали!

Читать далее

Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 4

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.2K

Терминальная программа – это многофункциональный кроссплатформенный инструмент инженера, который позволяет взаимодействовать с внешним устройством или сервером. Приложение поддерживает различные вариации протокола Modbus, а также дает возможность работы с данными в строковом или байтовом формате.

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

Подробнее читайте в этой статье!

Читать далее

Цифровой звук на STM32: подключаем аналоговый микрофон через SAI и NAU88C22

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.6K

ИИ обложка, потому что модно.

Иногда простой проект превращается в увлекательное исследование. Разбираясь с записью звука на STM32L432 через аудиокодек NAU88C22, я не только подключил микрофон и настроил кодек, но и столкнулся с рядом интересных задач. Разбираясь с ними, я узнал много нового о SAI, работе с SD-картой и нюансах цифрового звука — и теперь хочу поделиться этим опытом.

Железка, на которой идет разработка, — это не просто плата для экспериментов, а прототип, сделанный как образец для одного проекта. Так что любопытство, конечно, присутствовало, но двигало процесс скорее желание довести до ума конкретное (будущее) устройство.
Читать дальше →

Пилим игровой мультиплеерный сервер на базе esp32: начало

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели6.2K

Одно из самых приятных проявлений программирования — это создание игр. Почему бы и нам не запилить свою?

Тем более не так давно у меня появилась довольно странная мысль, которая уже который день не отпускает меня — а что если сделать многопользовательский игровой сервер на базе ESP32? О_о

Можно и на базе обычного вебсервера и хостинга, но это как-то уныло, как у всех, «а душа хочет гусарства» :-))) Понятно, что это наложит довольно жёсткие ограничения на максимальное количество игроков и объём передаваемых между ними данных из-за слабости аппаратной платформы, но мысль всё же занятная.

Проще говоря: игра хостится на ESP32, клиенты подключаются к ней, и ESP32 отдаёт им страницу с игрой. После этого начинается игровой процесс: клиенты обмениваются данными через ESP32, которая выступает в роли сервера, а все ресурсоёмкие задачи по максимуму обрабатываются на стороне клиентов. Теоретически, при таком подходе может что-то получиться. Попробуем…
Читать дальше →

Вклад авторов