Это старая версия документа!


Эксперимент 9. Пульсирующий маячок

Мы научились пользоваться аппаратным генератором ШИМ. Попробуем с помощью него сделать что-то более интересное, чем просто светящийся не в полную мощность светодиод. Например, попробуем изменять яркость светодиода во времени по определенному закону.

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

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

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

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

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

Exp8.py
  1. from machine import Pin, PWM
  2. import time
  3. import math
  4. _init()
  5.  
  6. LedPin = 15
  7.  
  8. led = Pin(LedPin, Pin.OUT)
  9. pwmLed = PWM(led)
  10.  
  11. def pulse(l, t):
  12. for i in range(20):
  13. l.duty(int(math.sin(i / 10 * math.pi) * 500 + 500))
  14. time.sleep_ms(t)
  15.  
  16. while 1:
  17. pulse(pwmLed, 50)

В программе мы подключили дополнительную библиотеку math она содержит математические функции, такие как синус.

Кроме того, мы впервые, столкнулись с подпрограммой. Подпрограммы нужны для того, чтобы можно было использовать один и тот же кусок кода несколько раз в программе не копируя каждый раз одно и то же. Гораздо удобнее вынести такой код в отдельную подпрограмму и вызывать ее всякий раз, когда она нужна.

Кроме того подпрограмма может принимать параметры и возвращать данные.