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

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

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

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

Zabbix-мониторинг устройств IoT метеостанции с помощью Repka Pi

Время на прочтение 18 мин
Количество просмотров 1.8K
Блог компании FirstVDS Программирование микроконтроллеров *Разработка для интернета вещей *Умный дом DIY или Сделай сам

Эта статья посвящена Zabbix-мониторингу устройств IoT простой метеостанции, подключенных через порт GPIO к микрокомпьютеру отечественной сборки Repka Pi 3 производства НПО Рэйнбовсофт (Rainbowsoft). Здесь будут представлены скрипты мониторинга, измеряющие температуру, давление, влажность, освещенность, а также контролирующие наличие воды (затопление).

Метеостанция оборудована контроллером BME280, измерителем освещенности BH1750, а также сенсором наличия воды YL-38. Результаты измерений периодически отправляются в Zabbix с помощью агента zabbix-agent2 и шаблона, работающего в активном режиме.

Помимо этого, в статье будет описан скрипт Python, который можно запускать периодически через crontab. Этот скрипт выводит результаты измерений на OLED-монитор SSD1306. На время проведения измерений зажигается светодиод, подключенный к GPIO.

Мониторинг самого микрокомпьютера был описан ранее в статье Zabbix-мониторинг российского микрокомпьютера Repka Pi.

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

Новости

Акселерометр = полунавигатор

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 3K
Математика *Программирование микроконтроллеров *Производство и разработка электроники *Физика DIY или Сделай сам
Мнение

Нам очень повезло, что Земля вращается вокруг своей оси!

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

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

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 30

Действующий процессор на 13 микросхемах стандартной логики

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 9.8K
Блог компании RUVDS.com Программирование микроконтроллеров *Схемотехника *DIY или Сделай сам Электроника для начинающих
Туториал


Привет, Хабр! Для меня было просто невозможно пройти мимо этого схемотехнического чуда. Горстка деталей на небольшой двусторонней плате выполняет команды машинного языка и выводит результат в виде двоичного кода!

Действующая модель называется "TD4 CPU", является проектом с открытыми исходниками, реально работает и позволяет понять устройство и принцип работы процессора.
Читать дальше →
Всего голосов 93: ↑92 и ↓1 +91
Комментарии 49

Озвучка самокатов, часть 1: зачем нам пьезокерамика и как ее готовить

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 2.6K
Блог компании Whoosh Программирование микроконтроллеров *Звук
Кейс

В Софт, хард и два колеса: как мы строили IT-инфраструктуру в Whoosh упоминалось, что первые версии IoT мы ставили под непрозрачную крышку, замещая стандартный модуль управления от самоката Xiaomi M365. То есть, после установки и проклеивания крышки, связь с модулем была только через облако. В идеальном мире этого было бы достаточно, но реальность диктовала условия, в которых нужна была индикация процессов — как в режиме обслуживания, так и в городе, у пользователей. Прием управляющих команд, отправка телеметрии, подключение к сети и выход устройств в онлайн — разные этапы нужно было различать сервисной команде для быстрой диагностики, а пользователя — предупреждать об изменениях в базовых сценариях использования — командах, ошибках, ограничениях и т.д.

Нужны звуки — решили ставить buzzer (или зуммер). Это такая электромеханическая штуковина, которая под воздействием внешнего переменного напряжения умеет деформироваться и издавать звуки.

Под катом рассмотрим базовые принципы работы излучателей, стандартные техники дизайна управляющей электроники, а в продолжении расскажем, как мы выжали из зуммера максимум возможностей

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

Истории

Обзор контроллера SSD1306 для OLED экранов

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 889
Отладка *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Обзор

В этом тексте я представил обзор контроллера графических монохромных OLED экранов SSD1306. В этом тексте я напишу с какой стороны следует подходить к этому ASIC(у). Перечислю достоинства и недостатки дисплея SSD1306.

---------------------------------

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

Портативный аппаратный проигрыватель музыки для AY-3-8910 — hway

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 6.4K
Блог компании RUVDS.com Программирование микроконтроллеров *Старое железо DIY или Сделай сам Звук
Обзор

