Обновить
226.04

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

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

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

Загрузчик для dsPIC33

Время на прочтение7 мин
Охват и читатели8.6K
Загрузчик (bootloader) — очень удобный инструмент работы с микроконтроллерами (далее — МК). Это маленькая программа, которая позволяет МК «самопрограммироваться» (self-programming). Обычно, при подаче питания на МК, управление сначала получает загрузчик, которые проверят заранее заданные условия (определенное состояние на ножке МК, флаг в EEPROM, подходящий файл прошивки на SD-карте и т.д.). Если условия не выполняются, то управление передается основной программе. Если же условия выполняются, то загрузчик переключается в режим программирования, получая данные новой прошивки по предопределенному интерфейсу. Это позволяет обновить прошивку МК не прибегая к паяльнику, программатору или внутрисхемному программированию.
Читать дальше →

Эксперименты с Arduino 101

Время на прочтение5 мин
Охват и читатели32K
Однажды, жарким зимним днём, в канун Рождества, меня неудержимо потянуло сделать что-нибудь интересное. У меня был приличный запас фуа-гра (на юго-западе Франции, где я живу, производят много этого деликатеса), хороший фильм и плата Arduino 101. С ней-то я и решил поэкспериментировать. Присоединяйтесь!


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

Windows 10 IoT Core: GPIO, Lightning и RemoteClient

Время на прочтение7 мин
Охват и читатели17K

enter image description here


Существует огромное количество примеров и статей про Windows 10 IoT Core, рассказывающих о том, как легко и удобно делать с его помощью разнообразные устройства. Однако в реальности работа с любым "железом" всегда связана со множеством не самых очевидных нюансов, знание которых приходит только с практикой. Я расскажу о некоторых особенностях работы c GPIO на Raspberry Pi2 и Windows 10 IoT Core и заодно о новой функции Remote Client, доступной в версии Insider Preview.

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

Управление офисным освещением по Wi-Fi. Часть 1: Wi-Fi модуль Atmel WINC1500

Время на прочтение14 мин
Охват и читатели12K

Введение


В данном цикле статей речь пойдет не о DIY разработке а-ля «Умный офис» или «коробочном» продукте, который мы предлагаем купить. Целью цикла является ознакомление читателей с основами работы по трем продуктам небезызвестной компании Atmel:
  • Микроконтроллером из серии SAMD21 с ядром Cortex-M0+
  • Wi-Fi модулем WINC1500
  • Технологией сенсорных кнопок Q-touch

Только вместо привычного мигания светодиодом на отладке, мы для пущей масштабности решили помигать светильниками в нашем офисе через Wi-Fi сеть с использованием промышленного протокола ModBus TCP, а управлять будем при помощи сенсорных кнопок и слайдеров. Использовать для этого будем уже хорошо знакому нашим читателям отладочную плату SAMD21 Xplained Pro, c 2-мя подключенными к ней модулями расширения ATWINC1500-XPRO и ATQT1-XPRO. Подключив модули расширения к отладке получаем следующую конструкцию:

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

Новая книга по Cortex-M0/M0+

Время на прочтение3 мин
Охват и читатели15K
Фирма АРМ продала более 200 лицензий на ядра Cortex-M, и на рынке представлены тысячи вариантов этих устройств. Хотя фирма создала ядро M7 в прошлом году, которое предлагает невероятную производительность для MCU, начальный уровень линейки ядер продолжает представлять огромный интерес для производителей. Реализация ядра M0 требует около 12000 gates (трудно сказать, идет речь о затворах либо базовых элементах, в любом случае это немного, но в первом — намного меньше — примечание переводчика), так что стоит она чуть больше, чем ничего (реализация, конечно, а не лицензия, кстати, если кто знает цены — поделитесь в комментах — пп). М0 + имеет тот же набор инструкций (как и M0-пп), но показывает лучшую производительность при низком энергопотреблении для устройств с батарейным питанием, плюс расширенные (необязательные) возможности отладки, и даже дополнительный блок защиты памяти (MMU бедняка).
Далее следует ... а что - узнаете по катом

