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

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

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

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

Простейший инфракрасный счётчик на Arduino. С мелкими гадостями

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

Здесь описывается очень простой (возможно, самый простой в мире) самодельный однолучевой горизонтальный инфракрасный счётчик (людей) на Arduino. Его сенсорная система содержит лишь  инфракрасный светодиод, фотодиод, биполярный транзистор и три резистора.  Руководствуясь описанием, счётчик сделать совсем легко.

Но будьте бдительны: в описание я заложил мелкие гадости. А куда и какие - не хочу заранее сообщать. Долой скуку! Да здравствуют приключения!

Как и в обычном квесте, реальной опасности здесь никакой нет. Даже если вы не заметите заложенные “мины”, и всё сделаете в точности так, как тут коварно предложено, струйка дыма из самоделки не пойдёт. Ни один её элемент вообще никак не пострадает. Обещаю. При любом раскладе в итоге удастся без потерь наставить это изделие на путь истинный. (На пути истинном оно прекрасно работает. Проверено.)

От всего этого вы получите большое удовольствие и нужные на практике навыки.

Итак, начинаем!

Читать далее

Новости

Обработка аудио на ESP32

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

В этой статье я хочу поделиться своим опытом портирования проекта распознавания музыкальных жанров аудиозаписей на ESP32-C3. Исходный проект взят из репозитория книги TinyML-Cookbook_2E.
При анализе речи или других звуков важно выделить такие характеристики, которые отражают строение сигнала, но при этом не зависят от конкретных слов, громкости и других мешающих факторов. Для этого используют cepstrum, mel-cepstrum и MFCC - это шаги преобразования, которые переводят звук в удобную для анализа форму.

Читать далее

Быстрое приближённое умножение и деление чисел с плавающей точкой

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

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

Читать далее

Плеер для слабовидящих на ESP32

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

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

Читать далее

Одноплатный компьютер Z80 черпает вдохновение у Пикассо

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

Пикассо и микропроцессор Z80 — это не две вещи, о которых мы часто думаем одновременно. Один — это знаменитый художник, родившийся в 19 веке, а другой — популярный ЦП, который помог запустить движение микрокомпьютеров. И все же последний вдохновил создание компьютера, основанного на первом. Познакомьтесь с RC2014 Mini II Picasso!

Как рассказывает [concretedog], по сути, вы смотрите на RC2014 Mini II. Это одноплатный ретрокомпьютер Z80, который можно использовать для выполнения интересных задач, таких как запуск BASIC, Forth или CP/M. Однако интересное начинается с компоновки. Это та же основная схема, что и у RC2014, но она получила довольно художественный стиль. Микросхемы расположены в разных направлениях, как и пассивные компоненты; даже некоторые резисторы «танцуют» друг над другом. Набор также является ограниченной серией, и каждый комплект имеет уникальное сочетание цветов для шелкографии, разъемов и светодиодов. Для заинтересованных доступны наборы через Z80Kits .

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

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

Читать далее

АОН. Оживляем раритетный телефон из девяностых

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.9K
Приветствую всех!

Многие из нас помнят три самых популярных девайса производства кооперативов: конвертеры PAL->SECAM, компьютеры ZX Spectrum и телефоны с АОН. Последние появились где-то в конце восьмидесятых, а к середине девяностых были широко распространены и встречались практически у всех. Вокруг этих девайсов было своё сообщество, у них были свои любители и свои разработчики, прямо как у отечественных персональных компьютеров на схожей элементной базе.

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



Итак, в сегодняшней статье поговорим про то, как работали такие девайсы. Заодно рассмотрим парочку их представителей, увидим их в работе и заставим их что-то отображать спустя столько лет после ухода в историю «тех» АТС. Традиционно будет много интересного.
Читать дальше →

Применение двухполупериодного активного выпрямителя в схеме многоканального измерителя тока

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

Применение двухполупериодного активного выпрямителя в схеме многоканального измерителя тока.

Делюсь идеей построения измерителя токов.

Читать далее

Настройка ToolChain-а Cборки Прошивок для MIK32 (MIK32 + C+ GCC + GNU Make + OpenOCD)

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

В этом тексте я написал про то, как настроить рабочее окружение для разработки на российском микроконтроллере MIK32 (K1948BK018).

