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

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

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

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

Технологии из прошлого: проводной телефон. Разбираемся в устройстве, строим микро АТС

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

Историю проводной телефонной связи принято отсчитывать с 7 марта 1876 года, когда Александром Беллом был получен патент на изобретение телефона. Интересное совпадение, но практически в то же время, с разницей в несколько часов, другой изобретатель — Элайша Грей – тоже подал заявку на получение патента на изобретение телефона. Но, так или иначе, приоритет и имя в истории остались за Беллом, который 25 июня 1876 года впервые продемонстрировал свой телефон на первой Всемирной электротехнической выставке в Филадельфии.

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

Обнаружение протечек воды на базе NodeMCU и Wi-Fi с отправкой уведомлений

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

Защита от протечек воды — важный аспект безопасности и комфорта в любом доме. Быстрая реакция на утечку может предотвратить серьезные повреждения и затраты на ремонт. В этом проекте мы создадим автономную систему уведомления о протечке воды с использованием микроконтроллера NodeMCU, которая будет отправлять SMS-сообщения при обнаружении утечки.

Читать далее

Управление голосом и наклоном «пульта» для робота CrowBot BOLT: разбор изменений в заводскую прошивку

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.6K
Прошлым летом мы познакомились с модулем голосового управления для ардуино-роботов и использовали его для организации соревнований в детском лагере. С тех пор мы следили за обновлениями продукта и дождались новой интересной функциональности: не только голосовое управление, но и управление наклоном платы.


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

Raccoon Flash Explorer | 9 месяцев спустя…

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

Доброго всем времени ночи :-)

9 месяцев назад я выпустил программатор BIOS-ов для компов и запилил о нём статью.

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

Здесь же я хочу рассказать как всё это происходило, какие были трудности, и всякое прочее.

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

Читать далее

Пилим игровой мультиплеерный сервер на базе esp32: завершение. Портируем игру на esp32

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров5.4K
Картинка Freepik

Итак, в прошлой части статьи мы начали довольно интересное дело — написание своей собственной мультиплеерной игры, которая бы запускалась на esp32, используя её как сервер.

Сегодня мы продолжим это дело и закончим наш проект!

Сразу небольшой спойлер: мы сделаем минимально необходимое, набросав основу игры и добившись её устойчивой работы, в то время как дополнительные «плюшки» — игровой счёт, компьютерные противники (кстати, было бы любопытно прикрутить в этом качестве к esp32 нейросеть!) и прочие улучшающие элементы — вы можете сделать самостоятельно, взяв за основу тот код, который будет в конце статьи. Для тех, кто не в курсе, что такое esp32, можно почитать, например, тут, только надо иметь в виду, что там описана одна из версий — а их существует целая линейка и она постоянно пополняется.
Итак...
Читать дальше →

Ядерная подсветка для механической видеостены

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

В этой серии статей я расскажу, как строил кастомную 500-ваттную подсветку вокруг трёх теликов, какие у неё особенности и как я огибал геометрию экранов с использованием, в том числе, 3D печати из алюминия.

Осторожно, трафик!

Термочувствительные кварцевые резонаторы: must have или must die?

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


Парадоксально, но факт: у термочувствительного кварцевого резонатора РКТ-206 зарубежных аналогов можно считать, что не существует (даже буквы в наименовании кириллические). Западными (точнее восточными, так как речь идет про Seiko-Epson), как их модно стало называть, «партнерами» выпускались аналогичные термочувствительные кварцы, даже с похожим названием HTS-206. Но сейчас, как можете сами убедиться по этой ссылке, их выпуск прекращен «из-за уменьшения объема продаж». Изобилие, представленное на картинке (встреченной в английской Википедии), давно уже сошло на нет. Вроде бы кто-то из европейцев все еще выпускает термокварцы на частоты около 5 МГц, но на данный момент мне их разыскать не удалось.

В статье мы попробуем сначала разобраться, в чем достоинства и недостатки кварцевых датчиков температуры сравнительно с другими способами, а затем предпримем попытку построить датчик на основе термочувствительного кварца. Это все еще может быть практически целесообразным занятием, так как РКТ-206 легко приобрести и это не слишком дорого. По результатам сами можете прикинуть, насколько это целесообразно. Статья получилась неожиданно объемная, но без досконального копания в мелочах тему рассмотреть не получается.
Читать дальше →

Открытая шина данных АСУ ТП

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

Над созданием открытой шины данных АСУ ТП работают как российские, так и зарубежные разработчики. Причина понятна – уйти от проприетарных протоколов и решений и создать единую прозрачную среду передачи данных систем автоматики. Раскроем суть задач, стоящих перед разработчиками.

Читать далее

Телефон на 600 квартир

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров29K
Приветствую всех!
Когда-то давно попался мне на просторах вот такой мем:


Посмотрел я тогда на всё это и забыл. А недавно, встретив его ещё раз, подумал: что, если попробовать сделать такой девайс в реальности? Как насчёт собрать такой телефон, по которому в самом деле можно будет позвонить? Именно этим-то мы сейчас и займёмся.
Читать дальше →

Альянс RISC-V подвёл итоги первого этапа программы DEVBOARDS: проект победителя

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

