Вот и добрался, наконец, до следующего этапа. Тут диплом, заморочки всякие страшные, жизненные трудности и перемены. Времени все не хватало на любимое хобби.
Зато у робота теперь есть имя:) Тимми, как у персонажа Южного парка. Итак, вот, что у меня пока получилось:
Как можно понять из заголовка, сегодня буду рассказывать про контроллер периферии.
Продолжаем тему таймеров в STM32. мы рассмотрели базовые таймеры, которые довольно-таки просты. Но сегодня мы поиграемся с более крутой игрушкой — таймерами общего назначения, которые на голову выше предыдущих.
Когда программируешь для , иногда бывает нужно периодически выполнять какие-либо действия через определённые интервалы времени — скажем, 100 раз в секунду; или хочется иметь с большим разрешением или другой частотой, чем позволяет стандартная функция analogWrite(), или вдруг хочется выполнять какую-то работу параллельно, а вездесущий delay() всё портит. Вот тут-то может пригодиться библиотека TimerOne, которую я вам в двух словах опишу.
Когда-то, уважаемый уже нас с микросхемой L293D. Попробую прояснить некоторые мелкие моменты связанные с её применением, которые были опущены в его статье.
Правда для слитности придётся немножко побыть Кэпом и несколько повториться =\
Для этого воспользуемся самым популярным драйвером, используемым для управления моторчиками – микросхемой L293D.
L293D содержит два драйвера для управления электродвигателями небольшой мощности. Имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью (PWM).
ШИМ (Широтно-Импульсная Модуляция (PWM — Pulse Width Modulation))
— импульсный сигнал постоянной частоты и переменной скважности (отношение длительности импульса к периоду его следования). С помощью задания скважности можно менять среднее напряжение на выходе ШИМ.