ШИМ ШИМ – Широтно-импульсная модуляция Частота – продолжительность одного такта измеряется в герцах 1Гц = 1 сек Функция analogWrite() Описание Выдает аналоговую величину (ШИМ волну) на порт вход/выхода. Функция может быть полезна для управления яркостью подключенного светодиода или скоростью электродвигателя. После вызова analogWrite() на выходе будет генерироваться постоянная прямоугольная волна с заданной шириной импульса до следующего вызова analogWrite (или вызова digitalWrite или digitalRead на том же порту вход/выхода). Частота ШИМ сигнала приблизительно 490 Hz. На большинстве плат Arduino (на базе микроконтроллера ATmega168 или ATmega328) ШИМ поддерживают порты 3, 5, 6, 9, 10 и 11, на плате Arduino Mega порты с 2 по 13. На более ранних версиях плат Arduino analogWrite() работал только на портах 9, 10 и 11. Для вызова analogWrite() нет необходимости устанавливать тип вход/выхода функцией pinMode(). Функция analogWrite никак не связана с аналоговыми входами и с функцией analogRead. Синтаксис analogWrite(pin, value) Параметры pin: порт вход/выхода на который подаем ШИМ сигнал. value: период рабочего цикла значение между 0 (полностью выключено) and 255 (сигнал подан постоянно). Оператор For Конструкция for используется для повторения блока операторов, заключенных в фигурные скобки. Счетчик приращений обычно используется для приращения и завершения цикла. Оператор for подходит для любых повторяющихся действий и часто используется в сочетании с массивами коллекций данных/выводов. Заголовок цикла for состоит из трех частей: for (initialization; condition; increment) {операторы выполняющиеся в цикле} Инициализация (Initialization) выполняется самой первой и один раз. Каждый раз в цикле проверяется условие (condition), если оно верно, выполняется блок операторов и приращение (increment), затем условие проверяется вновь. Когда логическое значение условия становится ложным, цикл завершается.