Съдържание:

Угасване на LED вход и изход: 3 стъпки
Угасване на LED вход и изход: 3 стъпки

Видео: Угасване на LED вход и изход: 3 стъпки

Видео: Угасване на LED вход и изход: 3 стъпки
Видео: Светильник на адресных LED, для подсветки, уведомлений и аварийного освещения. ESP32 и WLED 2024, Юли
Anonim
Угасете светодиода навътре и навън
Угасете светодиода навътре и навън

Следващите стъпки са експерименти, които илюстрират как работят светодиодите. Те илюстрират как да затъмните светодиода с равномерна скорост и как да го избледняват навътре и навън.

Ще имаш нужда:

  • Arduino (използвах дует)
  • Платка
  • 5 мм червен светодиод
  • Резистор 330 Ω (не е критичен 330-560 Ω ще работи.)
  • Твърд свързващ проводник с 22 габарита

Частите, необходими за тези експерименти, са включени във всички стартови комплекти на Arduino.

Стъпка 1: Обяснена импулсна модулация

Обяснена импулсна модулация
Обяснена импулсна модулация
Обяснена импулсна модулация
Обяснена импулсна модулация
Обяснена импулсна модулация
Обяснена импулсна модулация

Светодиодите винаги работят с едно и също напрежение, независимо от яркостта. Яркостта се определя от осцилатор с квадратна вълна и времето, през което напрежението е високо, определя яркостта. Това се нарича Pulse Width Modulation (PWM). Това се контролира от функцията Arduino analogWrite (pin, n), където n има стойност от 0 до 255. analogWrite () извежда ШИМ, не е истински аналог. Ако n = 2, светодиодът ще бъде два пъти по -ярък от n = 1. Яркостта винаги се удвоява, когато n се удвои. Така че n = 255 ще бъде два пъти по -ярко от n = 128.

Стойността на n често се изразява като процент, наречен работен цикъл. Снимките показват следи от осцилоскоп за 25, 50 и 75% работни цикли.

Стъпка 2: Неравномерно затъмняване

Неравномерно затъмняване
Неравномерно затъмняване
Неравномерно затъмняване
Неравномерно затъмняване

Изградете веригата, както е на диаграмата. Това е точно като веригата за мигане на светодиод. Той използва пин 9, защото трябва да използвате PWM активиран щифт.

Копирайте/поставете скицата по -долу в IDE на Arduino и я стартирайте.

Ще забележите, че колкото по -ярък е светодиодът, толкова по -бавно затъмнява. Когато наближи най -слабото, ще стане много по -слабо.

void setup ()

{pinMode (9, OUTPUT); } void loop () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (pin, i); забавяне (10); } for (int i = 0; i <256; i ++) {analogWrite (pin, i); забавяне (10); }}

}

Следващата стъпка показва как да затъмните светодиода с постоянна скорост и в един за изявление.

Стъпка 3: Нагоре и надолу в One For ()

За да свети светодиодът с постоянна скорост, забавянето () трябва да се увеличи с експоненциална скорост, тъй като половината работен цикъл винаги ще произвежда половината яркост. Първата ми мисъл беше да се опитам да използвам функцията map (), но тя е линейна.

Линията:

int d = (16-i/16)^2;

изчислява обратния квадрат на яркостта, за да определи дължината на забавянето.

Копирайте/поставете скицата по -долу в IDE на Arduino и ще видите, че светодиодът ще избледнява и изгасва с постоянна скорост.

void setup ()

{pinMode (9, OUTPUT); } void loop () {int x = 1; int pin = 9; за (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); забавяне (г); ако (i == 255) x = -1; // превключване на посоката на върха}}

Препоръчано: