라즈베리 파이의 GPIO 핀에 LED를 연결한 후 LED를 켜고 끄는 코딩을 해 본다.
- 파이썬 코드는 Thonny 프로그램으로 작성한다.
- LED 제어를 위해 gpiozero 파이썬 모듈을 사용한다.
- 일정 시간 동안 코드의 실행을 멈추기 위해 time 파이썬 모듈의 sleep 함수를 사용한다.
- GPIO 18(GPIO 해더의 12번 핀)로 LED를 제어한다.
LED 연결은 아래와 같다.
LED 연결을 완료한 후 아래의 코드를 작성, 실행해 본다.
from time import sleep
from gpiozero import LED
led_18 = LED(18)
for n in range(10):
led_18.on()
sleep(.5)
led_18.off()
sleep(.5)
gpiozero 파이썬 모듈은 기본적으로 설치되어 있는 모듈이다. 이는 터미널 창에서 pip3 list로 간단히 확인할 수 있다.
gpiozero 모듈의 클래스 LED로 GPIO 핀 제어를 위한 객체를 생성한다. 객체 생성 시 전달하는 핀 번호는 GPIO 해더의 핀 번호가 아닌 BCM (Broadcom) 번호를 사용한다. gpiozoero 모듈에 대한 자세한 정보는 아래의 경로에서 확인한다.
https://gpiozero.readthedocs.io/en/stable/index.html
클래스 LED의 객체는 아래의 객체 변수나 메서드 사용이 가능하다.
- is_lit -> True는 ON 상태를, False는 OFF 상태를 의미
- pin -> 핀 정보
- value -> 1은 ON 상태를, 0은 OFF 상태를 의미하며 쓰기 가능
- on() -> ON 상태로 만듬
- off() -> OFF 상태로 만듬
- toggle() -> ON 상태면 OFF로, OFF 상태면 ON으로 만듬
on(), off() 메서드를 value 객체 변수로 대체한 코드는 아래와 같다.
from time import sleep
from gpiozero import LED
led_18 = LED(18)
print(led_18.pin)
print(led_18.is_lit)
for n in range(10):
led_18.value = 1
sleep(.5)
led_18.value = 0
sleep(.5)
'코딩 > 파이썬과 라즈베리파이' 카테고리의 다른 글
[Raspberry Pi] 라즈베리 파이와 함께 하는 파이썬 코딩 017. 부저로 소리 내기 (0) | 2021.05.17 |
---|---|
[Raspberry Pi] 라즈베리 파이와 함께 하는 파이썬 코딩 016. 스위치(버튼)으로 LED 제어 (0) | 2021.05.17 |
[Raspberry Pi] 라즈베리 파이와 함께 하는 파이썬 코딩 014. GPIO 3.3V 핀에 LED 연결 (0) | 2021.05.16 |
[Raspberry Pi] VNC로 라즈베리 파이에서 원격접속 PC로 파일 전송하기 (0) | 2021.05.16 |
[Raspberry Pi] VNC로 원격접속 PC에서 라즈베리 파이로 파일 전송하기 (0) | 2021.05.16 |