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

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

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

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

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild

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

Прежде всего – хотелось избавить себя от рутинных операций, которые необходимо прокручивать в каждый релиз артефакта каждого проекта. Второе – понять, нужен ли мне вообще такой подход у разработке и сколько от него профита. Третье – узнать немного нового

Читать далее

Зачем Программисту Микроконтроллеров Математическая Статистика? (или так ли хороши UWB трансиверы?)

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

Настал день, когда мне для работы программистом микроконтроллеров наконец пригодилась математическая статистика из ВУЗ(овского) курса по теории вероятностей.

Есть очень интересная технология для автоматического радиоизмерения расстояния. Технология основана на UWB трансиверах. Позволяет измерять время пролёта радиоволны.

В этом тексте написал как я исследовал измерения расстояния, при помощи ASICа UWB трансивера DWM1000.

Читать далее

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

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

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

Читать далее

HYT939 и калибровка датчиков температуры-влажности

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

Фото с сайта market.yandex.ru

Индивидуальная калибровка ширпотребовских датчиков температуры-влажности, как показал многолетний опыт, — абсолютно необходимая операция. Для почти всех имеющихся в продаже типов разброс по температуре в ±2 градуса и ±5% влажности – не исключение, а норма. И очень некрасиво, когда уличный датчик показывает +2° при замерзших лужах, а поставленный рядом с комнатным собратом демонстрирует влажность на 10% выше. И это средняя норма — попадаются экземпляры с куда большим отклонением, как вы увидите, прочитав эту статью до конца. В принципе ±5% отклонения влажности — вполне допустимая величина (ГОСТ на измерения микроклимата в помещениях допускает такой разброс), но согласитесь, что два датчика рядом должны все-таки показывать близкие величины, а на практике случай, когда родственные датчики впадают в противоположные крайние отклонения — совсем не редкость.

Тема достоверности данных с массовых датчиков становится все острее — существует уже немало сервисов, предоставляющих общий доступ к частным измерительным системам параметров окружающей среды (вот самый, вероятно, известный). Даже звучный термин появился — «гражданская наука» (citizen science)!

Если температуру калибровать относительно несложно (достаточно точные лабораторные термометры не представляют дефицита), то влажность представляет проблему, почти непреодолимую в домашних условиях. В конце концов я решился на покупку дорогущего (в европейских каталогах более $100) датчика швейцарской фирмы iST под непроизносимым для русскоязычного пользователя названием HYT939. Швейцарцы декларирует «из коробки» отклонение ±0.2° по температуре (в диапазоне от 0 °C до +60 °C) и ±1.8 % по влажности (в диапазоне от 0% до 90%). Конечно, употреблять его при такой дороговизне можно только в качестве образцового, но и это уже много: по крайней мере есть с чем сравнивать без боязни промахнуться «с точностью до наоборот».
Читать дальше →

Starting Electronics: руководство по веб-серверам на Arduino. Часть 16. CSS для позиционирования

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


От переводчика. Для тех, кто ознакомился с курсом по созданию веб-серверов на Arduino, автор делает последние штрихи и даёт последние необходимые знания по устройству веб-страниц. Материал этой статьи не относится напрямую к построению серверов, но содержит необходимую информацию для овладения искусством создания красивых и функциональных веб-страниц.
Читать дальше →

Cross-Detect для Проверки Качества Пайки в Электронных Цепях

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

Как известно электроника это наука о контактах. При этом в реальной разработке контакты часто отсутствуют или не там, где нужно.

Вот пришла электронная плата с производства. Как убедиться, что на этой конкретной плате всё корректно с контактами?

Для этого нужна какая-то технология. Назовем её Cross-Detect.

Читать далее

Обзор датчика освещения BH1750

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


BH1750 это простой цифровой чип датчика освещения с I2C интерфейсом от японской компании Rohm Semiconductor.

В этом тексте я представил обзор этого чипа. Перечислил его плюсы и минусы и проверил работу датчика в реальных условиях. Также представил возможные идеи устройств на основе датчика освещенности.



Читать далее

Starting Electronics: руководство по веб-серверам на Arduino. Часть 11. SD веб-сервер c Ajax

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


От переводчика. Примеры руководства становятся всё более и более практичными — на этом уроке автор «скрестил» Arduino веб-сервер с SD картой памяти и динамическое отображение состояния кнопки (входов/выходов) на веб-странице.

В результате получился ещё более приближенный к жизни (практическому применению) пример кода, который, при некоторой доработке, можно использовать в своих проектах.

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

NORVI GSM AE02-V: просто добавь GSM

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


В своём блоге я рассмотрел устройство и назначение почти всех контроллеров Norvi, обойдены вниманием оказались только контроллеры линейки GSM, имеющие соответствующие модули на своём борту.

Как вы понимаете, наличие GSM модуля является существенным дополнением и значительно расширяет возможности контроллера: можно посылать и принимать информационные и управляющие SMS, можно организовать резервный, независимый от вашей IoT инфраструктуры канал связи и т. д.

В этой статье я рассмотрю модель NORVI GSM AE02-V, которая кроме ESP32 и GSM модуля содержит цифровые и аналоговые входы, интерфейс RS485 и прочие возможности, что делает этот контроллер интересным решением для создания ваших проектов по автоматизации.
Читать дальше →

Starting Electronics: руководство по веб-серверам на Arduino. Часть 6. Автоматическое AJAX взаимодействие с веб-сервером

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


От переводчика. На шестом уроке мы добрались до практически полезного кода — с его помощью можно создать работающий пример «бесшовного» автоматического взаимодействия между клиентом (страницей в веб-браузере) и Arduino веб-сервером, который передаёт данные о состоянии подключённого оборудования и внутренних переменных.

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

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

