Найти тему
У Павла!

Работа с ШИМ в Raspberry pi

ШИМ ( Широтно-импульсная модуляция ) также еще называется PWM ( pulse-width modulation ) - это процесс управления мощности методом пульсирующего включения и выключения прибора.

Не все пины raspberry pi имеют Широтно-импульсную модуляцию. ШИМ можно настроить с GPIO2 по GPIO27. Вот сама распиновка raspberry pi:

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

Подключать светодиод будем по следующей схеме:

-2

Как показано на принципиальной схеме, мы собираемся подключить светодиод между PIN7 (GPIO4) и PIN6 (Земля). Любой пин Raspberry pi не выдает больше 15 мА , поэтому для ограничения тока мы подключаем резистор 220 Ом в разрез.

После подключения всех компонентов так как показано на схеме нужно написать программу на языке python. Программа выглядит следующим образом:

import RPi.GPIO as IO          #Подключение библиотеки для работы с GPIO

import time                           #Подключение библиотеки для работы с временем

IO.setwarnings(False)           #Не показывать предупреждений

IO.setmode (IO.BCM)        

IO.setup(4,IO.OUT)           # GPIO4 объявляем как выход

p = IO.PWM(4,100)          #объявляем GPIO4 как ШИМ с частотой 100mhz
p.start(0)                              

while 1:                               #бесконечный цикл

#Цикл увеличения яркости

    for x in range (50):                          #Выполнить цикл 50 раз
        p.ChangeDutyCycle(x)           #Изменить скважность импульса для изменения яркости светодиода
        time.sleep(0.1)                          

#Цикл уменьшения яркости

    for x in range (50):                        
        p.ChangeDutyCycle(50-x)        
        time.sleep(0.1)                        

Но так как здесь особо непонятно и не очень наглядно видно сам код, я оставлю ссылку на скачивание данной программы, я ее назвал PWM.py. Скачать можно по ссылке: https://yadi.sk/d/1Kv-TMLm3NjmqA

Ну чтож, теперь если мы запустим данную программу на raspberry pi и увидим, как светодиод сначала постепенно загорается, а после того как загорелся в полную яркость, начнет постепенно тухнуть.

Вот мы и познакомились с принципом работы ШИМ сигнала на Rasperry pi. Надеюсь кому-то было познавательно и полезно.