Обновить
164.63

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

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

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

Очумелые ручки: как я превратил старый смартфон в игровую консоль с возможностью звонить

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

Осторожно: эта статья точно будет хабратортной, ведь в ней мы смоделируем, спроектируем и запрограммируем своё видение N-Gage 2! Я очень старался сделать статью интересной даже для тех читателей, кто не разбирается в теме 3D-печати и программирования микроконтроллеров :-)

Я очень люблю ретро-игры и игровые консоли. Иногда я люблю позалипать в какую-нибудь классику с NES, Sega Mega Drive или, например, PSP. Однако особое место в моём сердечке занимает игровой телефон Nokia N-Gage, который, к сожалению, не получил продолжения, как и его более современный собрат — Sony Ericsson Xperia Play. Недавно я пересматривал свою коллекцию девайсов и обнаружил на полочке Galaxy S4 Mini. И тут я подумал: а что если...

Читать далее

Самые Эпичные Баги при Программировании Микроконтроллеров

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

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

Самый типичный баг - это зависание прошивки.

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

Читать далее

ПИД vs Интеллектуальные системы

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

Циклы управления на основе ПИД контролируют большинство автоматизированных процессов на промышленных предприятиях. Алгоритм пропорционально-интегрально-дифференциального (ПИД) регулирования прост, надёжен и за последние 50 лет применялся в сотнях тысяч систем управления.

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

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

Первые впечатления от 1921вг015, отечественного RISC-V контроллера

Время на прочтение9 мин
Количество просмотров66K

рис.1


Недавно мне в руки противоестественными путями попал интересный представитель RISC-V контроллеров производства НИИЭТ. Упакован он в пластиковый lqfp100 корпус, в котором скрывается ядро на 50 МГц, мегабайт флеш-памяти и 256 кБ оперативки. Разумеется, в наличии и стандартная периферия вроде UART-ов, SPI и USB. А вот из необычного — сигма-дельта АЦП на 16 бит. Ну и всякая неинтересная периферия вроде аппаратных модулей шифрования. Сразу оговорюсь, что тыкаю палочкой я его меньше двух недель, поэтому здесь описаны именно первые впечатления.

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

Подключение самодельных устройств к умному дому Яндекса с Алисой

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

В этой статье мы разберёмся, как подключать самодельные устройства к умному дому Яндекс с Алисой (далее - УДЯ). В качестве такого самодельного устройства у нас выступит Wi-Fi-метеостанция на ESP8266, обладающая следующими функциями:

* вывод уровня углекислого газа, температуры и влажности с датчика Sensirion SCD-30

* передача данных этих данных в УДЯ через наше облако по Wi-Fi

* вывод курсов криптовалют на встроенный экран

Содержание статьи:

1. Разработка аппаратной части устройства на ESP8266 / ESP32

2. Написание прошивки устройства в среде Ардуино

3. Создание сервиса в облаке на Python и Django для подключения устройства к УДЯ и хранения данных, выгрузки статистики

4. Подключение нашего проекта к УДЯ через Яндекс.Диалоги, учим Алису Яндекса работать с нашим устройством

5. Обсудим варианты доработок, подключение устройства к Home Assistant, создание сценариев автоматизации (управление кондиционером по показаниям с нашего устройства) и т.д.

Читать далее

CanHacker на базе Adruino (без глюков)

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

Итак, моя задача: подключение рулевой рейки тигуана на столе без подключения к машине. Для этого требуется имитация активности в CAN шине. Для этого требуется адаптер, позволяющий работать с программой CanHacker и, собственно, трейс CAN пакетов с автомобиля.

Читать далее

Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 5: DMA

Время на прочтение15 мин
Количество просмотров3.9K

Макетная плата GD32VF103


Часть 1. Введение


Часть 2. Память и UART


Часть 3. Прерывания


Часть 4. Си и таймеры


В предыдущих частях мы научились работать с RISC-V контроллерами в стиле восьмибиток из прошлого тысячелетия. Конечно, периферия у наших посложнее, но все равно управляли мы ей напрямую. Теперь же рассмотрим периферийный модуль, который сам может управлять другими периферийными модулями, пока ядро занято вычислениями. Речь идет о DMA (Direct Memory Access, оно же Прямой Доступ к Памяти, ПДП).

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

Перепрограммируем заводской датчик CO2 Zigbee от компании Tuya

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

Предыдущий проект о перепрограммировании заводского термостата вызвал достаточно большой интерес у сообщества (ссылка будет в конце статьи). И вот поступило предложение проверить, можно ли таким же образом избавиться от спама на датчике CO2.

Читать далее

ROS2 — курс: Новый этап в образовательной робототехнике

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

🚀 ROS2 – Новый этап в образовательной робототехнике!

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

🔍 В статье расскажу, как родилась идея курса, какие проблемы он решает и как любой желающий может начать осваивать ROS2, даже без опыта работы с Linux.

Готовы изучать ROS2 и строить роботов? Для желающих 4-6 апреля пройдет хакатон!

Читать далее

Embox дает (RISC)-пять на платформе VOSTOK

Время на прочтение7 мин
Количество просмотров5.4K

Всем привет.

В данной статье, мы, как и обещали, расскажем о работе свободной ОС РВ Embox на микроконтроллере К1921ВГ015. Это микроконтроллер от компании АО «НИИЭТ», входящей в Группу компаний «Элемент».

К1921ВГ015 основан на архитектуре RISC‑V и имеет приличные ресурсы (1 Мб flash и 256 + 64 кБ RAM, развитую периферию). Это позволяет реализовывать на его основе богатую функциональность, необходимую для построения различного рода современных цифровых устройств.

Читать далее

Модернизация настольных электромеханических часов

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров9.5K