Представляю вашему вниманию мою конструкцию такого экстремально нишевого, убер-гиковского гаджета, как портативный аппаратный проигрыватель чиптюновой музыки для звукового чипа AY-3-8910. В этой статье вы получите краткую историческую справку об истории компьютерной музыки, узнаете о довольно занимательном факте существовании класса подобных устройств, а также кому и для чего таковые могли понадобиться. Ну а если по прочтении вы обнаружите, что и вам тоже такое надо, и вы знаете, с какой стороны нагревается паяльник, у вас будет возможность собрать себе личный экземпляр, используя прилагающиеся исходники проекта.
Читать дальше →
Всего голосов 55: ↑55 и ↓0 +55
Комментарии 33

Библиотека libopencm3: Быстрый старт (Часть 1)

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 1.4K
Блог компании Аурига Программирование *Программирование микроконтроллеров *
Туториал

Как всем известно, в настоящее время одним из популярных микроконтроллеров у любителей электроники, являются микроконтроллеры семейства STM32. Оно и не удивительно: богатая переферия, обилие различных статей о программировании среде STMCube завлекают все больше и больше хоббийных разработчиков.

Когда автор начал знакомиться с микроконтроллерами STM32 после долгой работы с семейством Atmega/Attiny, он так же как и все начинающие, использовал IDE (это был неторопливый Eclipse) и пользовался CMSIS + SPL/HAL. И эта связка была работоспособна. Но душа моя, почему-то испытывала дискомфорт от рабочего
окружения. Eclipse на ноутбке не радовал отзывчивостью, изучение исходников
стандартных библиотек не всегда гладко ложилось в моей голове с содержимым даташита на микроконтроллер. Но все это было терпимо.

Но вот я замахнулся на самый сложный и полезный интерфейс - USB. С первого взгляда все было просто - куча примеров кода для HAL, как сделать USB микрофон или CDC устройство. Но стоило лишь поставить цель реализовать композитный девайс сочетающий в себе аудиоустройство и CDC) как ты вступал в темный лес.

Структура STMовской USB библиотеки была нелогична, и опять же, очень плохо
совмещалась с официальной спецификацией USB. Я штурмовал этот «USB пик»
несколько лет, периодически забрасывая, пока не наткнулся на упоминание о
том, что прошивка микроконтроллера что отвечает за работу с USB в SDR трансивере
HackRF написана с помощью некой библиотеки libopencm3. Изучение документации, приятно порадовало мой глаз. Изучение исходников - радовало максимальной близостью к регистрам. И я решился сменить HAL/SPL на libopencm3. Единственная проблема в том, что в сети ГОРАЗДО меньше статей и руководств для начинающих, как подготовить среду разработкию. 90% информации ты находишь сам, копаясь в образцах чужого когда на GitHub, и вчитываясь в официальную документацию не забывая заглядывать в даташит. Данный путь закалаяет характер, но совсем не то, что хочется для быстрого старта и быстрого результата.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 6

nRF52832. Реализация сопряжения и списка доверенных подключений

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.1K
Беспроводные технологии *C *Программирование микроконтроллеров *
Туториал

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

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

Поляризатор = датчик угла

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 5.6K
Математика *Программирование микроконтроллеров *Производство и разработка электроники *Физика DIY или Сделай сам
Туториал

Поговорим о датчиках угла.

Есть один остроумный и умозрительный способ измерять углы: при помощи поляризаторов.

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

Насколько реально сделать датчик угла на основе закона Малюса?

Читать далее
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 78

Конспект. STM32. CMSIS. LTDC

Уровень сложности Простой
Время на прочтение 25 мин
Количество просмотров 3.4K
Программирование микроконтроллеров *
Туториал

Данный конспект (гайд) предназначен для лиц, желающих ознакомиться с конфигурацией LTDC модуля микроконтроллеров STM на примере STM32F429ZIT6 подключенному по 16-битному RGB565 интерфейсу к дисплею TM043NBH02 с разрешением 480x272 и использованием одного слоя без внешней памяти для видеобуфера.

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

Starting Electronics: руководство по веб-серверам на Arduino. Часть 13. Графический индикатор на веб-странице

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3K
Блог компании Timeweb Cloud Программирование микроконтроллеров *Разработка для интернета вещей *Разработка под Arduino *DIY или Сделай сам
Туториал
Перевод


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

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

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

Zabbix-мониторинг российского микрокомпьютера Repka Pi

