Обновить
219.18

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

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

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

Адресная лента WS2812b на STM32 с помощью SPI

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

Подробное руководство по управлению адресной светодиодной лентой WS2812B с микроконтроллерами STM32 с использованием SPI. Обсуждаются кодирование битов, формирование массива данных, настройка яркости и передача нескольких светодиодов в цепочке.

Читать далее

Сначала логика, потом код: как писать программы для ESP на MicroPython

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

В прошлой статье  мы дали голос нашему ESP32 — научили его отправлять уведомления в Telegram и ntfy. Теперь, когда устройство умеет "говорить", пришло время научить его "думать" и работать самостоятельно, без постоянного контроля.

Если тогда мы тестировали отправку сообщений, то сейчас займемся созданием полноценной системы. Возьмем тот же инструмент  MicroPython,  но посмотрим на него с другой стороны: не как на средство для быстрых экспериментов, а как на платформу для реализации ваших идей.

В реальном проекте недостаточно просто уметь отправлять уведомления — нужно понимать:

Когда их отправлять (чтобы не спамить).

Что делать между уведомлениями.

Как не зависнуть через неделю работы.

Куда девать ограниченную память ESP32.

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

Читать далее

Новогодняя гирлянда на BluePill

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

Близится Новый год, а гирлянда на ёлку не готова. В комоде уложена старая, её использовали уже пять раз и хочется чего-то нового. Предлагаю сделать свою, на популярной плате STM32 BluePIll в связке с адресными светодиодами. Это история с открытым концом. Если читателю идея покажется интересной, будет прошивка на git с реализацией интересных задумок; в противном случае, придётся купить готовую на маркетплейсе. Но мы же этого не допустим?

Предложить идею

Даем голос ESP: Уведомления в Telegram и ntfy

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

В прошлой статье  мы рассмотрели, как отлаживать код, загружать отредактированные файлы и удалять ненужные файлы на устройстве прямо из браузера (беспроводное управление устройством) через WebREPL и через uPyLoader. Теперь научим устройство "говорить" — отправлять нам сообщения  через систему push-уведомлений популярных мессенджеров.

Для сохранения логической целостности цикла статей я включил этот раздел, даже учитывая наличие похожих материалов на Хабре. Цель — не просто повторить известную информацию, а показать проверенные решения, адаптированные под конкретный проект и решающие проблему с русской кодировкой и эмодзи.

Мы протестируем две системы уведомлений:

Telegram-бот — для ESP32, который будет отображать сообщения от модуля, обладающего достаточными ресурсами  для обработки SSL-шифрования, требуемого Telegram API.

Продолжаем

Хакаем самую дешёвую консоль с Ozon

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

Помните статью про самую дешёвую консоль с Ozon — Sup GameBox? Тогда я рассказал вам о том, что у этого чуда инженерной мысли находится «под капотом» и почему эта консоль не так проста, как кажется на первый взгляд.

После статьи я решил написать письмо производителю процессора этой консоли. И что самое интересно — мне ответили! Даже Спустя 40 лет после релиза оригинальной NES, тайваньская компания V.R.T продолжает развивать архитектуру оригинальной NES. Мне больше ничего не оставалось, кроме как включить фен, достать программатор и хакнуть этот девайс...

Читать далее

Энкодер на базе HEDR и STM32

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

Всем привет!

В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала.
С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути.

Будет рассмотрено:

Принцип работы датчика HEDR-5420-ES214;

Схема подключения к микроконтроллеру STM32;

Программная реализация (расчет пройденного пути и вывод информации на дисплей).

Читать далее

Тактирование АЦП от сигнала точного времени. Личный опыт

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

Привет, мир! Меня зовут Василий, я работаю инженером-программистом в научно-исследовательском институте. Последние лет пять занимаюсь внедрением регистрирующего оборудования на базе микрокомпьютера Raspberry Pi, хочу поделиться опытом разработки. Работа еще не завершена, но материала накопилось много, думаю, он будет полезен всем, кто работает с Linux-микрокомпьютерами и учится писать драйвера для подключения разных железок. Буду также крайне признателен, если отпишутся знающие люди, поделятся советом и укажут на мои ошибки.

