728x90
1. sudo raspi-config의 인터페이스 옵션에서 GPIO on
Remote GPIO를 들어갑니다
No로 되어있다면 Yes로 바꿔주세요
완료
2. pip install RPi.GPIO
3. python3 하고 import RPi.GPIO 해보기
->오류가 안뜨면 exit()
->오류 뜨면 sudo apt-get install python-dev 해보기
4. 코드 작성
전에
GPIO 라이브러리 설명
https://junolefou.tistory.com/5
제가 사용할 것입니다.
GPIO.setmode()
어떤 모드의 번호를 사용할 것인지(BCM or BOARD)
GPIO.setup()
GPIO 핀 번호의 입출력 설정
GPIO.input()
값 읽어오기
GPIO.cleanup() 지우기
GPIO 리소스 해제
회로도
저는 풀업 저항을 사용했습니다.
보라색 선은 핀번호에, 검은색 선은 GND에, 빨간색 선은 5V에 해주시면 되는데
저항은 5V인 빨간색 선과 이어주세요
풀업 저항은 버튼이 누르면 0을, 누르지 않으면 1을 반환합니다.
https://swmakerjun.tistory.com/16
파이썬 코드 내용
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(BCM번호, GPIO.IN)
#풀업저항
try:
while True:
btn = GPIO.input(BCM번호)
if btn == 1: #버튼 안눌렀 때
print("Button off")
time.sleep(1)
else: #버튼 눌렸을 때
print("Button on")
time.sleep(1)
except KeyboardInterrupt:
print("Stop GPIO")
GPIO.cleanup()
try except문을 이용합니다.
무한루프를 돌면서 버튼 값을 받습니다.
버튼의 값을 보고
버튼이 안눌리면(1) 'Button off'를 출력
버튼이 눌리면(0) 'Button on'을 출력합니다.
결과는???
누르고 있으면 Button on 출력
안 누르고 있으면 Button off 출력
성공~~
https://earthkingman.tistory.com/30
+
try except문
https://codeomni.tistory.com/386
'라즈베리파이4' 카테고리의 다른 글
[라즈베리파이4] STT (파이썬만으로도 가능) (2) | 2024.01.06 |
---|---|
라즈베리파이 yolov5 설치 오류 프로파일링 (1) | 2024.01.06 |
[라즈베리파이4] python-vlc를 사용하여 파이썬으로 음성 출력 (2) | 2023.10.31 |
[라즈베리파이4] gtts로 텍스트를 음성으로 변환하기 (2) | 2023.10.29 |
[라즈베리파이4] 라즈베리파이4에 yolov5 설치하기 업데이트 (0) | 2023.10.28 |