# Данный пример постоянно меняет сигнал ШИМ на 3 канале модуля.    
                                     # * Строки со звёздочкой являются необязательными.
from time import sleep               #   Подключаем метод sleep их модуля time
from pyiArduinoI2Crelay import *     #   Подключаем модуль для работы с ключём
pwrkey = pyiArduinoI2Crelay(0x09)    #   Объявляем объект pwrkey
                                     #   Если объявить объект без указания адреса (iarduino_I2C_Relay pwrkey ), то адрес будет найден автоматически.
val = 2                              #   Определяем начальное аналоговое значение.
flag = True                          #   Определяем флаг приращения аналогового значения (0-убывает, 1-растёт).
                                     #
pwrkey.analogWrite(ALL_CHANNEL, 0)   # * Отключаем все каналы.
print("Меняем сигнал ШИМ"            #
      " на 3-м канале."              #
      " Нажмите ctrl+c для"          # 
      " остановки")                  # 
                                     #
while True:                          #
  sleep(0.01)                        #   Чем выше задержка, тем плавнее меняется аналоговый уровень.
  if val <= 2 or flag:               #   Меняем спад аналогового уровня на рост.
    val *= 1.05                      #   Увеличиваем аналоговое значение
    flag = True                      #   Устанавливаем флаг
  if val >= 4095 or not flag:        #   Меняем рост аналогового уровня на спад.
    val /= 1.05                      #   Уменьшаем аналоговое значение
    flag = False                     #   Сбрасываем флаг
                                     #
  pwrkey.analogWrite(3, val)         #   Устанавливаем на 3 канале модуля ШИМ с уровнем «val».
                                     #   Допустимые значения ШИМ - от 0 до 4095.
