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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 29: ↑27 и ↓2+25
Комментарии58

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

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

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

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

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

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

Читать далее
Всего голосов 21: ↑8 и ↓13-5
Комментарии56

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

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

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

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

Истории

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Когда я впервые увидел 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 мин
Количество просмотров9.1K

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

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

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

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

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

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

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

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

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

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

Загрузка прошивки в дисплеи Nextion без использования IDE. Протокол v 1.1. Добавлена ссылка на 1.2 и внесены исправления

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

Загрузка прошивки в дисплей  Nextion без использования IDE. Это перевод официальной инструкции. Протокол версии 1.1 Актуален на конец 2023. Внесены исправления.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии13

Пишем прошивку для старого пин-пада

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.4K
Приветствую всех!

Многие из нас уже знают, что POS-terminal'ы и пин-пады обычно собираются на базе заказных чипов, даташиты на которые не найти. Но, понятное дело, так было далеко не всегда. И мне стало интересно: а что, если попробовать найти такой древний терминал, отреверсить его схему и написать что-то под него, не имея ни SDK, ни документации?



Итак, в сегодняшней статье разберём и разберёмся, как запустить раритетный пин-пад из начала двухтысячных годов. Попутно разберёмся с прошивкой старых защищённых микроконтроллеров и узнаем, как они работали. Традиционно будет много интересного.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии20

Обзор Чипа Внешней I2C Памяти AT24Cхх

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

AT24C02M5/TR это EEPROM на 256 байт с доступом по двухпроводному синхронному последовательному интерфейсу I2C.

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

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

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

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