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

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

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

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

Детали Двигателя на Пропане

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 973
Программирование микроконтроллеров *Производство и разработка электроники *Автомобильные гаджеты
Репортаж

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

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

Новости

Укроп на камнях

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

Покупая одновременно микрозелень и коньяк можно поймать оценивающий взгляд. Не объяснять же каждому, что набор для выращивания приобретается в научных целях. За 98 рублей мы получаем пластиковый контейнер, минеральную вату, пакет семян и инструкцию. «Выдержать в темноте 2 дня… снять крышку… поставить на солнце… периодически поливать». Такие нехитрые действия помогут вырастить небольшое количество полезных растений.

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

Читать далее
Всего голосов 48: ↑47 и ↓1 +46
Комментарии 29

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

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


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

На этом уроке рассматривается динамическое отображение на веб-странице состояния кнопок и аналогового входа при помощи AJAX. Скетч из этого урока можно легко модифицировать для отображения любого (в разумных пределах, конечно) количества кнопок и аналоговых входов, а также доработать код для отображения других параметров контроллера Arduino.

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

Принцип определения дальности между радио трансиверами

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.7K
Беспроводные технологии *Разработка робототехники *Программирование микроконтроллеров *Производство и разработка электроники *Научно-популярное
Туториал

Настал второй за 11 лет случай, когда в профессии программист‑микроконтроллеров понадобилась математика. Она нужна чтобы решить задачу из радиотехники.

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

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

Истории

Оптимизированный доступ к GPIO и не только, часть вторая

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 4.9K
C++ *Программирование микроконтроллеров *

Уважаемые жители Habr‑а, В данной статье, речь пойдет о доступе к GPIO, и другим регистрам, используя C++.

Несколько лет назад, я подготовил статью, о том, как можно используя constexpr‑клаcсы, серьезно оптимизировать доступ к GPIO‑порту, таким образом, чтобы команда «PA0.set()» — превращалась в одну‑три ассемблерных инструкции, в зависимости от обстоятельств. Этот класс лишь выглядел обычным, который оптимизировался компилятором. Фактически, это была высокоуровневая оптимизация низкоуровневого кода. Теоретически возможно было перегрузить оператор равенства и писать просто PA0=1 или PA0=0, фактически это вызывало inline инструкцию, позволяющую добавить еще и барьерную инструкцию.

Больше года назад, я потерял доступ к аккаунту Habr, и не мог восстановить его. Однако, спустя некоторое время, эксперименты по оптимальному доступу к полям регистров продолжились. И это привело к использованию нехитрых конструкций, построенных на шаблонах. Сегодня, я расскажу к чему привели эти эксперименты.

Итак. Задача состояла в том, чтобы максимально описать любой регистр, и получить доступ к нему, удобным способом. Я несколько раз пытался различными способами формализовать описание, и мои попытки привели меня к следующему коду.

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

HabraTab: извлечение и модернизация движка (о, сколько нам открытий чудных...)

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 2.9K
Блог компании Timeweb Cloud Программирование микроконтроллеров *Разработка для интернета вещей *Умный дом DIY или Сделай сам
Обзор


Недавно на Хабре вышла статья «HabraTab — девайс для хаброзависимых», которая вызвала неподдельный интерес у хабропользователей и, можно сказать, произвела своего рода фурор (на данный момент рейтинг статьи +137).

Действительно, проект довольно интересный как своей концепцией, так и исполнением, как программным, так железным и даже дизайнерским — девайс выглядит весьма своеобразно и оригинально.

Каждый нашёл в нём что-то своё, сам девайс меня не заинтересовал, но зато заинтересовал код, который может получать данные (кроме Хабра) с различных сайтов в интернете и затем эти данные использовать в IoT системах. Также этот код можно использовать для получения данных со встроенных веб-интерфейсов различных устройств в локальной сети, чему можно найти множество применений в реальных проектах по автоматизации (и не только).

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

Итак, начнём…
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 6

Часы, которые раскрашивают время

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 5.8K
Блог компании Cloud4Y Программирование микроконтроллеров *Гаджеты DIY или Сделай сам
Туториал
Перевод

Время можно узнавать, используя песок, воду, положение солнца, перемещение стрелок на циферблате, электронными циферками… Казалось бы, человечество исчерпало все возможные способы измерения времени. Но нет. Представляем вам часы, которые показывают время... цветом! Хорошая новость: вы сами сможете собрать такие же.

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

Искусство кройки и шитья или возможность заменить игры в портативной игровой консоли SUP

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5.1K
Реверс-инжиниринг *Программирование микроконтроллеров *Разработка под Arduino *Игры и игровые консоли Электроника для начинающих
Из песочницы

Всем привет, меня зовут Александр. Увлекаюсь программированием и разработкой электроники в свободное время. Мне бы хотелось поведать Вам, товарищи, историю одного программатора.

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

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

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


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

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

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

Разработка и тестирование программного обеспечения для микроконтроллеров на Python

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 5.8K
Блог компании OTUS Тестирование IT-систем *Python *Программирование микроконтроллеров *
Туториал

Рынок интернета вещей растет значительными темпами и разработка кода для микроконтроллеров важна для любых проектов, где подразумевается наличие какого‑либо вспомогательного оборудования или носимого устройства. Для разработки программного обеспечения под встраиваемые микроконтроллеры сейчас (кроме C/C++) можно использовать многие другие технологии (например, TinyGo, Dart/Flutter, Rust), так же как и Python в наборе библиотек MicroPython, который работает как со своей платой (pyboard), так и с другими микроконтроллерами (например платами на процессорах ESP8266 или STM32). В этой статье мы рассмотрим общие подходы к разработке и тестированию программного обеспечения для микроконтроллеров с использованием Python.