Проект инфо-панели оповещения об авариях (Часть 1)

Время на прочтение8 мин
Охват и читатели20K

Вместо Intro


История создания проекта могла бы и не начаться, если бы не одно непритяное «Но» — в отделе имеется оборудование, которое должно работать бесперебойно, в режиме 24/7/365 (круглосуточно, без выходных, всегда) — собственно, это аппратные станции (оптические мультиплексоры, SDH-оборудование) и сервера SIP телефонии (а так же Call центр, но об этом нам сообщают сами операторы, их очень хорошо обучили реагировать на малейшие сбои).
Само оборудование находится в серверной, удалённой от кабинета, и достаточно зашумлённой (50-80db внутри — это норма, даже говорить приходится на повышенных тонах, т.к. иначе просто не слышно собеседника уже в полу метре).
В случае любых сбоев оборудования, необходимо их быстро устранять (сбои могут возникать как с нашей стороны, так и со стороны присоединённых операторов, а так же по независимым причинам, например, обрыв оптики, перегрузка на линии, прочие потери данных), в связи с чем требуется постоянно сделить за показателями работоспособности.
Меры принимаются, но ранее это происходило с некоторой задержкой в виду отсутствия возможности контроля.
Визуальный контроль за оборудованием возможен (индикация предупреждений и аварий предусмортена), но для этого требуется быть рядом с оборуддованием, что постоянно не представляется возможным.

Заинтересовавшихся прошу под кат. (Осторожно, трафик ~10-15МБ фото)
Читать дальше →

Продолжение истории про «Сердце» электронного устройства или простейшее программирование Silicon Labs C8051F320

Время на прочтение6 мин
Охват и читатели21K
Не так давно я написал статью про мою поделку на основе микроконтроллера Silicon Labs C8051F320. Пришло время рассказать и про программирование данного мк под простейшие задачи.
image

Подробности под катом.
Читать дальше →

Внутрисхемный программатор отладчик ICD2 + Ubuntu

Время на прочтение3 мин
Охват и читатели4.7K
Разработка в Linux — это просто!

Этот топик будет посвящен подключению программатора отладчика фирмы Olimex — ICD2 на Linux.

Так как в интернете я почти не нашел информации по этому поводу, позволю рассказать себе как я это сделал.
Не хитро догадаться, что нужно знать на какой дистрибутив будем ставить. Мой выбор пал на Ubuntu 8.10. Ядро на данный момент было установлено версии 2.6.27-11-generic ( анстейбл вобщем ).
Однако, это очень дружественный и простой в использовании дистрибутив, но граблей при подключении избежать не удалось.

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

WebREPL и uPyLoader: Выбираем способ беспроводного управления ESP

Время на прочтение15 мин
Охват и читатели10K

Практикуемся создавать и загружать постоянные инструкции в виде файлов, которые ESP устройство (микроконтроллер) будет выполнять автономно с помощью:

 uPyLoader — файловый менеджер и редактор в одном флаконе, как блокнот с закладками: и файлы видно, и поправить можно.

 WebREPL — удаленное управление по Wi-Fi без проводов, как пульт управления по воздуху: управляй устройством, изменяй, корректируй и добавляй инструкции (файлы), вообщем, проводи отладку без подключения кабеля.

Разберем:

 - Как работать с файлами на устройстве с помощью uPyLoader.

- Как настроить беспроводное управление через WebREPL.

- Как настроить Wi-Fi в двух режимах: точка доступа и клиент.

 Только практические шаги с объяснением, которые вы сможете повторить.

Приступаем

CAN шина на Audio-Jack (или новая жизнь Audio-Jack)

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

При разработке электроники часто приходится работать с CAN шиной. Это не только автомобилестроение, но и электронная начинка для лифтов, поездов, кораблей, космических аппаратов и прочего тоже использует CAN шину для общения между агрегатами.

При прототипировании CAN совместимых устройств часто надо собирать и разбирать различные конфигурации CAN шин. Два устройства, 4 устройства, 8 устройств, потом снова 3 и прочее.

