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

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

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

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

Реализация многофункционального терминального интерфейса для МК AVR

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

В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью реализации не только командного функционала, но и истории вводимых команд. Я постараюсь максимально приблизить свой интерфейс к интерфейсу командной строки Windows. Большая часть статьи - подробный комментарий программного кода, который может быть доступен даже начинающим в программировании. Никакого ООП нет - только элементы языка Си.

Читать сначала
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

Новости

Осваиваем чип с Arm Cortex-M85

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

Фирма Renesas вдруг стала раздавать бесплатно платы EK-RA8M1 со своим новейшим чипом R7FA8M1AHECBD. А чип этот является первым в индустрии коммерческим микроконтроллером с ядром Arm® Cortex®-M85. Работает ядро на 480 МГц, снабжено технологией M-Profile Vector Extension (MVE) под названием Helium™ и ускоряет работу AI в малых системах в 4 раза. Ну и другие DSP алгоритмы там тоже ускоряются примерно на столько же. По сути чип стал передовым DSP, но это не всё.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 11

Озвучка самокатов, часть 2: MIDI через пьезоизлучатель

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

Всем привет! В первой части статьи мы рассказали о том, как на наших IoT модулях реализована схема управления пьезоэлектрическим излучателем (баззером) с регулировкой частоты и амплитуды; как эта схема управляется микроконтроллером программно, воспроизводя простые звуки и мелодии. Такая реализация показала себя надежной в эксплуатации, нетребовательной к ресурсам и на начальном этапе решала задачу базовой озвучки самоката. Шло время, появлялись новые сценарии взаимодействия с пользователями и нам самим хотелось чего-то большего — например, хорошо было бы сделать звучание самоката более “фирменным”, узнаваемым и приятным на слух. Так мы и задумались о “звуковом рефакторинге” — об этом и расскажем вам в этой статье.

Слушать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 4

Домофон, который знает, как вас зовут — своими руками

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

В мире современных технологий, где мы можем управлять многими устройствами через мобильный телефон или голосового ассистента, удивляет присутствие примитивных элементов, таких как неприятно пищащие зуммеры. Ведь они были изобретены еще в 1831 году! Я решил привнести некоторые современные функции в систему управления доступом (СКУД), которая является ключевой частью любого домофона. Мой проект направлен на создание более интуитивной и приятной для слуха системы управления доступом.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 31

Истории

Удаленно следим за состоянием газового котла

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

Из рекламы молока всем известно, как хорошо иметь домик в деревне. Вариаций мемов на эту тему огромное количество, но суть одна — необходимо много работать. Например, в промышленных масштабах выращивать помидоры, крутить компот из яблок и окучивать малину. Мне, молодому поколению, такая постановка задачи непонятна. Зачем выращивать, когда продается готовое? Из аргументации можно услышать: «А зачем переплачивать?». Так что трагикомических воспоминаний о сенокосе или очистке полей картошки от майского жука и организации её орошения предостаточно. Поэтому мой домик в деревне, сокращенно дача, является образцом рационального пользования, поведения, неприемлемого в былые времена.

Неотъемлемой частью дачи является система отопления. Конечно, существуют дачи, которые на зиму «консервируются», но в моем случае газовый котел и все коммуникации есть. Современные котлы оборудованы электронной управляющей платой. Изучив документацию на котел Lemax Primve обнаруживаем, что к плате подключаются несколько термисторов, датчик протока, реле давления воды, электрод ионизации, электрод розжига, в общем все, что нужно для его правильного функционирования. Старые чугунные котлы имели в своем распоряжении только горелку и биметаллическую пластину с газовым клапаном. Если пламя тухло по тем или иным причинам, нужно было свернуть старую газету, зажечь её кончик и внести в область горелки. С современными котлами такую процедуру проделывать категорически не рекомендуется. Лучше посмотреть код ошибки на экране или вызвать мастера.

Читать далее
Всего голосов 28: ↑26.5 и ↓1.5 +25
Комментарии 57