Читать далее

Релиз WB-Cloud On-Premise, Алиса из коробки и другие новости от Wiren Board

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

На WBCE 2025 Александр Дегтярев, руководитель отдела интеграций, представил обзор ключевых обновлений в экосистеме компании. Мы уже публиковали доклад Евгения Богера об  аппаратных новинках, а также рассказали о самых интересных стендах выставки. Сейчас очередь за софтом, а конкретнее облаком, которое превращает Wiren Board в законченную платформу для автоматизации.

Облачные сервисы в последнее время стали важной частью предложения Wiren Board. В статье мы рассмотрим, что здесь появилось нового.

Читать далее

Когда хочется портировать старые игры, но нет ни сил, ни времени: запускаем отсекатель лучей на RISC-V RV32I

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

Всех, кто работает с софт-ядрами, наверное, можно разделить на две категории: первые хотят запустить на своем ядре Linux, вторые — DOOM. Я отношусь ко второй: идея запустить DOOM на ядре YRV, что я синтезирую на отладках, любезно предоставленных FPGA-Systems.ru, преследует меня постоянно и не дает спать.

Как запустить DOOM с ходу, непонятно, ведь у меня все-таки некоммерческий микроконтроллер. Поэтому начну с подготовительного упражнения, чтобы понять, что возможно реализовать на аппаратной части. Когда мы говорим про DOOM, то вспоминаем другие игры любимой компании id Software — Wolfenstein 3D, Catacomb 3D и Hovertank 3D. В них все начинается с алгоритма отсечения лучей (raycasting), с которым и будем поработать. С raycasting можно получить и doom-образный геймплей, надо лишь улучшить разрешение и текстуры.

Читать далее

PicoCalc: назад в Бейсик

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

Изобретательные китайские товарищи из ClockworkPi недавно анонсировали выход нового устройства. Если предыдущий продукт, uConsole, базировался на RaspberryPi CM4 и работал под управлением Linux, то данный продукт, во-первых, более концептуальный, во-вторых, в силу концепции, менее производительный, и в-третьих, что важно, приехал в РФ гораздо быстрее, примерно за месяц.

Читать далее

Evertop: ультра-экономичный ПК на солнечной батарее

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

Evertop — это портативный ПК, эмулирующий IBM XT с процессором 80186 и 1МБ RAM. На нём можно запускать DOS, Minix и некоторые другие ОС из 80-х. Можно запустить и Windows до версии 3.0. Благодаря мощному и при этом экономичному микроконтроллеру, E-Ink дисплею, батареям на 10 000 мАч и реализации исключительных мер энергосбережения, он может работать на одном заряде до сотен и даже тысяч часов. Прибавьте сюда встроенную солнечную батарею и вы сможете использовать его бесконечно в условиях отсутствия сети, не беспокоясь о подзарядке.
Внутри много фото

Синус, косинус, квадратный корень FixedPoint

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

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

Имеется фрезерный станок ЧПУ. Было принято решение, переделать его систему управления, используя ядро Cortex M3. В общем и целом, существуют программные пакеты, позволяющие сделать это. Например GRBL. Однако, у меня своя специфика. Для реализации ПО, потребовались математические операции sin(x), cos(x), sqrt(x). И я задумался над их реализацией в формате фиксированной точки.

Читать далее

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

Четвёртый инженерный хакатон SoC Design Challenge: «Свидетели ошибок» из Аквариус — победители трека UVM верификации

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

С 18 по 20 апреля 2025 г. на площадке НИУ МИЭТ в Зеленограде прошёл четвертый инженерный хакатон SoC Design Challenge, организованный компанией YADRO совместно с Передовой инженерной школой «Средства проектирования и производства электронной компонентной базы» МИЭТ. Более 250 студентов очной формы обучения со всей России собрались, чтобы на практике решить задачи по проектированию и верификации систем на кристалле (SoC) на базе RISC‑V.

В рамках треков «RTL проектирование», «UVM верификация», «Системная верификация СнК» и «Топологическое проектирование» участникам предстояло не только продемонстрировать знания цифровой и аналоговой схемотехники, но также и получить призы — FPGA платы и другие инженерные гаджеты. Все задачи формировались действующими специалистами отрасли и преподавателями МИЭТ, что делало соревнование максимально приближённым к реальным производственным кейсам.

