1-236 Ubuntu Mate 라즈베리파이+3 gpiozero 라이브러리로 LED ON/OFF

in #kr5 years ago (edited)

원래의 라즈비안 시스템 OS 인 Jessie, Stretch, Buster 에서 Wubuntu 로 바뀌어 버린 상태에서 GPIO 방식에 의해 단 하나의 LED를 ON OFF 시키는 것조차 만만치 않은 작업이다. 컴퓨터 실력에 관계없이 그냥 실패해 버릴 수도 있는데 남의 얘기가 아니라 바로 필자의 사례이다.

지금 현재 인공지능(머신러닝) RC카를 제작하기 위한 NVIDIA Jetson Nano 보드가 곧 도착하기 이전에 미리 Wubuntu 사용 경험을 쌓기 위한 차원에서 여분으로 가지고 있는 Pi3+ 에 Wubuntu를 설치하고 GPIO 라이브러리를 사용하여 17번 핀에서 1초 간격으로 LED 회로를 ON OFF 시킬 수 있도록 T-bar를 사용하여 점퍼선 배선을 준비하였다.

noname01.png

이 GPIO 배선을 작동시키기 위한 파이선 코드는 라즈베리파이에서와 거의 동일하지만 사용하는 라이브러리 모듈이 다를 수밖에 없다. 라즈베리파이의 라즈비안 OS 에서는 주로 Rpi.GPIO 가 사용되지만 Wubuntu 에서는 gpio zero 가 사용된다.

noname02.png

Wubuntu 파이선 코드에 의해 LED를 ON OFF 하기 위해서는 위에서와 같이 첫 번째 와 두번째 command line만을 실행하면 다 될 줄 알았다. 이때에 셸(Shell)에 뜬 아래의 경고 메시지를 참조해 보자.

noname03.png

gpio zero 홈페이지에서도 언급되지 않고 있는 ‘colorzero’ 라는 라이브러리 모듈의 부재를 지적하고 있다. 처음 경험하는 이름의 라이브러리 모듈 부재 에러인데 이 부분에서 해결 방법이 없었다. 만약 당신이 코딩이 좋아서 하는 사용자라면 이 지점에서 약간의 기지를 발휘할 필요가 있다. 위 그림에서 3번째 command line 입력이 바로 그것이다. 이 명령 한 줄을 추가하여 해결이 되었다.

LED를 1초에 한 번씩 ON OFF 시키기 위한 파이선 코드는 다음과 같다.

from gpiozero import LED
from time import sleep

led = LED(16)

while True:
led.on()
sleep(1)
led.off()
sleep()

![마나마인로고.png]

Coin Marketplace

STEEM 0.31
TRX 0.11
JST 0.034
BTC 66772.03
ETH 3237.54
USDT 1.00
SBD 4.25