Как стать автором
Поиск
Написать публикацию
Обновить
198.35

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

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

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

Раскраска Cтека (Stack Painting)

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

В процессорах ARM Cortex‑M стек растет от большего адреса к меньшему. То есть вниз. В этом тексте я написал как оценивать расходование стековой памяти прямо во время исполнения программы на микроконтроллере. Считать израсходованный стек можно определив соотношение непрерывно прописанных нулей к ненулевым значениям в диапазоне стековой памяти.

Читать далее

Новости

Одноразовый вейп в качестве веб-сервера

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

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

Предыстория

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

В прошлом году я разбирал одну из этих технологичных сосок для взрослых и заметил нечто любопытное: вместо обычной чёрной капли, которой заливают ASIC (Application Specific Integrated Circuit), я увидел небольшую интегральную схему с маркировкой «PUYA». Не буду винить читателей, если это название не вызвало у вас того же восторга, что и у меня — большинство людей никогда его не слышало. Эта компания больше всего знаменита своими флэш-чипами, но впервые я узнал о них из поста Джея Карлсона о самом дешёвом флэш-микроконтроллере. Это довольно мощные крошечные микроконтроллеры ARM Cortex-M0+.

За последний год у меня скопилось довольно много таких одноразок с PY32; это были разные модели вейпов одного производителя. Я не буду бесплатно рекламировать табачный бренд, но выражу благодарность проектировщику за маркировку на отладочных контактах!

Читать далее

Ещё один PID-контроллер. Теория

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

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

Читать далее

Электрический стол (или Зачем нужны ARM Cortex-M0)

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

Стол для программиста - это святое. От удобства стола зависит производительность труда программиста и, как следствие, качество результата всей работы.

Именно за столом на работе по сути и проходит вся трудовая жизнь.

В 2024 я купил себе в кабинет для работы стол с подъемной столешницей. Спустя год электроника подъёма внезапно перестала работать. Произошел полный отказ. Семи-сегментный индикатор стал показывать непонятный токен rE5. Кнопки перестали слушаться. Столешница застыла под потолком.

Я не знал, что мне делать. Пришлось разбираться, что же это такое за шайтан машина: электрический стол.

Читать далее

Асинхронность в микроконтроллерах

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

Статья посвящена созданию асинхронных алгоритмов на микроконтроллерах с использованием средств языка С и без RTOS.

Созерцаем электропривод

Реализация геолокации с помощью LR1120 и платформы Tencent Cloud IoT

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

В приложениях Интернета вещей (IoT) отслеживание и позиционирование активов с низким энергопотреблением и большим радиусом действия являются критически важными техническими показателями. Хотя традиционные модули Глобальной системы позиционирования (GPS) могут предоставлять точные координаты, их высокое энергопотребление часто становится фатальным недостатком для устройств с батарейным питанием, ограничивая их долгосрочное применение в таких сценариях, как отслеживание логистики, умное сельское хозяйство и управление активами. Для решения этой проблемы была предложена технологическая архитектура LoRa Edge™. Перенося рабочую нагрузку по вычислению местоположения с конечного устройства в облако для обработки, она значительно снижает сложность оборудования и энергопотребление терминала, предоставляя решение для геолокации IoT, которое уравновешивает стоимость, энергопотребление и производительность позиционирования.

Основная концепция этой архитектуры — «Сканирование на чипе, решение в облаке» (Scan-on-Chip, Solve-in-Cloud). Она переносит самые энергоемкие вычислительные задачи в процессе позиционирования с конечного устройства в облако. Конечное устройство, такое как модуль, оснащенный чипом Semtech LR1120, отвечает только за сбор необработанных «ключей» для позиционирования, таких как навигационные сообщения от сигналов GNSS (Глобальной навигационной спутниковой системы) и MAC-адреса ближайших точек доступа Wi-Fi (AP). Эти легковесные данные передаются на облачную платформу через сеть LoRaWAN® с большим радиусом действия и низким энергопотреблением. Облачная платформа, обладая мощными вычислительными возможностями и профессиональными службами определения местоположения, в конечном итоге вычисляет точное географическое положение устройства. Этот перенос ответственности резко снижает энергопотребление конечного устройства, делая возможным создание трекеров активов, которые могут работать годами от небольшой батареи, и устраняя ключевое препятствие для крупномасштабных развертываний IoT.

Читать далее

Делаем брелок с LED матрицей ярче

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

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

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

Читать далее

Pixel Table: от идеи до реализации интерактивного пиксельного стола

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

Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров.

Этап 0: Как всё начиналось

Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

Читать далее

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

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

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

Читать далее

Lua, как инструмент во встроенных системах

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

Есть немало проектов по встраиванию интерпретатора Lua на микроконтроллеры, и некоторые из них помогли мне в своей работе на начальном этапе. Но в данном случае речь пойдет о коммерческом проекте ПЛК, запущенном 3 года назад. За это время был получен интересный опыт, и я хотел поделиться своими мыслями по использованию Lua как инструмента разработки бизнес-логики в распределенных контроллерах ввода/вывода и управления технологическими процессами и оборудованием.

Читать далее

Обзор USB-CAN переходника USB2CANFD_V1

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

В этом тексте я произвел обзор широко распространенного переходника с USB на CAN? который называется USB2CANFD V1.

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

Читать далее