У меня есть старые электромеханические часы «Янтарь», которым почти 50 лет. По паспорту их продали в 1976 году. Эти часы дороги мне как память, потому что достались от бабушки с дедушкой.

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

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

Погружаемся в схемотехнику, механику и код

Электронные песочные часы с Алиэкспресс

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

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

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

Насколько получилось лучше, чем у предшественников? Судить читателям.

Читать далее

ЛикБез по CAN-FD

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

В этой заметке я написал про свой опыт работы с CAN шиной. Вы узнаете с какой стороны следует подходить к CAN сети.

Образно выражаясь CAN - это труба для чисел. Можно метафорично сказать, что CAN - это нервная система автомобиля. Именно по САN передаются сигналы от датчиков и к исполнительным механизмам.

Читать далее

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

GigaVulnerability: обход механизмов защиты микроконтроллеров GigaDevice GD32

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров14K

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

К сожалению, не все технологии Readout Protection работают так, как задумывалось. Для обхода защиты могут быть использованы уязвимости отладочных интерфейсов, нетривиальные атаки типа fault-injection и даже инвазивное вмешательство.

Мы в Positive Labs занимаемся исследованиями безопасности различного «железа». Поэтому, когда в наши руки попало устройство на базе микроконтроллера семейства GD32 компании GigaDevice, мы сами не заметили, как начали исследовать применяющиеся в этих микроконтроллерах технологии защиты. Данные микроконтроллеры довольно популярны и используются повсеместно, в том числе в качестве замены микроконтроллеров STM32, т.к. зачастую совместимы с ними по выводам и даже по карте адресного пространства. Исследование оказалось довольно увлекательным, а результаты — впечатляющими!

Вперед

Как взломать Harley Davidson. Часть 3

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

В прошлой части мы немало узнали о внутреннем устройстве прошивки. Но ни грубая сила видеокарты, ни интеллект моих скриптов на Питоне не помогли: алгоритм генерации 64-битного ключа так и остался тайной, а мотоцикл не взломанным. Что же, в этой части нас наконец-то ждет удача, а на десерт предложу разбор прошивки BCM с двойным разоблачением.

Читать далее

Гений. Миллиардер. Плейбой. Филантроп. Участник «Технотекста-7»

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

Открылся прием заявок на седьмой «Технотекст» — конкурс лучших статей Хабра. В этом году мы в YADRO вновь поддерживаем номинацию «Железо: проектирование и технологии производства» и призываем «железных человеков» присылать свои материалы. В ней есть за что побороться: для каждого победителя заготовлен большой набор подарков: платы, осциллографы, книги, инструменты… и даже сертификаты на рассыпуху. Для лучшего молодого автора — отдельный призовой комплект, а для тех, кому немного не хватило до победы, — поощрительные наборы мерча. Другие подробности — в посте.

Читать далее

Солнечный коллектор для умеренного климата

Уровень сложностиСредний
Время на прочтение35 мин
Количество просмотров3.2K

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

Представьте себе летний день. Вы смотрите в небо и не видите сферу Дайсона. Наше солнце щедро раздает свою энергию направо и налево (а ещё и вверх и вниз). Нерационально, надо собрать хоть немного. Пока ваш сосед поднимает на опоры огромную бочку, стоически заполняет её из шланга, также гордо сливает цветущую водорослями жидкость каждую осень — вы решили подружиться с солнцем ещё ближе и технологичней. Сегодня поговорим о разработке «переводчика» с солнечного на человеческий — контроллера для солнечного коллектора. Это устройство будет поддерживать оптимальную температуру воды для банного душа, используя солнечную энергию.

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

Изначальными причинами были только хорошо аргументированные «лень ходить из бани в дом, чтобы помыться», «не хочу бочку выше головы», «хочу хороший душ в бане» и т. д. Чтобы читатели были в курсе — баня мобильная, режим работы — финская парная, но возможно поставить душевую кабину в предбаннике. Расстояние до дома метров 15, прокладывать дополнительную сеть ГВС экономически оказывается не выгодным.

Читать далее

Включаем функции сбора статистики в ESP32-arduino для PlatformIO

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

При использовании arduino framework в PlatformIO нет возможности конфигурирования esp32 arduino core, больша́я часть функций по умолчанию отключена, а для изменения конфигурации предлагается вручную пересобирать SDK. Давайте пройдем этот квест.

Речь пойдет о функциях FreeRTOS vTaskGetRunTimeStats / vTaskList, но таким же образом можно изменить и другие опции sdkconfig.

Читать далее

Подключить педали экспрессии к компьютеру за полчаса

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.8K

Эта статья — сжатый туториал на тему подключения педалей экспрессии к компьютеру. От читателя не требуется специальных навыков в области электроники, но умение паять желательно. На минималистичное повторение подключения при наличии всех узлов и материалов действительно достаточно полчаса (автор проверил с секундомером и уложился в 10 минут). С другой стороны, верхнего предела нет: потенциал по обработке сигнала с педалей (кривые, лимиты) при этом ограничивается разве что фантазией, средствами языка Python и быстродействием контроллера.

Читать далее

Мини обзор контроллеров от Artery (AT32)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.4K

В этой статье я хочу поделиться своим опытом знакомства с микроконтроллерами компании Artery Technology, которые представляют собой одну из альтернатив STM. Рассмотрим, какие модели микроконтроллеров и макетных плат доступны для покупки, скачаем ПО и библиотеки от производителя и сравним их с привычным STM32. Цель статьи — на примере своего опыта показать, что из себя представляют микроконтроллеры Artery, какие у них есть приятные и сомнительные стороны, и что нового они могут предложить. Надеюсь, этот материал станет полезным ориентиром в выборе компонентов для ваших разработок.

Читать далее

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