Команда студентов-сотрудников компании Аквариус, трое студентов 4‑го курса НИЯУ МИФИ (каф. 27) команда «Свидетели ошибок»:

1. Силкин Никита Романович

2. Скворцов Ярослав Максимович

3. Никонов Александр Андреевич

За три дня напряжённой работы «Свидетели ошибок» набрали 76 баллов из максимальных 100 и уверенно опередили ближайших соперников на 28 баллов, заняв 1 место среди остальных команд в треке UVM верификации.

Как команда готовилась и добилась победы

Скворцов Я. М.

Хакатон длился три дня с 9:00 до 20:00. Сначала мы подробно разработали верификационный план по спецификации устройства, определили ключевые функции и ошибки для проверки. После этого разделили обязанности: каждый взял часть тестового окружения и приступил к реализации. Регулярные обсуждения архитектурных решений позволили быстро интегрировать результаты и довести тестбенч до рабочего состояния. Локализация багов оказалась самой трудоёмкой частью: требовалось крайне внимательно и с пониманием просматривать результаты тестов. Благодаря эффективной коммуникации и сплочённой атмосфере команда справилась с этой задачей, и мы одержали победу.

Читать далее

Восстановление раритетного аналогового синтезатора Alpha Juno-1 фирмы Roland

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

Одно время  на прогулках по блошиным рынкам я увлеченно высматривал винтажные музыкальные инструменты, особенно синтезаторы 70x-80x годов. Я нахожу их звуки очень красочными и разнообразными, а так же эти устройства интересны с точки зрения схемотехники.

И вот однажды по счастливой случайности и благодаря алгоритму поиска на основе AI на одном из самых популярных интернет-сервисов для купли-продажи подержанных вещей, который предложил мне объявление по моим интересам.

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

После приобретения музыкальный инструмент не подавал ни каких признаков жизни кроме подсветки дисплея. Вскрытие и сверка со схемой из документации показали то, что хоть разработчики и использовали Poka Yoke для предотвращения неправильного подключения межплатных кабелей, но или не досмотрели или ассортимента не хватило и установили на главной плате два разъёма с одинаковым количеством контактов и невнимательный настройщик который обслуживал синтезатор перепутал местами те единственные два кабеля в которых можно было ошибиться. В таком вот состоянии инструмент мне и достался. Уcтранив ошибку сначала я очень обрадовался, - основные функции заработали, но к сожалению вышли из строя два входа микросхемы IC7 “Gate Array“, которая выполняет роль IO интерфейса для CPU, в частности для функций клавиатуры. Из Рис. 1 и Рис. 3-4 видно как происходит обработка нажатия клавиш.

Прочесть

Результаты хакатона — инструкции по сборке и программированию ROS2 роботов

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

Всего две недели назад прошел первый хакатон по сборке и программированию ROS2 робота, где робототехники создавали и воспроизводили ROS2 роботов. В этой статье расскажем про победителей и как это было.

Читать обзор репозиториев роботов

Как бороться с использованием ChatGPT студентами (не запрещая его прямо)

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

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

Как же обломать крылья этой мечте? Запрещать чатгпт бессмысленно, но как сделать так, чтобы с чатгпт стало сильно труднее чем без него? Чтобы студенты пинали его и так и сяк, но решения бы не получалось, а вот у студентов, которые решили сесть и подумать сами - решение бы получалось?

Читать далее

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

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

Перевод статьи с небольшими правками для 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 процесс обычно выглядит следующим образом:

Читать далее

Жгём-шьём контроллеры и кормим ядерную подсветку

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

Четыре сгоревших STM32, три блока питания, 90 ампер, синяя сосиска, 16 бубенчиков и электродиффузия — в этой части кормим подсветку для трёх теликов, пишем с нуля протокол адресных светодиодных лент WS2812b и обматываемся коаксиальными проводами.

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

NVRAM из EEPROM

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

Дана функция чтения и записи EEPROM dword.

Запись и стирание возможно только по выровненному адресу и пословно.

Надо поверх EEPROM API сделать функцию чтения, записи и стирания для произвольных массивов байт, по произвольному адресу (NVRAM).

Простыми словами надо состыковать Dword API с Byte API.

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

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