EBYTE MA01-AACX2240: программирование работы реле

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


Продолжаем изучение внешнего RS485/ModbusRTU блока расширения MA01-AACX2240 компании EBYTE. Сегодня мы разберём устройство Modbus RTU регистров, принципов доступа к ним и получения информации от MA01-AACX2240 и управления его работой.

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

В результате MA01-AACX2240 и все блоки линейки MA0x-xxCXxxx0 станут доступны для практического использования.

Итак…
Читать дальше →

Starting Electronics: руководство по веб-серверам на Arduino. Часть2. HTML и веб-сервер с SD картой

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


От переводчика. Продолжаем изучать тему создания веб-серверов на Arduino и на микроконтроллерах вообще. В этой статье скомпонованы две части оригинального руководства — «Структура веб-страницы (HTML)» и «Arduino веб-сервер с SD картой».

Материал в этих уроках излагается последовательно и после прочтения этой статьи вы будете иметь начальное представление о внутреннем устройстве веб-страниц и принципе работы веб-сервера с SD картой в качестве хранилища этих страниц.

Другими словами, после (теоретического и практического) прохождения этих уроков, у вас появится общее представление о том, как это работает и некоторые навыки по созданию собственных веб-серверов на микроконтроллерах.

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

Чип AudioСodec(а) WM8731 (или (ADC/DAC)*2 из iPod(а))

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

Существует чип WM8731. Это стерео аудиокодек или однокристальная звуковая карта. В сущности 2 пары ADC/DAC на 24бит каждый с настройкой по I2C.
Чип знаменит тем, что его в свое время заложили в культовую отладочную плату Altera-DE1 для FPGA  и чип WM8731 стал известен во всех технических вузах мира.

Посмотрим на что на самом деле способен чипок WM8731.

В этом тексте я напишу о своём опыте работы с чипом WM8731, частично восполню нехватку документации на китайскую отладочную плату Alinx и отмечу решения основных сбоев при работе с WM8731.

Читать далее

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

Ещё раз про умный дом

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

Представляю программно-аппаратный проект: локальную сеть умный дом с акцентом на режим охраны. В качестве управляющего устройства используется сотовый телефон с ОС Android версией не ниже 5.0. Через кабель USB телефон подключен к устройству USB/RS485. Для питания всей системы используется блок бесперебойного питания . Узлы управления сбором информации от датчиков и управления исполнительными устройствами реализованы на микросхемах ESP 32. Обмен информацией и питание внешних устройств производится через сетевой кабель. Управляющее устройство (телефон) периодически опрашивает узлы сети и если есть информация от датчиков, в зависимости от настроек, передает сообщения либо в виде SMS, либо в TELEGRAM. А если получена SMS – команда она передается для исполнения на ВУ. Также возможна автономная работа по заложенным сценариям.

Читать далее

Микроконтроллеры Megawin серии MG32F02: АЦП и компаратор

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

Продолжая цикл публикаций по микроконтроллерам на ядре Cortex-M0 компании Megawin (см. предыдущие статьи 1, 2 и 3), сегодня рассмотрим АЦП и аналоговый компаратор, а также проведем эксперименты с более "продвинутым" МК MG32F02A064.

Читать далее

ИК-управление самодельными устройствами

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

Картинка для привлечения внимания :-)

В последнее время мы довольно сильно привыкли к тому, что в разнообразных самоделках на базе Arduino / esp32 используется управление, основанное на радиочастотах. Тем не менее иногда применение такой технологии управления может быть не совсем удобно хотя бы потому, что радиообстановка может быть сложной — например, если вы находитесь в густонаселённом месте (во дворе многоэтажного дома). Однако зачастую совсем без управления «или сложно, или совсем грустно». И в этой статье мы поговорим как раз о том, как можно реализовать альтернативный способ управления вашими самодельными устройствами.

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

“FPGA наизнанку” — мультфильм про вычисление CRC и parallel CRC

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

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

Для первого видео в качестве экспериментальной схемы выбран вычислитель CRC (cycle redundancy check) на основе сдвигового регистра с обратной связью.

Каким экспериментам подвергается схема в процессе демонстрации проще показать чем «пером описать» - поэтому давайте посмотрим видео:

Смотреть и читать далее

8 ферзей на AVR-ассемблере

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

Фанатам ассемблера посвящается.

Всем привет! Решил подключить матрицу светодиодов 8х8 и вывести на неё решение задачи о 8 ферзях. [Описание см. на Википедии]

Процессор

В качестве процессора я выбрал компактный и шустрый процессор attiny85. Программа будет написана на ассемблере. С небольшими настройками программа должна работать на любом другом процессоре AVR: attiny и atmega.

Дисплей

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

Читать далее

Разбор работы LVDS портов и DMA на отечественном DSP 1967ВН028

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

В продолжение моих заметок, посвященных разбору функционала процессора от фирмы Миландр 1967ВН28, рассмотрим способы общения с внешними устройствами. В данном процессоре есть возможности общения по следующим информационным каналам. Порты LINK (LVDS) и также имеется параллельный интерфейс, предназначенный для работы с внешней памятью. Этой заметке разберем работу с интерфейсом LINK.

Читать далее

MISRA C: борьба за качество и безопасность кода

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

Пару лет назад в статическом анализаторе кода PVS-Studio появился ряд диагностических правил для проверки соответствия текста программ стандарту MISRA C и MISRA C++. Увидев интерес и собрав feedback, команда разработчиков стала дальше развивать анализатор в этом направлении. В статье будет рассказано про стандарт MISRA C/C++, отчёт MISRA Compliance, про то, что мы уже успели сделать и что собираемся достичь до конца года.


0866_MISRA_C_ru/image1.png

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

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