Рубрика «микроконтроллеры» - 20

image В продолжение своей вчерашней статьи на Geektimes про Самодельный USB-свисток с микрофоном, STM32 и ESP8266 на борту хочу рассказать подробнее про реализацию оцифровки и кодирования звука на микроконтроллере STM32.

В статье покажу как настроить проект в STM32CubeMX, собирать данные с АЦП в два кольцевых буфера посредствам DMA, подключить библиотеку Speex и кодировать данные. Возможно многим материал покажется весьма очевидным, но надеюсь хоть кому-то он будет полезен.

Прошу под кат.
Читать полностью »

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

Коротко описать работу устройства можно так:
Электретный микрофон -> Усилитель Max9812 -> Микроконтроллер STM32F103 -> Программное детектирование наличия звука -> Кодирование звука в Speex -> Отправка через ESP8266 на сервер -> Скрипт PHP приема данных и оформления в звуковой контейнер Ogg. Кому интересно, прошу под кат.
Читать полностью »

Программный графический сопроцессор на STM32 - 1

Прошел год и многие вечера коротались написанием очередного, куда более крупного и на этот раз полезного проекта.
В прошлый раз везде приходилось ужиматься, как только возможно. Ресурсов того многострадального камня мне стало не хватать и в какой-то момент пришло интересное решение. Отдать часть задач другому контроллеру.
( Как и в прошлый раз, под катом много воды и изображений)
Читать полностью »

Подключение различных сенсоров, датчиков, реле, GPIO-расширителей и прочего «ардуиновского» хозяйства по шине I²C напрямую к серверным материнским платам через IPMI-интерфейс бортового контроллера (BMC). Практические примеры I²C-устройств и работа с ними из командной строки утилитой ipmitool. SMBus, PMBus и управление блоками питания. Не очень документированные ограничения и вопросы безопасности. Разоблачение проприетарщины.

Подключение управлямых блоков питания, сенсоров и реле к серверным материнским платам. Без Arduino - 1После установки сервера в самодельную конструкцию порой хочется подключить к нему ещё чего-нибудь: например, датчики температуры, давления, влажности, ЖК-экранчики или даже ШИМ-драйверы моторчиков. Бывают глючные внешние устройства, которые приходится удалённо и жёстко сбрасывать с помощью реле, не уровнив при этом весь сервер целиком. А может, читателю просто захотелось гребёнку GPIO с гирляндой светодиодов? Если это не одноплатник типа Raspberry Pi, а полноразмерный сервер, приходится навешивать микроконтроллер и возиться с ним: писать прошивку, тестировать, налаживать стык с хостом и т.д. Иногда это интересно само по себе, но бывает и наоборот: скорей бы скриптину написать да запустить, наконец, лишь бы работало.

Необычные разъёмы на железе всегда вызывали у автора смешанные чувства инженерно-технического зуда и вентиляторного фетишизма. Об этих занимательных разъёмах здесь и речь.
Читать полностью »

enter image description here

Как известно мир не стоит на месте и активно развивается. Особенно в сфере IT и конкретно разработки ПО. Самое трудное в этом деле это уследить за всеми новинками и выхватить наиболее ценные и полезные из них. Вот и я только недавно наткнулся на дополнение к Visual Studio под названием Visual C++ for IoT Development, которое существует уже почти год. Потенциально — очень полезная штука, но пока это больше яркое название, чем настоящее Visual C++ для IoT. Давайте разберемся почему.

Читать полностью »

Однажды, появилась необходимость использования в нашем устройстве мультиплексного канала обмена информацией (МКИО), он же ГОСТ Р 52070-2003, он же MIL-STD-1553В. Первоначальный результат поисков несколько удивил: типовые решения выдаваемые поисковой системой, как правило, основывались на использовании ПЛИС. Поскольку решать проблему нужно было быстро, появилась мысль сделать конвертер протокола из MIL-STD-1553 в MODBUS RTU. При этом постараться использовать достаточно недорогие технические решения и микроконтроллер из семейства STM32.

Реализация протокола MIL-STD-1553 на STM32 - 1

На фото из Википедии: F16, на котором впервые был использована шина MIL-STD-1553В. Наши устройства не летают :), поэтому каких либо ограничений по применению элементной базы нет. Просто у Заказчика приборная сеть построена на основе этой шины. Первая часть статьи описывает прием и передачу по шине МКИО, вторая часть будет про конвертер в MODBUS.
Читать полностью »

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

Плазмохимический реактор атмосферного давления для модификации полимерных рулонных материалов - 1

Читать полностью »

Путь в десять тысяч ли начинается с первого шага.

Преамбула

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

В своем недавнем (когда я начинал это писать, он действительно был недавним) посте о методах построения модуля инициализации аппаратной части МК (кстати, кому интересна данная тема, обязательно посмотрите комментарии к нему, там дано совершенно замечательное решение, которое, к сожалению, не уместилось на полях этой рукописи) я обещал посвятить следующий пост особенностям UART в микроконтроллерах фирмы STM. Не отказываясь от этого обещания, тем не менее внесу определенные коррективы — будет создана серия постов, посвященная тематике правильной разработки программного пакета (для примера взята реализация протокола MODBUS), и в его рамках будет часть, посвященная вышеозначенной теме.

Поскольку мы будем изучать правильную разработку, нам потребуется контр-пример, так как нет ничего проще, чем показывать чужие ошибки, поэтому в качестве отправной точки будет взята известная реализация упомянутого протокола, а именно FREEMODBUS. Не останавливаясь на вопросах функционирования, стиль данного программного продукта мне не представляется идеальным и я постараюсь показать, как его можно улучшить.
Читать полностью »

Выключатель Gira + Z-Wave. 4-кнопочный радио выключатель на базе Z-Uno - 1

Какие задачи решает радио выключатель:

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

На данный момент существуют Z-Wave выключатели на батарейках, например Z-Wave.Me Wall Controller, но эти выключатели идут с определенным дизайном клавиш. Если вы хотите использовать выключатели Legrand, Gira и др., то тут на помощь приходит Z-Wave плата Z-Uno.
Я покажу как из обычно выключателя Gira сделать радио выключатель на батарейках, который можно установить в любое удобное место. Видео работы выключателя в конце статьи.
Читать полностью »

В прошлый раз мы научились создавать в STM32CubeMX новый проект, настраивать тактовый генератор, таймер и порт ввода-вывода, и немного помигали светодиодом. Сегодня мы освоим цифро-аналоговый преобразователь и научимся работать с ним через DMA. В результате у нас должен получиться простой генератор прямого синтеза (Direct digital synthesizer, DDS).
Начинаем работать в STM32CubeMX. Часть 2 - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js