Использование GPIO на Raspberry Pi, чтобы помигать светодиодом (python библиотека RPi.GPIO)
Одна из немногих вещей, которые отделяют Raspberry Pi от других одноплатных компьютеров, – это возможность использовать выводы GPIO (входы/выходы общего назначения), на которых может быть установлен высокий или низкий логический уровень для управления любыми внешними устройствами.
В данной статье используются вывод 9 (GND) и вывод 11 (GPIO17). Светодиод был подключен через токоограничивающий резистор между выводами 9 и 11.
Программная реализация
Самый быстрый способ, чтобы начать, это использовать Python, который предустановлен на все образы.
Скачайте библиотеку RPi.GPIO и скопируйте архив .tar.gz на Raspberry Pi, с установленным Raspbian. Откройте терминал и перейдите к каталогу с библиотекой RPi.GPIO. Затем наберите $ sudo python setup.py install
, чтобы установить модуль.
Скачать RPi.GPIO 0.5.11
Операционная система является мультизадачной и не является системой реального времени, в отличие от Arduino, поэтому возможен джиттер, зависящий от приоритета CPU.
Ниже приведен простой код на основе библиотеки RPi.GPIO, который включает и выключает светодиод с задержкой в 1 секунду. Светодиод моргнет 50 раз.
import RPi.GPIO as GPIO
import time
# функция моргания
def blink(pin):
GPIO.output(pin,GPIO.HIGH)
time.sleep(1)
GPIO.output(pin,GPIO.LOW)
time.sleep(1)
return
# использовать номера выводов платы Raspberry Pi
GPIO.setmode(GPIO.BOARD)
# настроить GPIO на выход
GPIO.setup(11, GPIO.OUT)
# моргнуть GPIO17 50 раз
for i in range(0,50):
blink(11)
GPIO.cleanup()