Публікації

Показано дописи з міткою "LCD"

Пробуем ШИМ

Зображення
Быстрая проба ШИМ, основанной на таймере. Для эксперимента будем использовать Timer 4. Подключим светодиод, как показано на схеме ниже. Пин PB9 можно использовать, как выход PWM (TIM4_CH4). Выполним простые шаги: Инициализация ШИМ: PWM_TIM4_Init(1000 {частота ШИМ}); Установим коэффициент заполнения: PWM_TIM4_Set_Duty(duty_cycle, _PWM_NON_INVERTED, _PWM_CHANNEL4); Здесь мы указываем, что сигнал ШИМ не инвертирован, канал таймера - 4. Запускаем ШИМ на четвертом канале таймера, который физически подключен к PB9: PWM_TIM4_Start(_PWM_CHANNEL4, @_GPIO_MODULE_TIM4_CH4_PB9); Максимальное значение коэффициента заполнения (Duty cycle) мы можем получить при вызове функции инициализации. Period:= PWM_TIM4_Init(1000 {частота ШИМ}); Для каждого значения частоты ШИМ генератора, значение максимального коэффициента заполнения будет разным, чем выше частота, тем меньше разрешение генератора ШИМ. Для STM32F103C8T6, для стандартных настроек тактирования , отношения частот и...

Настраиваем показания энкодера для применения в меню

Зображення
В моём энкодере 20 щелчков. В общем случае, когда энкодер применяется для позиционирования механизмов, никаких щелчков не будет, но конкретно этот энкодер можно применить для управления меню, да и только. В максимальном разрешении, при каждом щелчке позиция изменяется на 4. Это происходит потому что мы считаем каждый фронт от двух каналов.

Подключаем LCD 20x4 к STM32 Blue Pill

Зображення
Для подключения дисплея используем GPIOB, так как пины этого порта толерантны к напряжению 5V. Сам дисплей питается от 5V. Для настройки контраста используем переменный или подстроечный резистор, значение его сопротивление может быть от 4.7K до 10K.