STM32 и USB-HID — это просто

На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

16 канальный программируемый DC выключатель

Периодически появляется задача управлять нагрузкой различной мощности. И если для 220В это легко решается готовыми модулями твердотельных реле SSR25, то для постоянного напряжения ничего подобного нет.
Каждый раз изобретать велосипед надоело и я сделал девайс на 16 каналов с мощными ключами, каждый из которых в состоянии справиться с нагрзукой до 30В и 10-15А без радиатора, а с радиатором намного больше.
Сейчас освещение постепенно переходит на постоянное напряжение — светодиодные ленты, светодиодные лампы, низковольтные галогенки, куча всего в доме работает от постоянного напряжения и всем этим можно управлять с помощью подобной платы. Ключей можно распаять столько, сколько нужно. Плату можно подключить по UART к компу или через Bluetooth адаптер беспроводно, питание подавать от компа или от того же источника, что питает лампы. Каждый канал имеет свой индикаторный светодиод активности.
Вообще-то у платы совсем другая задача, но и в доме тоже пригодится 🙂

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

Времени ушло примерно 1 день на схему и разводку печатной платы и 1 день на изготовление.
Еще фотки