Использование USB в STM32 на примере Virtual COM port

К счастью, задача программирования работы с портом USB для контроллеров STM32 не отличается особой сложностью. Программа STM32CubeMX, предназначенная для конфигурирования периферии микроконтроллеров STM32, сделает самую грязную работу — скомпонует комплект файлов с исходным кодом, при работе которого ваш прибор уже будет определяться как готовое к работе устройство. Все что вам останется, это обеспечить работу USB-порта с точки зрения схемотехники плюс, разумеется, написать саму логику обработки принимаемой и отдаваемой по USB… Continue reading

Обмен данными между STM32 и ПК через USB virtual COM port

Давайте рассмотрим достаточно типовую на сегодняшний день задачу: есть ПК, есть какое-то внешнее «железо» на базе микроконтроллера с USB, необходимо наладить обмен данными. Рассмотрим решение этой задачи, несколько уточнив требования: работать будем через virtual COM port на базе USB; среда программирования Visual Studio; язык C#, причем требования к аппаратной составляющей и вопросы программирования микроконтроллера STM32F102 освещены в статье-симбионте «Использование USB в STM32 на примере Virtual COM port», а здесь мы рассмотрим только разработку… Continue reading

Подключение Wi-Fi модуля ESP8266 к микроконтроллеру STM32 (STM32L051K6T6)

В принципе, как вам, возможно, известно, микросхема Wi-Fi трансивера ESP8266 и, соответственно, модули, созданные на ее основе не требуют подключения внешнего контроллера, так как разработчиками ESP8266 изначально был открыт доступ к встроенному 32-х битному микроконтроллеру, штатно  работающему на частоте 80 МГц и поддерживающему разгон до 160 МГц. Но, учитывая дополнительные факторы, такие, например, как некоторая нестабильность работы ESP8266, требующая применения внешнего сброса, бедная периферия и, главное, достаточно большой ток потребления даже в режиме… Continue reading

Программное создание MJPEG Time Lapse видео под Android

Это несколько переработанная копия моей статьи на habrahabr.ru. Если у вас нет аккаунта на «Хабре», но есть вопросы по описываемой программе, вы можете задать их здесь. Давайте напишем программу для создания своих собственных фильмов в технике Time Lapse. Завораживающее видео, снятое в этой технике с борта МКС, можно посмотреть здесь, более доступный вариант, который можно повторить с помощью описываемой программы — здесь. Программа имеет простой интерфейс и несложный принцип работы: • пользователь задает периодичность… Continue reading

Процедуры работы с GSM-модулем на примере STM32 (STM32F102) и SIM900

Ежегодно тысячи DIY-энтузиастов разрабатывают свои конструкции GSM-сигнализаций, систем контроля доступа и удаленного управления на базе микроконтроллеров и GSM-модулей. Эта статья посвящена среднему слою программного обеспечения для обмена информацией между GSM-модулем и микроконтроллером и призвана облегчить переход от первого включения GSM-модема (когда на запрос «AT» был получен долгожданный ответ «OK») к полноценной рабочей программе или, другими словами, позволяет сохранить творческий запал за счет быстрого решения чисто технических задач. Программное обеспечение, представленное ниже,… Continue reading

Подключение радиомодуля Si4432 к микроконтроллеру STM32 (STM32F102R8T6)

Рассмотрим вкратце подключение Si4432 к STM32F102 — только схемное решение и небольшой кусочек кода для проверки работоспособности радиомодуля. Обращаю ваше внимание на то, что в статье речь идет именно о готовом модуле Si4432, а не о микросхеме Si4432, которая сама по себе требует довольно обильной обвязки. Тут исторически сложилась небольшая путаница, так как, в отличие от, например, микросхемы Wi-Fi трансивера ESP8266, готовые к применению модули на базе которой имеют собственные названия, вроде «ESP12», модули… Continue reading

Бестрансформаторный блок питания на базе LNK306

Когда-то, когда трава была зеленее, а мамонты вкуснее, рассчитать и собрать мощный (100—200 мА) бестрансформаторный блок питания, преобразующий переменное напряжение 85—265 В в постоянное 5 или 12 В было достаточно нетривиальной задачей. К счастью, прогресс в области бестрансформаторноблокопитания не стоит на месте и сейчас мы можем собрать нужную схему с гораздо меньшим напряжением содержимого черепной коробки. Поможет нам в этом микросхема LNK306, или вернее сказать, семейство LinkSwitch-TN производства Power Integrations, объединяющее в себе… Continue reading

Программное рисование в Android

При разработке программного обеспечения под Android программист пользуется в основном визуальными компонентами, встроенными в ОС, такими как ImageView или EditText. Но иногда возникает необходимость перейти на уровень ниже, рисуя графику непосредственно на экране. Самостоятельное рисование графических примитивов может быть полезно как при кастомизации приложения, работающего на базе стандартных компонентов, так и при разработке собственных компонентов. Нарисуем линию, а если точнее — набор линий, составляющих сетку. Такая конструкция показана на рисунке… Continue reading