Читать далее
Всего голосов 20: ↑11 и ↓9 +2
Комментарии 3

Настольная динамическая балансировка маховика

Время на прочтение 5 мин
Количество просмотров 6.8K
Блог компании Специальный Технологический Центр Программирование микроконтроллеров *Разработка под Arduino *DIY или Сделай сам
Туториал

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

Раскрутить маховик
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 74

NORUAS — домашний Саурон, но это не точно…

Время на прочтение 11 мин
Количество просмотров 2.3K
Python *Машинное обучение *Программирование микроконтроллеров *Умный дом DIY или Сделай сам
Туториал

Являясь постоянным посетителем Хабра довольно долгий период времени, стал свидетелем того, как многие сегодня уже обыденные технологии были предметом острого внимания на ресурсе в период их появления.

Еще совсем недавно 3D-печать будоражила умы читателей, завораживала своей перспективностью, открывала широкие возможности для творчества, но была недоступна для простого обывателя. Сейчас 3D-принтер можно легко приобрести на китайском рынке по приемлемой цене. Технология 3D-печати не прекратила своего развития. Меняются способы печати, появляются более скоростные модели принтеров. Но сама технология стала привычным для нас явлением.

Немного позднее грянула эпоха IoT и ресурс запестрел статьями про интернет вещей. Автоматизация быта человека привела к появлению множества умных устройств, а их интеграция в единую систему приблизила нас к будущему еще на один шаг, породив концепцию умного дома. Своевременное появление линейки микроконтроллеров от фирмы Espressif Systems с поддержкой Wi-Fi также способствовало бурному развитию IoT. Сегодня любой желающий может купить умное устройство в магазине или собрать его самостоятельно, ознакомившись с инструкциями из интернета.

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

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

Обзор M5Stack ATOM Lite — маленького, но очень гордого устройства

Время на прочтение 7 мин
Количество просмотров 7.1K
Программирование микроконтроллеров *Разработка под Arduino *DIY или Сделай сам

Наверное, практически каждому, кто имеет отношение к разработке под микроконтроллеры, знаком контроллер ESP32. На нём создаются системы умного дома, роботы, квадрокоптеры и многое другое. Отдельным плюсом этого контроллера является невообразимое количество плат и модулей на его основе. Достаточно зайти на tindie.com и можно увидеть всю палитру идей. Но сегодня, я хотел бы провести небольшой обзор устройства на базе ESP32 от компании M5Stack — M5Stack ATOM Lite.

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

Переделка ККМ Атол в термопринтер

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3.7K
Программирование *C++ *Программирование микроконтроллеров *DIY или Сделай сам
Туториал

 

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

— корпус есть отличный;

— уже встроена клавиатура и не просто, а более‑менее надежная;

— есть светодиодные индикаторы и динамик (пищалка);

— корпус штатно крепится к стене;

— все собрано красиво и на вид надежно.

Внутри есть платка с AVR микроконтроллером, разъемом внутрисхемного программирования. Что осталось:

— вывести наружу com порт для подключения к серверу;

— приделать реле для включения пускателя солярия;

— подключить блок питания;

— и главное — написать саму прошивку.

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

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

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


От переводчика. С каждой новой статьёй уроки руководство становится всё более и более практичным и вот мы уже добрались до AJAX взаимодействия между клиентом (браузером) и сервером. Отсюда всего один шаг до практического применения кода и знаний, описанных в этом руководстве.

AJAX позволяет обновлять данные с контроллера на веб-странице, без необходимости каждый раз перезагружать саму страницу, что делает этот метод популярным и часто применяемым на практике, поэтому стоит уделить этому уроку достаточно вашего внимания, а также поэкспериментировать с кодом из этой статьи.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 5

Размышления на тему развития робототехники в России

Время на прочтение 14 мин
Количество просмотров 4K
Разработка робототехники *Программирование микроконтроллеров *Конференции Робототехника Искусственный интеллект

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

Читать предложения по развитию робототехни
Всего голосов 17: ↑9 и ↓8 +1
Комментарии 46

Обзор периферийной библиотеки FIL для микроконтроллеров STM32

Уровень сложности Простой
Время на прочтение 20 мин
Количество просмотров 4.1K
Разработка робототехники *Программирование микроконтроллеров *Робототехника
Из песочницы

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

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

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

Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE

Время на прочтение 3 мин
Количество просмотров 3.3K
Блог компании Selectel Python *Программирование микроконтроллеров *Разработка под Arduino *Разработка на Raspberry Pi *
Обзор
image

В ноябре 2022 года Arduino объявили, что MicroPython стал частью их экосистемы. Вместе с этим разработчики выпустили новую IDE — Arduino Lab for MicroPython. Но чем она лучше той же Thonny, которую до сих пор используют для программирования микроконтроллеров на Python? Давайте разбираться.
Читать дальше →
Всего голосов 52: ↑52 и ↓0 +52
Комментарии 11

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

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


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

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

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

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

STM8L подробное руководство первых шагов

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

Речь пойдет о маломощном микроконтроллере STM8L001J3. Постараюсь подробно рассказать о необходимых шагах для прошивки "hello world" и различных подводных камнях.

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

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