Все потоки
Поиск
Написать публикацию
Обновить
176.08

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

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

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

Виртуальный ПЛК – следующий шаг в цифровой трансформации архитектур автоматизации

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

Статья Дэвида Хамфри (David Humphrey), директора по исследованиям аналитического агентства ARC Europe, в которой рассматривается появление программно-определяемой автоматизации на уровне контроллера и ее влияние на то, как АСУ ТП будут проектироваться, развертываться и управляться в будущем. Речь идет о виртуальных ПЛК (vPLC) – программных средств, эмулирующих функции физических программируемых логических контроллеров.

Читать далее

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

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

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

Читать далее

Давайте зажжём светодиод на STM32

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

В интернете куча статей о том, как мигать светодиодом на esp8266. Предлагаем рассмотреть ту же задачу, но на альтернативном микроконтроллере - stm32. 

Перед вами небольшое руководство, в котором описано, как зажечь светодиод с помощью микроконтроллера STM32, настроив контакты GPIO. В посте разберём основы регистров микроконтроллера и как ими манипулировать напрямую. Также здесь вы найдёте пошаговое руководство по написанию кода на ассемблер и на C для управления светодиодом. 

Читать далее

Создаём своё первое USB-устройство

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

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

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

Как отправлять SMS из NodeMCU (ESP8266)

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

Всем привет! У платформы МТС Exolve есть сообщество, которое часто делится полезными гайдами от прокачки серверов до создания своих приложений. Наиболее интересные и подробные продолжаем размещать в нашем хабе.

В этом гайде пользователь на простом примере рассматривает, как с помощью микроконтроллера NodeMCU (ESP8266) и кнопки отправлять SMS через HTTP POST-запросы. Это полезно для создания различных IoT-устройств — мониторинга и умных домов.

Читать далее

Портативные медицинские приборы из микроконтроллера, датчиков и смартфона

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

Привет, читатель! Вероятность того, что вы пользуетесь устройствами из сферы персональной медицины, весьма высока. Для профессиональных спортсменов есть приборы для контроля состояния сердечно-сосудистой системы во время тренировок, (например, портативный ЭКГ). Для пациентов — медицинские холтеры, которые отслеживают работу сердца. Для всех желающих – фитнес-браслеты на любой вкус и кошелек. А что если собрать такой прибор своими руками? Нюансы, особенности и реализация проектов под катом!
Читать дальше →

Зачем нужна диспетчеризация, или как «приготовить» SCADA на Linux

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

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

Читать далее

От спецификации до производства: как устроена магистратура, где студенты разрабатывают чипы

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

«Несколько лет в университете приносят меньше знаний, чем несколько месяцев практики в реальной компании». Этот аргумент в пользу «ненужности» высшего образования звучит все громче. Но что если результат обучения в магистратуре — не вымученный, написанный «в стол» диплом, а топология микроконтроллера, готовая к печати на фабрике? 

Несколько лет назад МИЭТ и YADRO решили заложить в основу новой магистерской программы проект, который объединит студентов, желающих стать инженерами в сфере микроэлектроники. Александр Силантьев, руководитель лаборатории НИЛ СФБ и старший преподаватель НИУ МИЭТ, лектор Школы синтеза цифровых схем, рассказал про то, как строится программа и какие обязательные этапы проходят будущие инженеры. А еще — про характеристики созданного магистрантами чипа, который скоро вернется с фабрики. 

Читать далее

Как поднять Wi-Fi на ESP8266 и не зашквариться об Arduino

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

Как сделать устройство сети Wi-Fi на ESP8266 и не использовать ArduinoIDE? Легко!
Реализация асинхронного ТСР-сервера на модеме ESP8266, с управлением модемом АТ-командами.

Читать далее

Как мы проектировали свой отечественный драйвер IGBT

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

Всем привет! В НИУ МЭИ регулярно проходят проектно-исследовательские работы с привлечением к ним студентов старших курсов бакалавриата и магистратуры. Такие работы спонсируются различными грантами и направлены на то, чтобы давать возможность студентам поучаствовать в реальной научной и инженерной деятельности уже в рамках обучения, получить опыт, и влиться в интересную работу и проекты. Тематики таких проектов бывают сильно разными и в основном связаны с теми направлениями, которыми занимается выпускающая кафедра, где обучаются студенты.

В этом году я со своими студентами провел такое проектно-научное исследование в рамках гранта НИУ «МЭИ» на реализацию программы научных исследований «Приоритет 2030: Технологии будущего». Тематикой работы была «Разработка интеллектуального драйвера IGBT на напряжение 3,3 кВ для 3-уровневых инверторов тяговых электроприводов поездов высокоскоростной железнодорожной магистрали Москва - Санкт-Петербург». Проект выполнялся с апреля по октябрь, и в нём были задействованы кроме меня, как руководителя, студенты 4 курса бакалавриата и 1 курса магистратуры.

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

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

Читать далее

Отображение веб-контента на дисплее E-Ink

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

Недавно я занялся поиском способов существенно улучшить утренний ритуал нашей семьи: ежедневную проверку расписания в школе моих детей. Актуальное расписание можно найти или на веб-сайте школы, или через мобильное приложение VPmobil. Проблема в том, что на телефоне моего сына установлен строгий родительский контроль, из-за чего эта ежедневная неприятная процедура ложилась на мои плечи. Настало время её облегчить!

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