Время на прочтение 12 мин
Количество просмотров 3.7K
Блог компании FirstVDS Системное администрирование *Программирование микроконтроллеров *Разработка на Raspberry Pi *Компьютерное железо

В этой статье я расскажу о настройке Zabbix-мониторинга российского одноплатного микрокомпьютера Repka Pi 3, разработанного НПО Рэйнбовсофт (Rainbowsoft) из Саратова. Помимо параметров, доступных для мониторинга с помощью стандартного агента Zabbix, с помощью шаблона  zabbix-agent-on-repka-pi, рассмотренного в этой статье, вы сможете поставить на контроль температуру CPU и GPU, а также тактовую частоту ядер процессора.

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

STM32 — Моделирование аналоговых сигналов и АЧХ (математическим методом)

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 6.7K
C *GitHub *Программирование микроконтроллеров *DIY или Сделай сам
Из песочницы

Разработка устройства моделирования аналогового сигнала сложной формы с построением АЧХ на базе STM32F103ZET6

Перейти к статье
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 23

Фоторезистор = навигатор

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 8.9K
Программирование микроконтроллеров *Производство и разработка электроники *Носимая электроника Электроника для начинающих Астрономия
Обзор

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

Если взять микроконтроллер, к ADC пину подключить фоторезистор, целый день непрерывно записывать на SD карту показания солнечной освещенности с вкраплениями временных отметок из часов реального времени RTC, то спустя 24 часа можно оценить широту (длительность светового дня) и долготу (фаза светового дня).

Попробуем понять, работает ли эта идея.

Читать далее
Всего голосов 92: ↑87 и ↓5 +82
Комментарии 86

Ключи с динамическим кодом: «Факториал» возвращается

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 6.4K
Блог компании Timeweb Cloud Реверс-инжиниринг *Программирование микроконтроллеров *Схемотехника *Разработка под Arduino *
Обзор
Приветствую всех! Несколько месяцев назад я уже выпускал пост про то, как работали магнитные ключи «Факториал». Сейчас же мы попробуем разобраться с более новой их разработкой.



Итак, в сегодняшнем посте узнаем, как работают домофонные ключи с динамическим кодом. Рассмотрим, как устроена сама панель и как считать такой ключ. Традиционно будет много интересного.
Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Комментарии 31

Starting Electronics: руководство по веб-серверам на Arduino. Часть 12. Отображение DI и AI входов при помощи Ajax и XML

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 2.3K
Блог компании Timeweb Cloud Программирование микроконтроллеров *Разработка для интернета вещей *Разработка под Arduino *DIY или Сделай сам
Туториал
Перевод


От переводчика. В этой части руководства объясняется как работают в связке Ajax и ХML для передачи данных от Arduino сервера браузеру и даются примеры кода для реализации этого взаимодействия на практике.

Также объясняется как можно просто извлекать нужные значения из XML файлов при помощи Javascript и почему это лучше и удобнее, чем предавать данные в простом текстовом формате.

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

Linux на esp32s3

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 19K
Ненормальное программирование *Системное программирование *Программирование микроконтроллеров *

Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.

Читать далее
Всего голосов 150: ↑149 и ↓1 +148
Комментарии 18

Сударь, у Вашей АЭС уши разъехались. Весёлая визуализация многопараметрических систем

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5.4K
Интерфейсы *Программирование микроконтроллеров *Читальный зал DIY или Сделай сам Лайфхаки для гиков
Кейс

Описание интересной идеи визуализации контроля за техническими системами со многими параметрами.

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

И заодно про радиолампы, ламповые усилители, религию Hi-Fi и Hi-End.

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

Отладочная плата NRF5340-DK в качестве программатора J-Link

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.2K
Промышленное программирование *Разработка робототехники *Программирование микроконтроллеров *Производство и разработка электроники *Электроника для начинающих
Туториал

Отладочная плата NRF5340-DK поддерживает программирование и пошаговую отладку внешних плат с микроконтроллерами серий nRF51, nRF52, nRF53. В этом случае отладка выступает как SEGGER J-Link. Для этого на плате заложен отдельный интерфейсный MCU (U2).

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

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

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

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.8K
Блог компании Timeweb Cloud Программирование микроконтроллеров *Разработка под Arduino *Умный дом DIY или Сделай сам
Туториал
Перевод


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

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

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

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