Читать далее

Обзор реализации протокола ISO-TP с сайта Разработчики-Еноты

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

В этом тексте я произвел обзор Си-шной реализации протокола iso-15765 (он же ISO-TP), которую можно свободно скачать с сайта github в репозитории DevCoons.

Определил достоинства и недостатки данной реализации ISO-TP протокола.

Читать далее

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

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

Провели мероприятие в Калифорнийском политехническом государственном университете в Сан-Луис-Обиспо. Докладчиками были: ваш покорный слуга Юрий Панчул, два американских инженера проектирующие чип по ускорению ИИ, и китайский студент из Университета Калифорнии в Санта-Барбаре. Идея мероприятия возникла, когда я встретился с выпускником Cal Poly Стенли на конференции самоделкиных OpenSause, и он поведал мне то, что я уже знал из собеседований американских студентов: они изучают в вузе карты Карно, доходят до конечного автомата светофора, отдельно постигают классический 5-стадийный конвейер MIPS (ныне RISC-V), а потом идут на собеседование на работу, и - хоба! - выясняется что их карты Карно никого в индустрии не интересуют, а вопросы идут про сопряжение конвейера обработки данных (не процессорного!) и FIFO, чего они не проходили.

Привожу ниже мой отчет на английском.

Читать далее

WebREPL и uPyLoader: Выбираем способ беспроводного управления ESP

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

Практикуемся создавать и загружать постоянные инструкции в виде файлов, которые ESP устройство (микроконтроллер) будет выполнять автономно с помощью:

 uPyLoader — файловый менеджер и редактор в одном флаконе, как блокнот с закладками: и файлы видно, и поправить можно.

 WebREPL — удаленное управление по Wi-Fi без проводов, как пульт управления по воздуху: управляй устройством, изменяй, корректируй и добавляй инструкции (файлы), вообщем, проводи отладку без подключения кабеля.

Разберем:

 - Как работать с файлами на устройстве с помощью uPyLoader.

- Как настроить беспроводное управление через WebREPL.

- Как настроить Wi-Fi в двух режимах: точка доступа и клиент.

 Только практические шаги с объяснением, которые вы сможете повторить.

Приступаем

Разработка электропривода. Часть 1. Вводная

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

Статья начинает цикл материалов по разработке электроприводов, подходов и технических нюансов, которые используются при их проектировании. Охватим большую часть силовой электроники для электропривода, промышленные сети (PROFINET, EtherCAT, CC-Link, EtherNet/IP (CIP) и др.), энкодеры (абсолютные: Hiperface DSL, SSI, BISS и др., а также инкрементные). Датчиковое и бездатчиковое векторное ориентированное управление  (sensored/sensorless FOC - EKF/MRAS/SMO/HFI), рассмотрим электродвигатели PMSM (СДПМ), ACIM (асинхронный ЭД), BLDC (бесколлекторный двигатель постоянного тока) и другие их виды. 

Читать далее

Мультиплексор, дешифратор… где великий комбинатор?

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

Когда я создавал первые электрические цепи в 3D-симуляторе, то часто думал: как же происходит переход из «живого мира» бесконечных вариантов значений в «компьютерный мир» нулей, единиц и вообще всего, для чего набор значений и их изменчивость строго ограничены? В этой статье я продолжу осваивать курс по схемотехнике, и, судя по темам лекций, ответ мне откроется. Вперед, к комбинационной логике!

Читать далее

Я купил игровую консоль и написал для неё… BIOS

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

Осторожно: статья написана максимально простым языком. Так что если вы гик, но не умеете программировать — вам всё равно будет интересно!

Недавно я наткнулся на DIY-игровую консоль за 1.500 рублей — Waveshare GamePi13. Когда гаджет приехал ко мне, я запустил примеры игр от производителя... и оторопел от 5 FPS в Pong — это ж как плохо нужно код писать!

Не желая мириться с этим, я открыл схему устройства, даташит на RP2040 и принялся писать свой собственный BIOS. Если вам интересно узнать, как работают DIY-консоли «изнутри», можно ли запускать внешние программы на микроконтроллерах из RAM, как реализованы различные подсистемы BIOS, а в конце даже написать «Змейку» - добро пожаловать под кат!