Медианный фильтр на двух бинарных кучах

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

В программировании микроконтроллеров порой приходится прибегнуть к медианной фильтрации.

В этом тексте я произвел разбор решения LeetCode задачи 480. Sliding Window Median в контексте реализации на языке программирования Си.

Читать далее

DIY: как сделать игру за несколько минут

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

От идеи до готовой игры за пару вечеров: как гуманитарий сделал аркаду на ESP32 с помощью Copilot и Wokwi. Исходники в комплекте.

Читать далее

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

Знакомство с программным USB на CH32V003

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

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

Изначально я думал написать статью после создания готового устройства, но пока им занимался столкнулся с тем, что информации получается много и она интересная, поэтому решил разбить это все на части. Это первая, ознакомительная. Я как всегда начал разработку с прототипов и сделал тестовые платы с USB, чтобы “прощупать почву” и про них сегодня будет разговор. Но ради интереса еще попробуем загрузчик и соберем программатор из этой же библиотеки.

Попробуем сделать свой Digispark!

Читать далее

Программист embedded лезет в FPGA (часть 2, передышка на семисегментниках)

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

В предыдущей статье мы поморгали диодом. Большое дело, вообще‑то. После удобных сред разработки, вроде VSCode, CubeIDE, или продуктов JetBrains (поклонники Vim вышли из чата), Квартус не кажется очень уж дружелюбным. Плюс смена подхода к разработке: от программы к схеме. Но ничего, вроде, справились. Получается, мы погрузились в тему, наверное, на уровне «намочить ноги». Теперь, неспеша, зайдём по щиколотку.

Читать далее

Интеграция DMR858M: Практическое руководство по созданию пользовательских цифровых раций на ESP32

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

В области разработки встраиваемых систем интеграция радиочастотных (РЧ) функций в продукт часто сопряжена со сложным проектированием аппаратного обеспечения и трудоемкой реализацией стека протоколов. Модуль DMR858M значительно упрощает этот процесс, предоставляя высокоинтегрированную подсистему цифровой мобильной радиосвязи (DMR) с мощностью передачи до 5 Вт.1 Это не просто РЧ-трансивер, а комплексное решение, внутренне объединяющее микроконтроллер (MCU), чип цифровой рации, РЧ-усилитель мощности и аудиоусилитель.1 Такая конструкция позволяет разработчикам управлять полнофункциональным ядром рации — поддерживающим стандарт DMR Tier II, совместимым с традиционными аналоговыми режимами и оснащенным функциями SMS и шифрования голоса — через простой последовательный интерфейс.1

Читать далее

Схемотехника и алгоритмы световых мечей: вызовы и решения

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

Сага «Звёздные войны» давно стала больше, чем просто серией фильмов. Миллионы людей объединены общей страстью, и для многих из них обладание своим личным световым мечом становится очень важным. Ведь это не только предмет коллекционирования, технологический артефакт или даже спортивный инвентарь, а символ джедайской (или ситхской) философии.

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

Привет, на связи Крэйл из команды умных устройств Яндекса. Но сегодня я расскажу не о Станциях, а о своём необычном хобби. Однажды ко мне обратились производители компонентов с задачей разработать электронику для кастомных световых мечей. Проект оказался ярким во всех смыслах. А в статье я расскажу о том, какие были условия и как я справлялся с поставленными задачами.

Читать далее

CAN-шина (Теория)

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

Вэтом тексте изложены базовые теоретические основы по CAN шине безотносительно к конкретному микроконтроллеру.

CAN — это двухпроводный, дифференциальный, последовательный, полудуплексный интерфейс для передачи бинарных данных между электронными платами (PCB). В качестве кабеля чаще всего применяют одну экранированную витую пару проводов с именами: CAN_L и CAN_H.

Читать далее

Практическое руководство по реализации LoRa-связи точка-точка между модулем LoRa1120 и ESP32

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

Ядром модуля LoRa1120 является чипсет LR1120 от Semtech, интегральная схема, разработанная специально для беспроводной связи на большие расстояния с низким энергопотреблением и для приложений геолокации ¹. Перед началом разработки реальных приложений ключевым фактором успеха является глубокий анализ основных технических возможностей этого модуля. Это не просто LoRa-приемопередатчик, а комплексная платформа, объединяющая несколько режимов связи и функции позиционирования.

Читать далее

Самодельная монтировка телескопа на ESP32

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

Несколько лет назад благодаря таким ютуберам, как Nebula Photos, у меня появился интерес к астрофотографии. Вооружённый OM System OM-5 и объективом Olympus на 15-140 мм, я смог сделать со штатива достаточно приличные снимки туманности Ориона, сняв 300 кадров с двухсекундной экспозицией и затем объединив их в Siril.

Понимая, что могу получить более качественные результаты при помощи трекинга, я примерно за €200 купил трекер Move Shoot Move. Он позволил использовать более долгую экспозицию, но находить объекты для съёмки и обеспечивать правильную привязку к полюсам всё равно было довольно сложно. В итоге я потратил кучу времени на изучение подходящих монтировок телескопов с функциями GOTO (автоматического наведения) и трекинга, почти решившись на приобретение моделей в ценовом диапазоне от €1200 до €4000. Для хобби, в котором я пока был новичком, подобные вложения показались мне перебором.

Читать далее
1
23 ...

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