Обновить
128K+

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

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

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

Эхолокация: микрофон и фазированная решётка из колонок

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

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

Я захотел воспроизвести их способность с применением микроконтроллера. Так родился проект — сонар на базе STM32F429. Для его создания я использовал простые доступные компоненты: микрофон, компьютерные колонки, микроконтроллер и ноутбук для отображения результатов. В этой статье я расскажу о том, как устроено моё устройство, какие сложности возникли при реализации, и что в итоге получилось.

Читать далее

Новости

Двенадцать символов, двадцать один байт: как я научил голый RISC-V говорить «Привет, мир!»

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

Без библиотек, без обвязок, без операционной системы под ногами. Реальный код на реальном железе — ну, почти реальном.
Пустая эмулируемая машина RISC-V, десяток строк ассемблера, и в терминале:
Сначала думал вывести «hello», как все.
Пусть будет «Привет, мир!»

Ну, привет!

Моя котельная

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

На этот раз хочу описать контроллер и обвес для котельной, который я с переменным успехом ваяю уже с полгода. ESP32, Kinkony A16, Modbus, тепломер, Arduino в слейв-режиме по i2c, ШИМ-управляемые насосы, дашборд, ну и MQTT. Тупой газовый котёл, гидрострелка, тёплые полы. Если эти слова вам близки, или хотя бы интересны - может и моя статья пригодится.

Итак, начиналось всё как всегда со статьи на Хабре. Кажется вот этой: Kincony KC868-A16: контроллер 16-го уровня. Ну или даже нет, если быть совсем точным, началось всё с комментария в одной из статей, что эта железка на озоне продается дешевле полутора тысяч рублей. В тот момент я еще не очень понимал, зачем мне эта штуковина, но решил взять, просто чтобы было.

Читать далее

Основатель движения мейкеров Дейл Догерти расспросил Майю и Свету об их проектах на нашем кружке электроники

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

Я писал в предыдущих постах, что наш митап по верилогу пригласили на мероприятие торговой палаты города Маунтин-Вью, Калифорния. И вот мероприятие состоялось. Ну, как я уже написал в заголовке, на наш стенд зашел Дейл Догерти, основатель журнала самоделкиных Make Magazine и выставок Maker Faire. Дейл расспросил Майю и Свету почему у них возник интерес к проектам с микросхемами малой степени интеграции.

Читать далее

Сонар из Музыкальной Колонки

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

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

Читать далее

Метеостанция на LoRa и ESP32, которая годами работает от батарейки

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

Ранее в своих статьях я рассказывал, как подключать модули EBYTE LoRa к Raspberry Pi и Repka Pi (ссылки в конце этой статьи). Но такие микрокомпьютеры потребляют довольно много электроэнергии и не «проживут» долго на аккумуляторе. 

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

В этой статье на примере метеостанции я расскажу о том, как создавать узлы сбора данных LoRa на базе микроконтроллера ESP32-S3, установленного в модуле Heltec Automation HTIT‑WB32LAF V3. Микроконтроллер может переходить в состояние глубокого сна, когда работают только часы реального времени и память RTC, а вся периферия отключается. В результате узел сбора данных может работать очень долго, питаясь от аккумулятора.

Читать далее

Генератор импульсов для изучения катушки индуктивности

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

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

Отличие такого генератора от распространённых ШИМ-генераторов в том, что у данного генератора имеется возможность задавать отдельно длительность импульса и отдельно длительность паузы, а также количество последовательно идущих импульсов и пауз. Имеется также возможность получения полноценного регулируемого повторяющегося во времени сигнала.
Все перечисленные возможности реализованы через код. Для создания генератора понадобится Arduino Nano/Uno, две тактильные кнопки, LCD-дисплей и установленная на ПК программа Arduino IDE.
Схема подключения изображена на рисунке 1.

Читать далее

Одна страничка для ответа на вопросы про FPGA и рассыпуху на городских ярмарках

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

На всяких народных гуляниях типа MakerFaire и OpenSauce меня постоянно спрашивают при виде FPGA “Это Ардуино / Raspberry Pi?” Причем когда я отвечаю “нет”, у людей появляется выражение лица будто я им нагрубил. Я раньше не понимал, с чем это связано, но теперь думаю, что цель такого вопроса - просто показать свою эрудицию, а я эту цель обламываю. Кроме этого минимум у одной дамы было такое выражение лица, что она наверное подумала, что я сумасшедший.

Теперь при использований микросхем малой степени интеграции появляется второй вопрос “разве все эти микросхемы не устарели и не были заменены Ардуино?”

Короче для Technology Showcase в Mountain View в этот четверг я решил сделать вот такую одну страничку и просто молча давать ее людям, которые задают эти два вопроса. Первая сторона:

Читать далее

Поилка для кота из мусора с MQTT, Home Assistant и ESP8266

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

Почти умная поилка для кошки с MQTT, Home Assistant и ESP8266.

Эта короткая статья посвящена реализации умной поилка за нормальные деньги.

Думаем, думаем

Клавиатура Vibe-кодера на Zephyr RTOS и двухъядерном микроконтроллере STM32WB55

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

В статье приведен мой опыт знакомства с Zephyr RTOS на примере создания беспроводной клавиатуры с тремя кнопками (Enter, Copy, Paste). Затронуты ключевые аспекты: настройка BLE-стека и HID-сервиса, управление энергопотреблением (STOP2, параметры соединения, программный сон), работа с Devicetree (overlay и правки dtsi), отладка через RTT, а также типичные проблемы (прошивка CPU2, EXTI-конфликты, требования HID к шифрованию). Проект полностью воспроизводим и содержит ссылки на полный исходный код и готовую прошивку.

Читать далее

Школьницы ваяют цифру на макетке ничуть не хуже школьников

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

