===== Эксперимент 10. Мигалка светодиодом с помощью аппаратного ШИМ =====
С помощью ШИМ мы можем управлять яркостью светодиода. Для этого мы меняем коэффициент заполнения. Но ведь кроме этого параметра у ШИМ сигнала есть такой параметр как частота. Мы знаем, что для того, чтобы мерцания светодиода не было видно частота должна быть не менее 50 герц. Но на практике можно применять и меньшие частоты. Например, частота ШИМ 1 герц даст нам 1 вспышку в секунду, а с помощью коэффициента заполнения мы можем регулировать сколько времени светодиод горит, а сколько нет. Главное, что это будет происходить аппаратно, а процессор может выполнять в это время другие задачи.
==== Схема эксперимента ====
{{ :products:esp-iot:hwpwmschematic.png?nolink |}}
//Рисунок 1. Электрическая принципиальная схема эксперимента//
{{ :products:esp-iot:hwpwm.png?direct&600 |}}
//Рисунок 2. Монтажная схема эксперимента//
Изменений в схеме, по сравнению с предыдущим экспериментом, нет
==== Программный код эксперимента ====
#define LED_PIN 15
void setup() {
pinMode(LED_PIN, OUTPUT);
analogWriteFreq(1);
analogWriteRange(1024);
analogWrite(LED_PIN, 512);
}
void loop() {
}
В этой программе нет ничего нового для нас. Только в ней тело функции ''loop'' пустое, соответственно в цикле программа ничего не делает. Но светодиод мигает мигать, ведь им управляет не программа, а отдельное устройство внутри микроконтроллера — ШИМ генератор. Наша программа только настроила и запустила его.
==== Дополнительные задания ====
Попробуй изменить параметры частоты и скважности ШИМ сигнала, чтобы получить частые короткие вспышки