Как стать автором
Обновить
352.63

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

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

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

Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 6. Дробные числа

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

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


Одно из основных предназначений микроконтроллера — это получение информации извне, ее обработка и выдача реакции. Причем зачастую эта информация представлена не в цифрах, а в терминах реального мира: 3 сантиметра, 101 килопаскаль, 3.6 вольта. Мало того, что информацию надо получить, ее зачастую надо потом отобразить человеку. Вот только подобные аналоговые величины плохо ложатся на целочисленные переменные, с которыми так хорошо работает контроллер. О том, как дробные числа можно закодировать и какие при этом встречаются подводные камни, сегодня и поговорим.

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

Новости

Руководство по началу работы с отладочной платой MIK32-DIP (K1948ВК018, Амур) в ОС GNU/Linux

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

MIK32 АМУР или K1948ВК018 является российским микроконтроллером (МК) с ядром на открытой архитектуре RISC‑V. По какой‑то причине производитель МК ГК «Микрон» предлагает в качестве средства разработки,‑ средство на базе Eclipse, но исключительно под Windows, что далеко не всех устраивает. А также, в руководстве по эксплуатации на данный МК, предлагается использовать VS Code, и это конечно более универсальный (кроссплатформеный) вариант, но предполагает использование VS Code совместно с плагином PlatformIO, что опять же устраивает далеко не всех. Поэтому я рассмотрю в данном руководстве старт работы с отладочной платой MIK32-DIP в ОС GNU/Linux в IDE Eclipse.

Чтобы начать работу вам понадобятся:

Читать далее

Зеркала вместо заводов: как город купил себе солнце и немножко разбогател

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

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

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

да будет свет!

Использование лидара от робота-пылесоса для системы предотвращения столкновений в автономных роботах

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

Как прочитать данные с недорогого лидара от робота-пылесоса на ESP32, визуализировать показания на кольце из 12 светодиодов и даже интегрировать решение в робота для участия в соревнованиях.

Читать далее

Истории

Парад нелепого Си кода

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

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

Но теперь я решил подойти к проблеме с философской точки зрения. Отныне я коллекционирую такие куски нелепого кода! Теперь каждая нелепая функция приносит мне радость так, как пополняет ценную коллекцию того, как не надо делать.

Я эти примеры не искал. Это прямо из будничной инспекции программ.

Читать далее

Управляем питанием компьютера кнопкой вызова от старого лифта

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров18K
Приветствую всех!
Однажды увидел я на просторах ролик, как кто-то подключил лифтовой вызывной пост вместо обычной кнопки включения компьютера. И вот как-то раз я снова вспомнил про это, отчего мне сразу захотелось сделать что-то подобное. Но, раз уж делать, то куда технологичнее. Сделаем такую кнопку, не требующую вскрытия корпуса и подключения напрямую к контактам на материнке. Можно ли это реализовать? Как оказалось, это несколько сложнее, чем я думал…



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

Автоматизированный электропривод ленточного конвейера: Разработка системы управления с возможностью удаленного контроля

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

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

Читать далее

BLE показометр

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

Здравствуй Хабр! Случилось так, что совпали три события. Коллега подарил красивый винтажный миллиамперметр, по почте пришла платка с CH592F на борту и возникло желание изучать BLE. А изучение интересно совместно с решением какой-либо прикладной задачи. В статье хочу поделиться опытом создания индикатора на основе микроконтроллера CH592. Рассмотрим что такое TMOS, настроим инструменты для создания прошивки. Напишем программу для микроконтроллера. Она будет читать характеристику и управлять стрелкой миллиамперметра. Создадим "верхнее" программное обеспечение для компьютера. Оно будет принимать загрузку процессора и отправлять это значение на индикатор.

Читать далее

Зачем на печатных платах используют медные заливки?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров24K
В начале 1980-х типичная печатная плата 8-битного домашнего компьютера выглядела примерно так:


Фрагмент основной платы Amstrad CPC 464.

К началу 2010-х та же технология имела следующий вид компоновки:


Снимок Arduino Uno R3 из рекламных материалов.

Кроме повышенной миниатюризации самым поразительным изменением стало использование медных заливок (copper pour), то есть сгенерированных компьютером зон, занимающих пустое пространство между дорожками печатной платы.

Почему мы начали их создавать?
Читать дальше →

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

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

Провел семинар по SystemVerilog, Gowin FPGA и Tiny Tapeout в городе Тихуана, Мексика. Главное впечатление: я в первый раз в жизни вижу студентов, которые приходят в 8 утра, делают упражнения по верилогу до 6 вечера, с перерывом на полуторачасовый обед, и при этом все 20 студентов выполнили все вариации упражнений которые я от них хотел.

Читать далее

Собираем прошивку NapiLinux и Raspberry Pi OS для микрокомпьютера с помощью Yocto

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

Если вы занимаетесь созданием дистрибутивов Linux для встраиваемых систем, то, возможно, вас заинтересует проект Yocto. С его помощью можно создавать образы ОС в минимальных и оптимизированных конфигурациях для аппаратных платформ и приложений.

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

Компании, поставляющие устройства на базе микрокомпьютеров, могут комплектовать их ОС в необходимой конфигурации, а дистрибутив такой ОС они формируют с помощью Yocto.

В этой статье я расскажу о создании образов ОС с открытым кодом Napi Linux для модуля сбора данных от датчиков Front Control Compact, микрокомпьютеров  roc-pc-rk3328 и rockpro64-rk3399, а также ОС для встраиваемых систем на базе Raspberry Pi.

Пока Napi Linux работает на ARM, но готовится сборка и для платформы x86.

Читать далее

Получение SMS через SMPP Exolve на ESP8266

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

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

Это гайд о том, как настроить и реализовать приём SMS-сообщений на ESP8266 через платформу Exolve и SMPP.

Читать далее

Эксперименты с самодельным компьютером воздушных данных

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

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

Читать далее

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

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Teensy 4: Arduino на скорости 600 МГц (почувствуй себя властелином вселенной)

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


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

Оказывается, последняя версия Teensy 4 сделана на основе Cortex M7 и работает на частоте 600 МГц, причём ядро там довольно продвинутое и позволяет исполнять две инструкции за такт, использует предсказание ветвлений и аппаратную обработку 64-битных чисел с плавающей точкой, а также много чего ещё, в том числе имеет на борту много RAM, Flash и PSRAM памяти и т. д.

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

В результате я пришёл к выводу, что с этим стоит познакомиться поближе и на Али был заказан комплект Teensy 4.1 с Audio и Ethernet расширениями, а затем я с большим удовольствием поэкспериментировал с этим железом. Ну а далее я предлагаю свой отчёт о проведённых экспериментах, а также поделюсь своими впечатлениями о Teensy 4.1.
Читать дальше →

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

рис.1


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее
1
23 ...

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