Оказывается, школьницы стран бывшего СССР умеют ваять цифровые схемы на CMOS 4000 ничуть не хуже школьников, причем не только русскоязычных школьников, но и школьников из Индии и Китая. Под конец нашей месячной «Школы не в Замке, а в Клубе Хакеров по викендам» образовалась такая теплая компашка:

Читать далее

C++ для STM32. Часть 1: организация пакетов данных для отправки по интерфейсам связи

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

Привет, Хабр!
Это первая статья из планируемого цикла про мой объектно-ориентированный подход к написанию кода для микроконтроллера stm32 (а именно камня stm32f303vc на отладочной плате stm32f3discovery) с использованием возможностей языка вплоть до стандарта c++20. Но обо всём по порядку.

Читать далее

Оценка скорости реакции RTOS на события

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

продолжение темы RTOS, начало см.
https://habr.com/ru/posts/1060466/
https://habr.com/p/1062346/

Получив результат, а именно, запуск SMP версии RTOS, задался вопросом, а какая же плата в виде ухудшения временнЫх характеристик взимается за межъядерное взаимодействие сервисов RTOS?

Достал из пыльного чулана давно написанный тест производительнсти сервисов RTOS и причесал с целью использования в одно- и много-ядерном режиме.

Читать далее

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

История проекта «РобоБиатлон»: от детской игрушки до рейдерского захвата

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

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

Меня зовут Владимир Мозговой, и я являюсь основателем данного кружка. Историю одного из наших самых амбициозных проектов - молодёжных инженерных соревнований "РобоБиатлон", я и хотел бы рассказать в этой статье.

Читать далее

Скачивание прошивки с ПЛИС Altera MAX, ну и немного про ремонт

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

Привет Хабр. Мы хотим вам немного рассказать про один интересный недавний ремонт, а так-же свой опыт и инструкцию скачивания прошивки с ПЛИС ALTERA MAX.

Началось все с прибора Fluorophos FLM200 – прибор для проверки качества пастеризации молока.

Читать далее

Запуск файловой системы LittleFS на SPI‑NAND Flash от GigaDevice

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

В этой статье я подготовил обзор широко известной и доступной в продаже микросхемы Flash NAND памяти GD5F1GQ5xExxG. Согласно маркировке, это микросхема энергонезависимой NAND-памяти GigaDevice емкостью 128 МБ с доступом по интерфейсу SPI. Во второй части я расскажу, как установить на эту микросхему LittleFS — отказоустойчивую файловую систему, разработанную специально для микроконтроллеров.

Читать далее

Школьники рассказывают на видео чему они научились за три сеанса работы с микросхемами малой степени интеграции

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

Некий комментатор скормил ИИ мои посты про обучение школьников цифре на макетке, и иишница в частности ответило: “Высокий порог входа для части школьников. Проект предполагает понимание базовых вещей: что такое бит, такт, сдвиговый регистр, перенос, семисегментный индикатор”.

Это конечно ерунда полная. Школьники знают про арифметический перенос из того что их учили складывать столбиком числа во втором классе. Такт - это просто период между миганиями лампочки на модуле тактового генератора. Сдвиговый регистр они понимают по движению лампочек которое отображает его содержимое. А семисегментный индикатор они могут прощупать втыканием провода в пины идущие к каждому из светодиодов.

Но предоставим слово самим школьникам. Я сделал видео, но которых попросил трех школьников показать что они выучили и смогли смастерить после двух-трех сессий на викенды. Некоторые проекты они делали при мне, некоторые дома. Младшему, Матвею, дома помогал отец, но на одном из видео Матвей паяет проект при мне, на видео - так что это довольно чистый эксперимент:

Читать далее

RTT без JLINK

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

“Обнаруженный в кустах рояль” под названием IAR i-Jet TRACE позволяет полноценную отладку SMP (Symmetric Multiprocessing) приложения, запущенного на нескольких ядрах многоядерного процессора, в данном случае это Allwinner T113.

Полноценная это значит: возможность старт-стоп отдельно каждого ядра, установка breakpoints для каждого ядра, просмотр регистров каждого ядра

Читать далее

Асимметричная криптография в Java Card

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

В этой статье разговор пойдет о приложении на Java Card, бегающем на смарт-картах. На хабре уже есть несколько публикаций на эту тему, в своей же я бы хотел немного выйти за рамки стандартного “Hello World”. Здесь вы узнаете как собирать апплет, увидите пример размещения данных в апплет на этапе инсталляции, а также установим защищенный канал между Хостом и картой.

Читать далее

SPI-контроллер на FPGA: от идеи до сигналов на осциллографе

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

Откройте любой учебный материал по FPGA. С вероятностью девяносто процентов он закончится мигающим светодиодом, бегущей строкой на семисегментнике или, в лучшем случае, генератором VGA-сигнала с цветными полосами. Это нормальные учебные задачи, но у них есть общее свойство, о котором редко говорят вслух: они работают сразу или не работают совсем. Прошили — мигает. Не мигает — перепроверили три строчки кода, нашли опечатку, мигает.

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

Эта статья - следующий шаг в моем обучении и попытка показать полный путь: от фразы "нам нужен SPI-контроллер" до момента, когда логический анализатор показывает красивые пачки импульсов на ножках кристалла. Здесь будут не только архитектурные решения и листинги, но и все ошибки, которые были сделаны по дороге: testbench, который врал, потому что master и slave-модель содержали один и тот же баг; гонка на один такт, из-за которой тест прерываний падал при исправном железе; и финальный детектив — прошивка, в которой SPI-сигналы честно генерировались... на других ножках, потому что файл назначения пинов на диске оказался не тем, который мы правили. Каждая такая история — это методика: симптом, гипотеза, эксперимент, причина, фикс.

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