티스토리 뷰
파이썬 언어를 이용하여 간단한 LED 제어를 해보았습니다.
필요한 준비물 : 라즈베리파이와 T자형 코블러, BREAD BOARD, 저항, LED
소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 |
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(5, GPIO.OUT)
GPIO.setup(6, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
GPIO.setup(21 , GPIO.IN)
GPIO.output(5, False)
GPIO.output(6, False)
GPIO.output(13, False)
GPIO.output(19, False)
a = [5,6,13,19]
i = 0
int(i)
m = 0
try:
while True :
if GPIO.input(21)==0:
i = i + 1
if (i%10 == 3)or(i%10 == 6)or(i%10 == 9)or(int(i/10) == 3)or(int(i/10) == 6)or(int(i/10) == 9):
GPIO.output(a[m], False)
GPIO.output(a[m-1], False)
m = (m+1)%4
time.sleep(0.3)
else:
GPIO.output(a[m], True)
GPIO.output(a[m-1], False)
m = (m+1)%4
time.sleep(0.3)
except KeyboardInterrupt:
GPIO.cleanup()
|
cs |
이제 소스코드를 세부적으로 설명 하겠습니다.
import RPi.GPIO as GPIO 먼저 LED를 제어하기 위한 GPIO 부분을 사용 하기 위해 RPI.GPIO를 import 해줍니다.
|
GPIO.setmode(GPIO.BCM) 먼저, GPIO.setmode()함수는 핀 번호를 정할때 어떤 참조 방식을 사용하는지를 설정 하는 함수 입니다. GPIO.BCM은 브로드 컴칩의 번호를 참조하겠다라는 말입니다. 예를 들어 GPIO 12 에서 12에 해당하는 번호를 사용하겠다라는 것입니다. 즉, BREAD BOARD에서 12번 핀은 GPIO.BCM 모드에서는 18번 핀과 같다라는 것입니다. BCM모드를 사용하겠다는 구문입니다. BCM이란 ? Broadcom chip-specific pin numbers 의 약자 입니다.
|
GPIO.setup(xx,GPIO.IN) GPIO.output(xx,False) GPIO.setup() 함수는 GPIO.input()이나 GPIO.output()함수를 호출하기 전에 사용하고자 하는 핀이 input 인지 output인지를 먼저 설정해주는 함수이다. 만약 , GPIO.setup() 함수 호출시 , 풀업이나 풀다운 저항을 연결하려면 아래와 같이 써주어야 합니다. GPIO.setup(17,GPIO IN, pull_up_down=GPIO.PUD_UP)
|
동작 구현
369 규칙을 따라 해당하는 부분에 LED 점멸을 생략하는 모습을 볼수 있다.
'IT > PYTHON' 카테고리의 다른 글
ModuleNotFoundError: No module named 'pandas' 해결방법 (0) | 2022.12.09 |
---|---|
Python으로 Openweathermap에 접근하여 7개 도시의 현재 날씨와 온도를 프린트하는 스크립트를 작성하기 (0) | 2017.07.08 |