본문 바로가기

라즈베리파이(RPI)

[버섯][GPIO] 라즈베리 파이를 이용한 간단한 LED 테스트


안녕하세요 버섯돌이 유재성입니다.

 

최근에 라즈베리 파이의 GPIO포트를 이용한 간단한 LED 점멸을 테스트 해 봤습니다.

참고한 자료는 오로카 카페의 GPIO 강좌입니다.

 

http://cafe.naver.com/openrt/226 

위 카페 글에 그림및 환경 설정에 대한 설명이 자세히 나와있으니 카페 글을 참고하시기 바랍니다.

 

사용한 GPIO 포트는 23번, 24번입니다.

이는 라즈베리 파이의 물리적인 핀 번호로 보면 16번과 18번핀입니다.

 

제 경우 스타터킷을 구매했는데 IDE 케이블이 들어있어서 좀 고생을 했네요.^^(쇼트날까봐..^^)

카페의 강좌 글을 보시고 잘 이해가 안되시면 제 사진을 보시면 조금은 도움이 되리라 봅니다.




이런식으로 브레드 보드의 각 핀에 연결하고 라즈베리와는 IDE(GPIO) 케이블로 연결 했습니다.




브레드보드가 구멍 위치가 다른지 글자를 보기 힘들었네요.

보기 편하게 다른 각도에서 촬영했습니다.




역시나 보기 편하게 다른 각도에서 촬영했습니다.



역시 보기 편하게 다른 각도에서 촬영했습니다.

브레드 보드에 연결하는 방법은 어렵지 않게 파악 가능하리라 봅니다.

 

 

IDE(GPIO) 케이블에는 위 처럼 연결 했습니다.

케이블쪽은 잘 안 보이실것 같아서 케이블 부분만 확대해서 촬영했습니다.

 

 

최종적으로 위 처럼 연결되며 LED가 서로 점멸하는 형태로 바꿔서 작성했습니다.

 

소스는 엄청 심플~

 

GPIO 라이브러리 선언하고..

import RPi.GPIO as GPIO

 

라즈베리 파이가 BCM 칩셋을 사용하니 BCM으로 설정..

GPIO.setmode(GPIO.BCM)

 

그리고 LED 깜빡여야하니 23번과 24번 핀을 출력용으로 설정..

GPIO.setup(23, GPIO.OUT)

GPIO.setup(24, GPIO.OUT)

 

불 끄고 켜는건 해당 핀에 True, False로 전원을 넣었따 껐다만 하면 OK~

GPIO.output(23, True)

GPIO.output(24, False)

 

10회 깜빡여주려고 for문과 range() 이용...

파이썬에서의 블럭 범위 설정은 단순히 들여쓰기로 결정...

 

 

[이하 전체 소스..]

import RPi.GPIO as GPIO

import time

 

i=0

GPIO.setmode(GPIO.BCM)

 

print "Setup LED pins as outputs"

GPIO.setup(23, GPIO.OUT)

GPIO.setup(24, GPIO.OUT)

 

GPIO.output(23, False)

GPIO.output(24, False)

 

for i in range(1,10) :

GPIO.output(23, True)

GPIO.output(24, False)

 

time.sleep(1)

 

GPIO.output(23, False)

GPIO.output(24, True)

 

time.sleep(1)

 

raw_input('press enter to exit program')

 

GPIO.output(23, False)

GPIO.output(24, False)

 

GPIO.cleanup()


 

핀 연결이나 동작은 영상을 참고하시기 바랍니다.