Как собрать Си программу в OS Windows

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

Иногда возникает ситуация, когда надо что-то посчитать согласно сложному алгоритму прямо на LapTop PC. При этом сам алгоритм написан на Си.

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

Да всё, что угодно! То есть Вы хотите использовать язык Си как гибкий и быстрый калькулятор в Windows.

В этом тексте представлено минимальное окружение для сборки Си кода в Windows.

Читать далее
Всего голосов 18: ↑6 и ↓12 -6
Комментарии 49

Разработка универсального ПЛК для домашних агрегатов

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 8

CH32V003 первый проект. Мигаем OLED дисплеем и делаем измеритель концентрации CO2

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

В последнее время разработчики электроники испытывают трудности с поставками электронных компонентов. Одним из решений данной проблемы является переход на "исконно китайскую" элементную базу. Это решение подкупает ценой и доступностью, но пугает плохой документацией и небольшим количеством информации на понятных нам языках. В данной публикации расскажу о любопытном микроконтроллере на ядре RISC-V и сделаю простое первое устройство - датчик концентрации углекислого газа в воздухе/мигалку OLED дисплеем и светодиодом (куда ж без мигалки светодиодом). В репозитории размещен проект для тех, кто захочет воспользоваться данными наработками.

Читать далее
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 20

Блок переключателей РК Патриот

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

Добрый день, есть такое движение у автолюбителей - покупать некоторые отечественные автомобили, как своего рода конструктор, в том числе и для перемещения по бездорожью. Одним из доступных таких автомобилей до недавнего времени был «УАЗ-Patriot”. Не буду вдаваться, на что идут творческие люди и с какими компромиссами сталкиваются, опишу только конструкцию переключателя режима работы полно-приводной трансмиссии с кнопками подогрева сидений и прочее (далее просто селектор раздатки). Конструкция вполне себе какая есть, но если к примеру вы модернизируете автомобиль для себя, бывает желание изменить схему функционирования этого узла под свои нужды- например дополнить системой изменения давления в шинах и прочее. Для этого надо иметь схему селектора, и возможность изменять прошивку установленного там микроконтроллера.

Читать далее
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 22

Сортировка Конфигов для Make Сборок

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

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

Все передают конфиги по-разному.

В этом тексте представлен способ передавать конфиги через скрипты сборки.

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Комментарии 10

Простая сеть для связи нескольких устройств с ПЛИС

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

Продолжая тему самодельного простого интерфейса https://habr.com/ru/articles/769986/ , как всегда, интереса ради и просто так, разработал концепцию сети на описанном ранее протоколе нижнего уровня. Представленная сеть, может быть пригодна для связи между несколькими ПЛИС внутри печатной платы (ПП); связи между ПП внутри блока, а также связи отдельных блоков с длиной линии передачи между узлами сети до 50м, а может и более.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 11

ClimateGuard CG LED: Новый Год к нам мчится…

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


Эта статья посвящена обзору универсальной платы управления светодиодными лентами ClimateGuard CG LED. В ней даётся краткое описание устройства платы контроллера CG LED и мои первые впечатления от работы с ней. В статье также упоминается первичная настройка прошивки WLED, которой штатно комплектуется контроллер.

Пока это только обзор платы без реализации каких-либо проектов на ней, возможно этой теме будут посвящены последующие статьи.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 22

Парсер бинарных данных с WPF визуализацией в виде дерева структур и их полей. Структура, управляемая данными

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

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

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

Не будет никаких модных слов, только то, что нужно для работы.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 6

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

HPM62xx: первые шаги

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

Китайский рынок микроэлектроники бурно развивается и способен удивить практически любого человека. Менее чем за пять лет был пройден серьёзный путь от производства реплик STM32F103 до интересных и самобытных решений, среди которых микроконтроллеры за 10 центов от WCH, микропроцессоры Kendryte, RISC-V решения от SophGo, а также "самый быстрый микроконтроллер реального времени" от HPMicro (HPM6750 по состоянию на Q3 2023 года), на "младшего брата" которого мы сегодня и обратим внимание.

