Рассмотрим скетч Fading (Sketchbook – Examples – Analog — Fading ), как пример работы с функцией — аналоговым выводом сигнала :)
Как мы помним, значение, которое можно передавать в analogWrite должно быть между 0 и 255, что соответствует напряжению от 0V до 5V на выходе порта.
Т.о. постепенно увеличивая/уменьшая переданное в analogWrite значение можно добиться плавного роста/падения напряжения на выходе.
Теперь, подключив к одному из PWM-портов ардуины (3, 5, 6, 9, 10, 11, а на платах на базе ATmega8 только — 9, 10, 11 ) светодиод будет плавно загораться и затухать (fading).
Остаётся собрать простейшую схему
и скомпилировать скетч :)
Код скетча:
// Fading LED
// by BARRAGAN <http://people.interaction-ivrea.it/h.barragan>
int value = 0; // переменная для хранения нужного значения
int ledpin = 9; // светодиод подключен к digital pin 9
void setup()
{
// Нет необходимости вызвать функцию pinMode, чтобы установить
// порт на вывод сигналов перед вызовом функции analogWrite
}
void loop()
{
for(value = 0 ; value <= 255; value+=5) // постепенно зажигаем светодиод (от min до max)
{
analogWrite(ledpin, value); // устанавливаем значение вывода (от 0 до 255)
delay(30); // ждём :)
}
for(value = 255; value >=0; value-=5) // постепенно гасим светодиод (от max до min)
{
analogWrite(ledpin, value);
delay(30);
}
}
Комментарии (3)
RSS свернуть / развернутьА так, да, это ШИМ, а не трушный аналоговый уровень, это надо помнить.
Zoltberg
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.