본문으로 바로가기

Python #4 (GPIO 제어 및 테스트)

category Python 2020. 7. 24. 17:17

안녕하세요 문쑹입니다!

오늘은 라즈베리 파이 키트를 가지고 간단한 테스트를 해보겠습니다.

 

저는 Ground와 GPIO 21번에다가 실험을 하였습니다.

라즈베리파이 구성도

파이썬 코드를 작성해보겠습니다.

vi gpio.py

#필요한 라이브러리를 불러옵니다.
import RPi.GPIO as GPIO
import time

#버튼 핀의 번호 모드 설정
 GPIO.setmode(GPIO.BCM)

#버튼 핀의 입력설정, PULL_UP 설정
 GPIO.setup(27, GPIO.IN, GPIO.PUD_UP)

#무한반복
while True:
#만약 버튼핀에 High(1) 신호가 들어오면, "High"를 출력합니다.
    state = GPIO.input(27)
    if state == GPIO.HIGH:
        print("High")
        time.sleep(0.1)	#0.1초 딜레이
    else:
        print("Low")
        time.sleep(0.1)

실행을 했을때는 High가 계속 뜨는 것을 확인할 수 있습니다.

*저는 코드에 주석을 입력하니까 인코딩이 깨지면서 에러가 발생합니다! 위의 코드처럼 전부 다 넣고 에러가 발생할 경우에는 주석을 지우고 코드를 넣어주세요!

 

이제 Ground(GND)와 21번에 전도체같은 것으로 실험하였을 때 "Low"가 나오는 것을 확인할 수 있습니다.

라즈베리 파이로 실험

 

cp gpio.py gpio_led.py

저는 오른쪽 맨밑 21번에 점퍼 케이블을 꼽아 주었어요!

실험 사진

vi gpio_led.py

GND(Ground)로 옮겨준 후 실험했습니다.

 

 

vi pwm_led.py

 

불이 천천히 켜지고 천천히 꺼지도록 설정한 코드입니다.

실험영상

이상 포스팅을 마치겠습니다~ 감사합니다 :)

Hasta Luego~!