Ниже будут рассмотрены основные технические характеристики микроконтроллеров семейства HPM6200 от HPMicro, уделено внимание настройки тулчейна, а также будет дано руководство по запуску примеров приложений от производителя на отладочной плате HPM6200EVK.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 17

Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК

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

Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их следует использовать?

Рассмотрим вопрос фактической загрузки и выполнения программы в центральный процессор (ЦП). При выполнении этих действий ПЛК может переключаться между режимами работы. В связи с этим зададимся вопросом — почему существуют эти режимы, а также почему и когда нужно вручную изменять режим самостоятельно?

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 2

Embox отправляется на Vostok

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

Как, наверное, многие на хабре знают, мы в проекте Embox любим запускаться на отечественных процессорах.

Эта статья – своеобразный (расширенный) анонс того, что Embox перенесен на микроконтроллеры еще одного производителя микроэлектроники в РФ. Речь идет о технологической платформе «Vostok» от ООО «Новатор» базирующейся на микроконтроллерах ГК «Элемент».

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 39

Передаем данные с одноплатника Repka Pi (или Raspberry Pi) в интернет по GSM связи через модуль SIM868 и GPRS протокол

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

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

Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаумом, систему IoT, турникет или что-то подобное?

Было бы неплохо оснастить это устройство чем-то, похожим по функциональности на смартфон. Тогда вы смогли бы определять его координаты GNSS, обмениваться данными через GPRS, Bluetooth или SMS, а также просто позвонить на свое устройство по телефону и поговорить с ним (или с тем, кто стоит рядом).

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

В этой статье мы расскажем о том, как настроить обмен данными по каналам GPRS мобильных провайдеров между микрокомпьютерами Raspberry Pi или Repka Pi с сервером, размещенном в интернете. Для обмена будем использовать модуль GSM/GPRS/GNSS Bluetooth HAT.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 6

KC868-AM: мини мы или ESP32 IO Expansion Board

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


Когда я впервые увидел KC868-AM, то долго думал как можно его охарактеризовать — и тут меня осенило: это не что иное, как контроллер Kincony в его минималистическом воплощении, ужатый до размеров 9x7 см. Тут присутствуют все основные элементы «больших» контроллеров Kincony (Wi-Fi, Ethernet, RS485, USB-UART и т. д.), размещённые на плате минимального размера, плюс свободные GPIO и возможность крепления на DIN-рейку.

Кроме типовых элементов, на плате KC868-AM присутствует и что-то новенькое — в этом контроллере компания Kincony впервые на моей памяти использует не готовый модуль ESP32, а самостоятельно развела на плате и сам чип и всю радиочастотную часть. Для чего она это сделала не совсем понятно, моё предположение — чтобы потренироваться и попробовать свои силы в конструировании подобных устройств.

Но обо всем по порядку…
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 18

Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag)

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

На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс).
Это настолько специфический случай, что я решил накропать про это заметку.

Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98357A. Это по сути DAC у которого на входе I2S на выходе PWM.

В этой заметке я расскажу о своём опыте работы с усилителем MAX98357A и о том как его тестировать.

Читать далее
Всего голосов 29: ↑24 и ↓5 +19
Комментарии 37

Не спеши, Маша! Разбор примеров из книги Хэррис Д.М., Хэррис С.Л. Цифровая схемотехника и архитектура компьютера

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

И вот, скачав бесплатную версию книги, я в который раз убедился, что как оно было этак 40-50 лет тому назад, так оно фактически и осталось. Но больше убило другое. В научном плане стало даже хуже. Теорию, судя по содержанию книги, нынче пролетают "по диагонали", что влечет за собой элементарные ошибки, характерные больше для студентов техникума, чем "вышки", на которых, судя по рекламе, эта книга рассчитана.

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

Итак, начнем...

Читать далее
Всего голосов 48: ↑45 и ↓3 +42
Комментарии 106

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