Читать далее

Использование Cortex-M3 hard core processor в ПЛИС GOWIN

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

В статье описывается опыт использования ARM ядра, встроенного в ПЛИС GOWIN GW1NSR-4C, в качестве процессора общего назначения для формирования PSK31 сигнала. Сигнал формируется с помощью генератора синуса, который был описан в предыдущей статье. Используются отладочная плата LilyGO T-FPGA, в составе которой ПЛИС GW1NSR-LV4CQN48PC6/I5, ЦАП на основе DAC904, ide GOWIN FPGA Designer и образовательная версия GMD.

Читать далее

Сжатие графики при помощи алгоритма LZ4

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

Привет, Хабр! Меня зовут Александр Крестинин, я разработчик встроенного ПО в компании Whoosh. Мы в embedded-команде не только переливаем биты из одного регистра в другой, но и решаем разные бизнес-задачи. Иногда попадаются головоломки. 

Однажды мы подумали, что было бы здорово выводить на экраны самокатов анимации и изображения — показывать инструкции, как пользоваться сервисом, как начать и закончить поездку, и чтобы запускать DOOM.

Зачем?

1) Сделать комфортнее. Удобно видеть инструкции на большом и ярком экране перед глазами, а не нырять за ними в приложение на смартфоне. 

2) Сделать безопаснее. Пользователь меньше отвлекается на телефон, крепче держится за самокат и внимательнее смотрит на всё, что вокруг.

3) Почти у всех привычных устройств уже есть экраны, которые выводят пользователям видео и картинки, а почему бы не сделать то же самое на самокате?

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

Расскажу, как мы нашли решение этой задачи. Прошу под кат.

Читать далее

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

Scratch-box — изучаем основы программирования без покупки ноутбука

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

Здравствуйте! Я большой фанат детского языка программирования Scratch, автор учебников и основатель детской школы codim.online. Внимательно слежу за развитием Scratch и его клонов на этой планете. В прошлом году я помог китайским товарищам локализовать один из клонов Scratch, и перевел на русский язык интерфейс приложения. В знак благодарности они прислали мне свою новейшую разработку, которую я называю Scratch-box. Эта коробочка поднимает web-сервер со Скретчем, на который можно зайти с медиаплеера и прогать на экране телевизора в Scratch, и даже Arduino! Дадада, прогать Arduino на телеке без установки драйверов! Сейчас такое устройство в России находится в единственном экземпляре. Если хотите его раздобыть, то читайте статью до конца.

Читать далее

Рудирон

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

Импортозамещение в образовательной сфере. Отечественный контроллер для образовательной робототехники, IOT, БАС и т.д.

Читать далее

Какие образы распознаёт двухлучевой инфракрасный счётчик

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

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

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

Читать далее

Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 3: прерывания

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

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


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


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


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


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


Часть 5. DMA


Как уже неоднократно говорилось, специфика микроконтроллеров заключается в их скорости реакции на внешние события и большом разнообразии подключаемой периферии, но при этом не слишком большой вычислительной мощности. Чтобы повысить скорость реакции, можно чаще проверять биты статуса, но это существенно усложнит написание программ и замедлит выполнение. А начиная с некоторого количества периферии, вообще наступит физический предел: на опрос всех битов уйдет больше времени, чем допустимо в устройстве. Чтобы это обойти, для проверки битов придумали использовать не программный код, а аппаратный модуль — контроллер прерываний. Его задача заключается в том, чтобы отловить факт возникновения события, удостовериться, что данное событие разработчику интересно и что контроллер в данный момент готов его обрабатывать. После этого выполнение основного кода приостанавливается (прерывается), а управление передается на специальную подпрограмму — обработчик прерывания. Именно этот механизм мы сегодня и рассмотрим.

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

ЭКЛЗ. Как работали кассы в нулевые

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.6K
Приветствую всех! Давным-давно, лет так десять назад, не было онлайн-касс. И, если в девяностые обходились одной лишь фискальной памятью, то в двухтысячные придумали ещё один девайс для контроля, сложный и во многом противоречивый. Сейчас они уже не используются, а кассы такой системы запрещены к применению. Тем интереснее заставить их работать сейчас. Конечно, в магазин такую уже не поставишь, но посмотреть на сами аппараты после многих лет простоя мы сможем.



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

Стилистический-Анализатор: Проверка Наличия Комментария в Конце Фигурной Скобки

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

Настал тот первый день, когда в программировании микроконтроллеров наконец пригодилась такая абстрактная структура данных как стек LIFO.

У нас в организации существует обязательное внутреннее требование к оформлению исходных кодов на языке программирования Си для микроконтроллеров, которое звучит так:

В конце каждого блока if(...) {...} ; switch(...) {...} ; for(...) {...} и т.п. необходимо пиcать комментарий // end of if(...). end of switch(...) end of for(...) соответственно.

Я написал утилиту-локатор, которая автоматически находит аномалии в коде согласно этому странному правилу.

Читать далее

Magicbit — очередная плата на основе ESP32 или…

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

Возможно вы заметили по моим статьям, я большой фанат контроллера ESP32, а одним из его достоинств, является огромное количество плат на его основе. А благодаря своей популярности, он всё больше и больше попадает в образовательное пространство STEM.

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

Давайте посмотрим, что она из себя представляет.

Читать далее

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