В мае 2024-го года стартовала программа предоставления раннего доступа к архитектуре RISC-V DEVBOARS, целью которой было продвижение отечественных микроконтроллерных решений в различные индустриальные сегменты рынка, образовательную среду и даже в комьюнити энтузиастов. На первом этапе программы участники использовали решение от компании АО “Микрон” - микроконтроллер MIK32 АМУР (К1948ВК018) на базе отладочной платы MIK32, наделавшей много шума в последнее время. И в этой статье мы с вами рассмотрим проекты, которые были отмечены высокими оценками жюри и что из этого всего вышло. Поехали!

Читать далее

Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 4

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

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

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

Подробнее читайте в этой статье!

Читать далее

Цифровой звук на STM32: подключаем аналоговый микрофон через SAI и NAU88C22

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

ИИ обложка, потому что модно.

Иногда простой проект превращается в увлекательное исследование. Разбираясь с записью звука на STM32L432 через аудиокодек NAU88C22, я не только подключил микрофон и настроил кодек, но и столкнулся с рядом интересных задач. Разбираясь с ними, я узнал много нового о SAI, работе с SD-картой и нюансах цифрового звука — и теперь хочу поделиться этим опытом.

Железка, на которой идет разработка, — это не просто плата для экспериментов, а прототип, сделанный как образец для одного проекта. Так что любопытство, конечно, присутствовало, но двигало процесс скорее желание довести до ума конкретное (будущее) устройство.
Читать дальше →

Пилим игровой мультиплеерный сервер на базе esp32: начало

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

Одно из самых приятных проявлений программирования — это создание игр. Почему бы и нам не запилить свою?

Тем более не так давно у меня появилась довольно странная мысль, которая уже который день не отпускает меня — а что если сделать многопользовательский игровой сервер на базе ESP32? О_о

Можно и на базе обычного вебсервера и хостинга, но это как-то уныло, как у всех, «а душа хочет гусарства» :-))) Понятно, что это наложит довольно жёсткие ограничения на максимальное количество игроков и объём передаваемых между ними данных из-за слабости аппаратной платформы, но мысль всё же занятная.

Проще говоря: игра хостится на ESP32, клиенты подключаются к ней, и ESP32 отдаёт им страницу с игрой. После этого начинается игровой процесс: клиенты обмениваются данными через ESP32, которая выступает в роли сервера, а все ресурсоёмкие задачи по максимуму обрабатываются на стороне клиентов. Теоретически, при таком подходе может что-то получиться. Попробуем…
Читать дальше →

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

VSCode, SourceCraft Code Assistant и микроконтроллеры

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

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

В этой статье я расскажу, как использовать VSCode для разработки прошивок под разные архитектуры и как мне в этом помогает SourceCraft Code Assistant от разработчиков Yandex Cloud & Yandex Infrastructure.

Читать далее

Имитатор касаний. Ч3: Программная часть

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

Цифры нажимались как бы сами собой, быстро следуя в чётком порядке. Это было очень круто! Кряк даже пустил слезу от умиления, а енот довольно потирал свои ловкие ручонки.) Наверняка ему не терпится сделать ещё один интересный проект.
+++
Проанализировав данные, полученные с помощью обратной разработки в части 1 и части 2, можем прикинуть алгоритм работы имитатора касаний, написать приложение и взломать пароль! Этим сегодня и займёмся.

– Кто-нибудь, разбудите программиста!
Читать дальше →

Приглашаем на хакатон по сборке и программированию учебного ROS2-робота

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

Добрый день! Приглашаем вас принять участие в хакатоне «Сборка и программирование учебного ROS2-робота», который пройдёт в первом блоке ROS-митапа 4-6 апреля 2025 года. Второй блок будет посвящён мастер-классам для робототехников.

Читать далее

Cтандарт RISC-V RV32I и математика с плавающей точкой

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

Стандарт RISC-V RV32I не содержит команд умножения и деления, поэтому интересно, достаточно ли в софт-ядре реализовать стандарт RV32I, чтобы можно было вычислять что-то серьезное. На примере RISC-V процессора YRV, описанного в книге «Inside an Open-Source Processor, мы рассмотрим, как, используя компилятор GCC, рассчитать такие тригонометрические функции, как синус, косинус и тангенс и вывести на экран результат. Даже нарисуем олдскульную синусоиду в VGA-режиме.

Читать далее

Рудирон — разработка ПО на языке С++ и дополнительные программные инструментальные средства

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

Установка и использование программных средств для программирования и взаимодействия с контроллером «Рудирон».

Читать далее

Часы на базе микроконтроллера ch32v003 (часть 2)

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

Эта статья, продолжение статьи часть 1. Как правильно в ней заметил @mozg37 в комментариях, RC генератор не обеспечивает достаточной точности хода часов. Благо на aliexpress можно заказать готовую плату nanoCH32V003 с кварцем на борту. В итоге получилось немного модернизировать плату и собрать проект в корпусе, распечатав его.

Читать далее

Векторизация в RISC-V. Основы

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

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

В процессорах архитектуры x86 SIMD инструкции добавляются по принципу ad hoc. Из-за такого подхода, легаси и требований обратной совместимости в x86 накопилось много проблем.

Архитектура RISC-V относительно молодая, и при её разработке учтён прошлый опыт. В основе подхода к SIMD в RISC-V заложили идею чистого векторного процессора.

В этой статье рассмотрим основные принципы работы векторного процессора и базовые векторные операции с памятью и арифметикой.

Читать далее

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