Во дворе дома Луми вы сидите с доктором Луми и обсуждаете, как сделать уличные фонари более умными.
В недоумении вы спрашиваете: «Доктор Луми, как можно продемонстрировать интеллект уличного фонаря?»
Доктор Луми ответил: «Если мы превратим уличный фонарь в дышащую лампу, он будет выглядеть более живым и умным».
Вы задаетесь вопросом: «Доктор Луми, как мы добиваемся эффекта дышащей лампы?»
«Принцип «дышащей лампы» заключается в создании эффекта «дышащей лампы» путем постепенного увеличения и уменьшения яркости светодиодов, и для этого мы можем использовать технологию широтно-импульсной модуляции (ШИМ)», — с улыбкой объясняет доктор Луми.
«Что такое ШИМ?»
Доктор Луми терпеливо ответил: «ШИМ — это управление яркостью или скоростью устройства путем регулирования соотношения времени между высоким и низким уровнями сигнала, см. введение ШИМ ниже».
ШИМ
ШИМ — это аббревиатура от «широтно-импульсной модуляции». Используйте различные рабочие циклы для имитации «аналогового выхода». Рабочий цикл — это доля времени в цикле импульсов, которое является высоким, от общего времени цикла, единица измерения — % (0%- 100%).
Изменяя рабочий цикл ШИМ, можно изменять среднее напряжение выходного сигнала, чтобы реализовать вывод аналогового напряжения.
Для реализации ШИМ с заданным рабочим циклом можно использовать оператор «analogWrite(pin,dutyCycle)», где значение pin — это контакт платы управления, а значение dutyCycle находится в диапазоне от 0 до 255, где 0 — рабочий цикл 0%, а 255 — рабочий цикл 100%.
Например, оператор «analogWrite(pin,127) » имеет рабочий цикл 50%, что означает, что если вы подключите 5 В, это будет эквивалентно подаче только 2,5 В.
Ваши глаза загораются: «Так…»
Доктор Луми улыбнулся и кивнул. «Да, в программе «Дыхательная лампа» мы управляем входным напряжением с помощью функции analogWrite, которая принимает в качестве параметра число от 0 до 255, указывающее на уровень напряжения. Чем меньше значение, тем меньше напряжение, тем темнее светит светодиод; чем больше значение, тем выше напряжение и тем ярче светодиод».
«Давайте начнем!» — взволнованно говорите вы.
Доктор Луми ободряюще улыбнулся. «Вы можете воспользоваться этой инструкцией».
void setup() {
pinMode(5, OUTPUT); // установите вывод 5 в качестве выхода
}
void loop() {
for(int i=0;i<255;i++){ // цикл от 0 до 254
analogWrite(5,i);// записываем значение ‘i’ на вывод 5 (ШИМ-выход)
delay(5); // задержка на 5 миллисекунд
}
for(int i=255;i>0;i—){// цикл от 255 до 1
analogWrite(5,i); // записываем значение ‘i’ на вывод 5 (ШИМ-выход)
delay(5); // задержка на 5 миллисекунд
}
}
Конечно, я также предоставлю вам самый простой способ открыть эту гиперлинию: Нажмите, чтобы получить программу «Дышащий свет».
После загрузки программы появится следующий эффект: светодиодный модуль будет постепенно загораться, а затем постепенно гаснуть.
Во дворе Дома Луми вам и доктору Луми наконец-то удалось применить эффект «дышащей лампы» к уличному фонарю. Вся улица Дома Люми светится мягким и теплым светом в ночи, как живой свет.