В этом тексте я представил инструкцию по сборке harness-a для CAN или RS-485.

Читать далее

Первый шаг в умный дом

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

Привет, Хабр. Меня зовут Сергей Жуков и я преподаю на курсе «Embedded Developer» в Otus. В этой статье на примере контроллера Wiren Board пройдём первый запуск без скриптов и командной строки в настройках: питание, подключение по USB-serial/RNDIS, вход в веб-интерфейс, выдача прав администратора, настройка сети, добавление модулей и тест реле. В финале кратко подключим датчики по RS-485/Modbus и разберём типичные подводные камни, чтобы к концу у вас был рабочий минимальный стенд и понимание следующего шага.

Вводная инструкция для желающих попроб..

Глубокий анализ модуля UWB650: от основных принципов до расширенной калибровки задержки антенны

Уровень сложностиСредний
Время на прочтение34 мин
Охват и читатели6.1K

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

Читать далее

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

Часть 3: Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL

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

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

Читать далее

Библиотека для OLED1306 с русским языком на RPi

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели8.7K

Здравствуйте люди!

Я сделал библиотеку под названием "SillyOled" для работы с OLED-дисплеями SSD1306 через I2C и SPI. Библиотека может показывать текст, фигуры, бит-мапы, а также управлять дисплеем. Вот главные особенности:

Читать далее

Пуск Беспроводной CLI на Микроконтроллере

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

Иной раз возникает такая ситуация, что надо получить доступ к устройству висящему под потолком.

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

Читать далее

ToF-датчик VL53L0 и STM32F103C8T6

Время на прочтение5 мин
Охват и читатели3.8K

Подключение датчика VL53L0X к микроконтроллеру STM32F103 и вывод расстояния в реальном времени. Рассмотрены особенности инициализации датчика, настройка I²C-интерфейса и обработка данных. Приведен пример кода на языке C для работы с периферией STM32.

Читать далее

О контроллере батареи ИБП (вопрос к читателям Хабра)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели2.4K

Среди ИТ специалистов ходит анекдот, что системные администраторы делятся на 10 категории, на тех кто пока не делает бэкап, и на тех, кто уже делает резервное копирование данных. А так как самой частой причиной отказов в ЦОДах является – сбой электропитания, то обеспечение надежного электрического питания для компьютера (да и для любой другой цифровой техники) является наиглавнейшей задачей.

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

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

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

Некоторое время настрадавшись с подключением UPS по USB с помощью проприетарных программ, я решил разобраться с данной проблемой кардинально - сделать простенький контроллер состояния батареи источника бесперебойного питания со стандартным протоколом связи ИБП, который бы подошел для любого типа и модели источника бесперебойного питания при использования дома или в небольшом офисе.

Читать далее

Атрибуты Хорошего Loader-a

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

В программировании микроконтроллеров периодически приходится писать клиентские PC программы для загрузки *.hex файлов в микроконтроллер через загрузчик.

Обычно в названии этих утилит присутствует слово loader.

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

Читать далее

Настройка soft-AP с использованием модуля Espressif и ESP-IDF

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

Перевод статьи с небольшими правками для ESP-IDF 4.4.5.
В этом руководстве показано, как настроить soft-AP с использованием модуля Espressif и ESP-IDF. Оно охватывает процесс создания проекта, настройки Wi-Fi и обработки событий подключения с помощью event loop и логирования.

В любом Wi-Fi-приложении первым шагом является установление соединения между устройством и маршрутизатором. В терминологии Wi-Fi устройство называется станцией (STA), а маршрутизатор — точкой доступа (AP). В большинстве случаев модуль Espressif работает как станция, подключаясь к существующему маршрутизатору. Однако перед этим пользователь должен пройти процесс provisioning — то есть ввести SSID и пароль маршрутизатора.

Существует несколько способов provisioning, но наиболее распространённые — это через Bluetooth и Wi-Fi. При использовании Wi-Fi процесс обычно выглядит следующим образом:

Читать далее

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