Если никто не нажмет на кнопку, контакт будет в низком состоянии, «Ардуино» не выполняет блок инструкций после if, перейдя непосредственно к последней digitalWrite, выключающей контакт, к которому подключен светодиод.
analogWrite
analogWrite
Функция analogWrite используется для генерирования ШИМ-сигнала (т. е. сигнала прямоугольной формы), в котором мы можем изменить по желанию процент включенного и выключенного сигнала. Необходимы два параметра: выход и число, который указывает взаимосвязь между включением и выключением. Число не в процентах, а в числовом значении в диапазоне от 0 до 255. Не все контакты «Ардуино» могут генерировать сигнал данного типа; контакты, способные выполнять данную операцию, это 3, 5, 6, 9, 10 и 11. Мы можем их различить, так как на плате, рядом с номером, обозначен небольшой символ тильды (~).
Сделаем эксперимент, изменив скетч предыдущего примера и используя ту же схему: нам нужен только светодиод, подключенный к контакту 11. С ШИМ-сигналом мы можем установить уровень яркости светодиода по желанию. Если использовать число от 0 до 255, то будет немного неудобно, поэтому мы воспользуемся функцией тар(), которая выполняет перераспределяет диапазон чисел от 0 до 255 в диапазон от 0 до 100.
void setup () {
pinMode (11, OUTPUT);
}
void loop() {
int Brightness = 10;
int pwm = map(Brightness, 0,100, 0,255);
analogWrite (11, pwm);
}
В скетче мы также ввели переменные: Brightness и pwm. Переменная – это небольшая часть памяти, в которую может быть записана временная информация. В С (язык, используемый для программирования «Ардуино») переменные не могут быть общими контейнерами, вы должны сначала определить, что они будут содержать. По этой причине, когда вы используете их в первый раз, имени переменной вы должны задать специальное слово: int, которое означает целое число: переменные Brightness и pwm могут содержать только целые числа. Чтобы присвоить значение переменной, нужно просто написать ее имя, знак равенства =, а затем требуемое значение.
Переменные работают как небольшие ящики, к которым мы можем применить имя для напоминания об их содержимом и разместить информацию.
int Brightness = 10;