라즈베리파이를 이용하여 LED를 0.5초 간격으로 점등, 점멸시키는 준비과정, 코드를 설명해보고자 한다.
내용
사용기기는 라즈베리파이 3B+이고,
개발환경은 라즈베리파이 OS 설치할 때 같이 설치되어있던 Thonny로 하였고, 언어는 파이썬.
라즈베리 파이와 브레드 보드를 코블러 커넥터를 통해 아래 사진과 같이 연결한다.
일단 여기선 GPIO6을 사용할 것이고, 보게 되면
이렇게 GND(접지)는 - 버스와 연결해주고, 3.3V Power는 +Bus와 연결시켜 주고, GPIO6을 LED와 연결하여 준다.
참고로 본인이 사용한 LED를 보시면 아래와 같이 되어있는데,
긴 부분은 GPIO6에, 짧은 건 GND 연결된 -버스에 연결하면 된다.
참고로 긴 부분을 Anode(애노드)라고 하며, 짧은 부분은 Cathode(캐소드)라고 한다.
그리고 원래는 과도한 전류로부터 LED를 보호해주어야 하기 때문에 저항이 필요하다.
옴의 법칙을 이용하여 저항값을 계산해보면
저항 = 전압/전류 이므로
저항 = (공급 전압인 3.3V- 필요 전압 2V) / (LED가 사용하는 소모전류인 10mA)
즉슨 R = 1.3V / 10mA
를 계산해주면
130Ω이 나오는데, 간단한 실습이기도 하고, 전류가 세지 않아 큰 문제는 없으니 이 글에서는 연결 및 사용은 일단 생략하겠다.
그리고 이런 기계에 명령을 해줘야 하고 그 명령에 대한 코드는 파이썬으로 한번 작성해 보았다.
코드
import RPi.GPIO as myGPIO #라즈베리파이의 GPIO를 위한 라이브러리
# myGPIO라는 이름을 사용하여 접근 가능
import time #sleep을 사용하기 위해 선언한 라이브러리
myGPIO.setmode(myGPIO.BCM) #핀을 설정하겠다. BCM은 B+이상부터 사용, Board면 구버전.
myGPIO.setup(6,myGPIO.OUT) # GPIO PIN 6를 출력으로 사용하겠다.
try:
while(1):#무한 반복
myGPIO.output(6,True) #출력핀 GPIO6을 True(킴) 으로 하겠다.
time.sleep(0.5) # 0.5초간 sleep
myGPIO.output(6,False) #출력핀 GPIO6을 False(끔) 으로 하겠다.
time.sleep(0.5) # 0.5초간 sleep
except KeyboardInterrupt:
myGPIO.cleanup() #키보드로 인한 인터럽트 발생시 핀설정을 초기화 해주어라.
코드에 대한 설명은 주석에 써놓겠다.
실행결과
'장난감' 카테고리의 다른 글
라즈베리파이 VNC(라즈베리파이 원격조종) 방법 (0) | 2020.09.28 |
---|---|
라즈베리파이 40개의 Connector pin에 대한 설명 (0) | 2020.08.05 |
아두이노의 특징과 개발환경 (0) | 2020.08.04 |
라즈베리파이3 (B+) 한글 패치 방법 (0) | 2020.08.04 |
라즈베리파이 입문(준비물,설치, 개발환경 구축) (0) | 2020.08.04 |