티스토리 뷰

Raspberrypi 3

6. GPIO 버튼,버저 연결

바르다 안선생 2017. 9. 11. 01:09

라즈베리파이 GPIO와 브레드보드를 연결하여, 외부 입/출력을 조작해보도록 하겠습니다.


1. fritzing 다운로드

다운로드 : http://fritzing.org/download/

fritzing은 하드웨어 연결을 스케치하기 위해 사용하는 툴입니다.

아두이노, 라즈베리파이 등 다양한 오픈소스 하드웨어를 지원하는 무료 소프트웨어이고, 

다양한 플랫폼(windows, linux, macOS)을 지원합니다.




2. 브레드보드 연결하기

GPIO를 통해 외부조작이 가능하게 하려면, 브레드보드 이용은 필수인데 이에 대한 간단한 설명을 가져와 보았습니다.

브레드보드3.PNG

출처: http://codingrun.com/67




3. 버저(스피커) 준비

제가 산 버저는 납땜이 필요해서, 다음 영상을 보면서 완료했습니다.


(1) 전선 피복


준비물

- 전선(와이어 1개)

- 뺀치



(2) 스피커 납땜


준비물

- 버저(스피커)

- 피복한 전선 2개(+/-극)

- 인두기 세트




완료 후 스피커(버저) 모습입니다.

미숙한 손놀림으로 인해 구리선이 녹기도 했는데 작동에는 문제 없습니다.

꼭 영상처럼 완벽하지 않아도 너무 걱정하실 필요 없어요ㅎㅎ




4. 버튼, 버저 연결하기

라즈베리파이와 브레드보드를 연결하기 위해서는 몇 가지 준비물이 필요합니다.


준비물

- 브레드보드 (400+)

- 버튼(스위치)

- 버저(스피커)

- 저항

- 점퍼선



위 연결도는 라즈베리파이 제로를 모델로 했지만, 모델 3의 배치도도 제로와 동일하기 때문에 모두 정상적으로 작동합니다.

이해를 돕기 위해 배치도를 첨부하며, GPIO N 이라고 명명된 숫자 N을 BCM 번호로 인식하면 됩니다.


파이3 GPIO에 대한 이미지 검색결과



<브레드보드 연결 시 몇 가지 주의사항>

- GPIO.setmode(GPIO.BCM)으로 하는 경우, GPIO.setup(N, [GPIO.IN / GPIO.OUT])에서 N은 BCM 으로 구분해주어야 한다.

- GPIO.setup시 LED, 스피커는 OUT, 버튼은 IN으로 해 주어야 하고, 와이어 중 하나는 0V(GND)와 연결되어야 한다.

- GPIO.output( N, [True/False] )로 출력 지정이 가능하다.

- 스피커와 LED는 전압(전원)공급이 필요 없지만, IN으로 작동하는 버튼은 전원 공급(3.3V)가 필요하다.

- LED는 긴 쪽이 +극이다.




5. 파이썬 코드 작성

# test.py

import RPi.GPIO as GPIO

import time


GPIO.setwarnings(False)


Button=18

GPIO_BUZZER=4


print “press the button (Ctrl-C to exit)”


try:

while True:

GPIO.setmode(GPIO.BCM)

GPIO.setup(Button, GPIO.IN)

GPIO.setup(GPIO_BUZZER, GPIO.OUT)

GPIO.setup(GPIO_BUZZER, False)


if(GPIO.input(Button)!=0):

GPIO.output(GPIO_BUZZER, False)

else:

print “Button was pressed!”

time.sleep(3)

GPIO.output(GPIO_BUZZER, True)

time.sleep(1)

GPIO.output(GPIO_BUZZER, False)

GPIO.cleanup()


except KeyboardInterrupt:

GPIO.cleanup()


위 코드를 저장한 후, 다음 명령어를 통해 실행하면 버튼이 눌릴 때마다 버저(스피커)가 출력됩니다.

$ python ./Desktop/test.py


종료를 원하면 Ctrl+C를 입력하면 됩니다.

'Raspberrypi 3' 카테고리의 다른 글

7. 라즈베리파이3 자동실행  (0) 2017.09.15
5. 라즈베리파이 GPIO  (0) 2017.09.09
4. 라즈베리파이 espeak 한국어  (0) 2017.09.06
3. openCV 설치  (0) 2017.09.03
2. 블루투스 스피커(헤드셋) 자동 연결  (0) 2017.09.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함