Эксперимент 10. Мигалка светодиодом с помощью аппаратного ШИМ

С помощью ШИМ мы можем управлять яркостью светодиода. Для этого мы меняем коэффициент заполнения. Но ведь кроме этого параметра у ШИМ сигнала есть такой параметр как частота. Мы знаем, что для того, чтобы мерцания светодиода не было видно частота должна быть не менее 50 герц. Но на практике можно применять и меньшие частоты. Например, частота ШИМ 1 герц даст нам 1 вспышку в секунду, а с помощью коэффициента заполнения мы можем регулировать сколько времени светодиод горит, а сколько нет. Главное, что это будет происходить аппаратно, а процессор может выполнять в это время другие задачи.

Схема эксперимента

Рисунок 1. Электрическая принципиальная схема эксперимента

Рисунок 2. Монтажная схема эксперимента

Изменений в схеме, по сравнению с предыдущим экспериментом, нет

Программный код эксперимента

Exp10.ino
  1. #define LED_PIN 15
  2.  
  3. void setup() {
  4. pinMode(LED_PIN, OUTPUT);
  5. analogWriteFreq(1);
  6. analogWriteRange(1024);
  7. analogWrite(LED_PIN, 512);
  8. }
  9.  
  10. void loop() {
  11. }

В этой программе нет ничего нового для нас. Только в ней тело функции loop пустое, соответственно в цикле программа ничего не делает. Но светодиод мигает мигать, ведь им управляет не программа, а отдельное устройство внутри микроконтроллера — ШИМ генератор. Наша программа только настроила и запустила его.

Дополнительные задания

Попробуй изменить параметры частоты и скважности ШИМ сигнала, чтобы получить частые короткие вспышки