[raspberry pi] 4.python 명령어로 입출력 제어하기
#정리
01_led - 출력 제어
** gpio.setwarnings(False) #경고 기능 종료
#import RPi.GPIO as gpio 선언 필요
#핀번호 할당
- LED_RED = 4 #BCM 번호 사용
#입출력 모드 설정
- gpio.setmode(gpio.BCM) #BCM 코드로 핀 구분 // gpio.BOARD : 물리적 핀 번호로 핀 구분
- gpio.setup(LED_RED,gpio.OUT) #출력 모드로 변경#출력 제어 코드(3가지 문법 가능)
- gpio.output(LED_RED,True) #LED ON
- gpio.output(LED_RED,gpio.HIGH) #LED ON
- gpio.output(LED_RED,1) #LED ON
#할당되었던 리소스 해제
- gpio.cleanup()#02_button - 입력 제어
#import RPi.GPIO as gpio 선언 필요
#핀번호 할당
- BUTTON = 22 #BCM 번호 사용
#입출력 모드 설정
- gpio.setmode(gpio.BCM) #BCM 코드로 핀 구분 // gpio.BOARD : 물리적 핀 번호로 핀 구분
- gpio.setup(BUTTON,gpio.IN,pull_up_down=gpio.PUD_DOWN) #입력모드로 변경 / 버튼 눌릴 때, 입력#입력 제어 코드
- status = gpio.input(BUTTON) #BUTTON read
#할당되었던 리소스 해제
- gpio.cleanup()
#01_led - 출력 제어
** gpio.setwarnings(False) #경고 기능 종료
#import RPi.GPIO as gpio 선언 필요
#핀번호 할당
- LED_RED = 4 #BCM 번호 사용
#입출력 모드 설정
- gpio.setmode(gpio.BCM) #BCM 코드로 핀 구분 // gpio.BOARD : 물리적 핀 번호로 핀 구분
- gpio.setup(LED_RED,gpio.OUT) #출력 모드로 변경
#출력 제어 코드(3가지 문법 가능)
- gpio.output(LED_RED,True) #LED ON
- gpio.output(LED_RED,gpio.HIGH) #LED ON
- gpio.output(LED_RED,1) #LED ON
#할당되었던 리소스 해제
- gpio.cleanup()
#02_button - 입력 제어
#import RPi.GPIO as gpio 선언 필요
#핀번호 할당
- BUTTON = 22 #BCM 번호 사용
#입출력 모드 설정
- gpio.setmode(gpio.BCM) #BCM 코드로 핀 구분 // gpio.BOARD : 물리적 핀 번호로 핀 구분
- gpio.setup(BUTTON,gpio.IN,pull_up_down=gpio.PUD_DOWN) #입력모드로 변경 / 버튼 눌릴 때, 입력
#입력 제어 코드
- status = gpio.input(BUTTON) #BUTTON read
#할당되었던 리소스 해제
- gpio.cleanup()
#03_led_button - 입/출력 제어(mission)
--예문 코드 보기--
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import RPi.GPIO as gpio
print("led....")
#핀번호 할당
LED_RED = 4
LED_YELLOW = 17
BUTTON = 22
#입출력 모드 설정
gpio.setmode(gpio.BCM) #gpio.BOARD << 물리적 핀 번호로 호출하는 옵션
gpio.setup(LED_RED,gpio.OUT)
gpio.setup(LED_YELLOW,gpio.OUT)
gpio.setup(BUTTON,gpio.IN,pull_up_down=gpio.PUD_DOWN)
for i in range(20):
status = gpio.input(BUTTON) #BUTTON read
print("status: ",status)
if status == 1:
gpio.output(LED_RED,1) #LED ON
gpio.output(LED_YELLOW,1) #LED ON
time.sleep(0.5)
else:
gpio.output(LED_RED,0)
gpio.output(LED_YELLOW,0)
time.sleep(0.5)
gpio.cleanup() #할당되었던 리소스 해제