GPIO 모듈을 활용하여 LED 제어해보자.
GPIO은(general-purpose input/output, GPIO)는 다용도 입출력이란 뜻으로 입력과 출력을 제어할 수 있다.
핀 번호는 BCM 모드로 설정한다.
핀 번호 11번이 BCM 핀번호로는 17번: 컬러 RED 연결.
핀 번호 13번이 BCM 핀번호로는 27번: 컬러 BLUE를 연결.
핀 번호 15번이 BCM 핀번호로는 22번: 컬러 GREEN를 연결.
마지막으로 그라운드(G)핀은 0V에 연결.
각각의 핀을 출력(OUTPUT)으로 설정하고, 각 핀의 출력을 LOW와 HIGH를 1초에 한번씩 번갈아 가며 LED를 ON/OFF 시킬 수 있도록 설정한다.
import RPi.GPIO as GPIO
from time import sleep
# R G B
pins = [17, 27, 22]
GPIO.setmode(GPIO.BCM)
GPIO.setup(pins[0], GPIO.OUT)
GPIO.setup(pins[1], GPIO.OUT)
GPIO.setup(pins[2], GPIO.OUT)
while True:
GPIO.output(pins[0], GPIO.LOW)
GPIO.output(pins[1], GPIO.LOW)
GPIO.output(pins[2], GPIO.LOW)
sleep(1)
GPIO.output(pins[0], GPIO.HIGH)
GPIO.output(pins[1], GPIO.HIGH)
GPIO.output(pins[2], GPIO.HIGH)
sleep(1)
다음으로 R,G,B 값을 LOW, HIGH를 바꾸어 가며 RED, BLUE, GREEN을 만들어 점멸하도록 설정한다.
import RPi.GPIO as GPIO
from time import sleep
# R G B
pins = [17, 27, 22]
GPIO.setmode(GPIO.BCM)
GPIO.setup(pins[0], GPIO.OUT)
GPIO.setup(pins[1], GPIO.OUT)
GPIO.setup(pins[2], GPIO.OUT)
while True:
# RED
GPIO.output(pins[0], GPIO.LOW)
GPIO.output(pins[1], GPIO.HIGH)
GPIO.output(pins[2], GPIO.HIGH)
sleep(1)
# BLUE
GPIO.output(pins[0], GPIO.HIGH)
GPIO.output(pins[1], GPIO.LOW)
GPIO.output(pins[2], GPIO.HIGH)
sleep(1)
# GREEN
GPIO.output(pins[0], GPIO.HIGH)
GPIO.output(pins[1], GPIO.HIGH)
GPIO.output(pins[2], GPIO.LOW)
sleep(1)
도문선 부장님의 1개짜리 led 깜빡이기
from Jetson.GPIO.gpio import HIGH
import RPi.GPIO as GPIO
import time
output_pin = 12
def main():
GPIO.setmode(GPIO.BCM)
GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)
print("Starting demo now! Press CTRL+C to exit")
curr_value = GPIO.HIGH
try:
while True:
time.sleep(1)
print("Outputting{} to pin{}".format(curr_value, output_pin))
GPIO.output(output_pin, curr_value)
curr_value ^= GPIO.HIGH
finally:
GPIO.cleanup()
if __name__ == '__main__':
main()
@현욱
'메이커 프로젝트 > 아두이노 +' 카테고리의 다른 글
젯슨나노 웹캠 이미지 받아오기 (2) | 2021.12.28 |
---|---|
아두이노 서보모터 제어(심화) (2) | 2021.09.28 |
아두이노 블루투스 제어 (0) | 2021.09.03 |
아두이노 DC 모터 제어하기 (0) | 2021.09.03 |
[모듈 1-6] 아두이노 부저로 소리내기(feat. 전자 피아노 만들기) (2) | 2020.09.22 |