ШИМ расшифровывается как широко-импульсная модуляция и широко используется в цифровой технике для управления аналоговыми сигналами. Микроконтроллеры не могут напрямую формировать на своих выходах аналоговые сигналы, ШИМ делает это возможным.
ШИМ расшифровывается как широко-импульсная модуляция и широко используется в цифровой технике для управления аналоговыми сигналами. Микроконтроллеры не могут напрямую формировать на своих выходах аналоговые сигналы, ШИМ делает это возможным.
Для формирования ШИМ сигнала на выводах Ардуино формируются прямоугольные импульсы с определенной частотой. Время в течение которого на выходе высокий уровень сигнала называют шириной импульса, а отношение времени высокого и низкого уровней — коэффициентом заполнения.
На следующих рисунках показано как напряжение изменяться от 0 до 5 вольт, что соответствует длительности импульса от 0 до 100 процентов:
Чем больше коэффициент заполнения ШИМ, тем больше будет яркость светодиода, скорость вращения мотора и т. д.
analogWrite(pin, value)
Функция analogWrite может быть полезна для управления яркостью подключенного светодиода или скоростью вращения электродвигателя. После вызова analogWrite() на выходе будет генерироваться постоянный прямоугольный сигнал с заданной шириной импульса. Частота ШИМ сигнала составляет приблизительно 500 Гц.
analogWrite(3, 100);
На платах Arduino на базе микроконтроллера ATmega328 ШИМ поддерживают порты 3, 5, 6, 9, 10 и 11.