Освой Arduino играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

PWM (ШИМ)

PWM или ШИМ (Широтно-импульсная модуляция) позволяет добиться эффекта аналогового сигнала на цифровом выводе. Стандартный цифровой вывод может принимать два значения: 0 и 5В. Широтно-импульсная модуляция позволяет обходить это ограничение. Выводы, способные работать с ШИМ-сигналом, помечены символом тильды (~). На Arduino Uno такими являются выводы 3, 5, 6, 9, 10, 11.

Управлять сигналом можно через функцию analogWrite(). В первом аргументе функции указывается номер вывода,а во втором значение от 0 до 255.

ШИМ подходит для эмуляции аналогового выхода, не требующий большой точности, например, для регулировки скорости двигателя постоянного тока. Но подобная эмуляция не слишком пригодна при управлении громкостью звука. Различные компоненты, подключаемые к плате Arduino, рассчитаны на определённый тип сигнала. Вам надо учитывать это в своих проектах.

Сам по себе ШИМ представляет собой изменение скважности (отношения периода к длительности импульса) прямоугольной последовательность импульсов. Так, скважность 50% означает, что половину периода сигнал имеет высокий уровень, а половину - низкий.

При работе со светодиодом, когда мы подаём сигнал в половину значения, то напряжение не понижается, однако мы наблюдаем снижение яркости. Это связано с особенностями нашего зрения. Если светодиод включается и выключается один раз за 1 миллисекунду (скважность 50%), то глазам кажется, что яркость составляет 50% от максимальной, потому что переключение происходит быстрее, чем глаза могут это зафиксировать.

Реклама