Читать далее

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

Оживляем ESP8266 и ESP32 за 15 минут без программистских заморочек с помощью MicroPython

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

Что, если я скажу, что для прошивки ESP8266/ESP32 не нужна Arduino IDE? Покажу, как с помощью портативных программ за 15 минут вдохнуть жизнь в ваш модуль: прошить MicroPython, помигать светодиодом и даже подключиться к Wi-Fi. Без установки гигабайтных программ и лишних телодвижений.

Прошить и оживить

АрдуЛисп: революционное решение в области образовательной робототехники

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

АрдуЛисп – это революционное решение для олимпиадной и соревновательной образовательной робототехнике, основанное на использовании блочного языка программирования и скриптового языка программирования – ЛИСП.

Все известные решения в области образовательной робототехники в мировой практике имеют возрастной порог...

Читать далее

Ещё одна отладочная плата и тесты К1921ВГ015

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

Где‑то полгода назад я в комментариях писал что «через пару недель» протестирую К1921ВГ015 и выложу результаты. Пара недель прошли, кроме меня никто этим не занялся, так что исправляем ситуацию как можем! В программе: мотивация создать свою собственную отладочную плату, краткий обзор существующих и тесты АЦП с подручным оборудованием.

Читать далее

Электрическая УАЗ Буханка на Телеуправлении

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

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

В этом тексте я расскажу, как сделать игрушечную модель УАЗ Буханки с дистанционным управлением по инфракрасному лучу.

Читать далее

Некрокомпиляция или как собрать OpenWatcom для QNX4 под Debian 12 и прикрутить его к Eclipse

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

Меня зовут Ярослав Бомбов и я более 30 лет занимаюсь созданием АСУТП. Как вы понимаете жизненные циклы в АСУТП штука длительная и иногда возникают задачи что-то добавить в систему работающую уже лет 20. И именно такой случай произошел - возникла необходимость изменить код в контроллере под управлением QNX4.

Можно конечно было поговорить на тему "вы в каком морге этого Франкенштейна получали туда и обращайтесь", но при ближайшем рассмотрении оказалось что код мой собственный ;). Самое простое решение открыть mcedit, что-то поправить и собрать в самом QNX4, но для начала надо вспомнить разобраться как все работает, а это удобней делать в современных IDE. Поиск бинарников OpenWatcom (OW) под линукс дал ровно два архива которые в моей системе не заработали. Поэтому решено действовать по принципу - лучше день потерять, потом за пять минут долететь.

Полетели

CAN шина на Audio-Jack (или новая жизнь Audio-Jack)

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

При разработке электроники часто приходится работать с CAN шиной. Это не только автомобилестроение, но и электронная начинка для лифтов, поездов, кораблей, космических аппаратов и прочего тоже использует CAN шину для общения между агрегатами.

При прототипировании CAN совместимых устройств часто надо собирать и разбирать различные конфигурации CAN шин. Два устройства, 4 устройства, 8 устройств, потом снова 3 и прочее.

В этом тексте я представил инструкцию по сборке harness-a для CAN или RS-485.

Читать далее

Корпоративные стандарты автоматизации технологических процессов

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

Если посмотреть на ведущие промышленные компании — от машиностроения до нефтегаза, — становится ясно: многие из них давно и плотно занимаются разработкой собственных, внутренних стандартов по АСУТП. Это не просто свод общих правил. Речь идет о детальных регламентах, которые покрывают все: от проектирования архитектуры и выбора ПО до конкретных требований к интерфейсам операторов, промышленной безопасности и дальнейшему сопровождению систем.

Главная особенность этих документов в том, что они — не сухая адаптация норм вроде ГОСТ или МЭК. Это, скорее, живые и практические руководства, которые инженеры компаний буквально «выстрадали» на собственном опыте. Они рождаются из реальных проектов, учебы на ошибках и направлены на решение конкретных задач, а не на соответствие абстрактным нормативам.

Что это дает на практике? Эффект от внедрения таких стандартов — вполне измерим. Это не просто «для галочки». Компании получают реальные результаты:

Читать далее

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