티스토리 뷰
"라즈베리파이 쿡북" 책을 보면서, 실습을 진행하고 있는데, 쿡북시리즈다 보니 구체적인 내용이 부족하다.
부족한 내용은 산딸기마을 http://www.rasplay.org/?p=2049 싸이트를 참조해서 진행한다.
- GPIO 핀들이 많이 있는데, 데이터 통신하는 방법에 따라서 여러가지 핀들이 있다.
일단은 지나가고, 나중에 해당 데이터 통신을 할때 자세히 알아봐야 겠다.
ex. I2C (http://mintnlatte.tistory.com/201), UART (http://ko.wikipedia.org/wiki/UART)
1. GPIO 커넥터 안전하게 사용하기
1) 전원 구성
- 라즈베리파이 동작 전원은 3.3V이고 그 이상 전원에는 보호하는 기능이 없다.
2) 전류 사용
- 3.3V 전원 핀에는 최대 30mA 전류를 사용할 수 있다.
3) 과전압, 과전류 조심
- 전원이 공급시 금속 물체가 GPIO 커넥터에 닿지 않도록 한다.
2. RPi.GPIO vs WiringPi
- GPIO를 다루기 위해서 어떤 라이브러리를 사용해야 하는 것인가? 지금보고 있는 책이 RPi.GPIO 라이브러리를 사용해서 실습을 진행하고 있어서,
따라가고 있기는 했는데... 둘 중에 어떤게 더 나은지 모르겟다 ㅎㅎㅎ
- Python 언어를 지원하는게 RPi.GPIO 라이브러리만 가능한지 알았는데, WiringPi 라이브러리 또한 찾아보니까 라이브러리가 있다.
WiringPi2 버전(https://github.com/WiringPi/WiringPi2-Python)이 새로 나왔고 기존에 버전 1은 deprecated된 상태이다.
- 나중에 좀 라즈베리파이가 익숙해지면, WiringPi 모듈을 사용해보자 !!!
3. LED를 사용한 Output 테스트
- GPIO 관련 프로그램 실행은 항상 루트 권한으로 해야한다.
- 목표 : LED가 깜빡이는 프로그램을 만들려고 한다.
1) 회로
- LED를 1.7V보다 큰 전원에 연결하면 망가지 우려가 있다.
- LED와 GPIO에 안전한 전류가 흐르려면, LED 사용 시, 전력원과 LED 사이에 직렬 저항을 사용해야 한다.
- 준비물 : 빵판, Pi Cobbler, 리본케이블, 점퍼 와이어2, 1kΩ 1 개, 빨간색 LED 1개
2) 소스
- https://github.com/gregor77/raspberrypi/blob/master/code/gpio_basic/led_blink.py
- github에 공개된 소스를 그대로 사용하니, cleanup를 수행하라는 메세지가 출력되는 등의 몇가지 이슈가 있었다.
-> 해당 이슈는 FAQ 메뉴에 정리하겠다.
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) print "Setup LED pins as outputs" #GPIO.cleanup() GPIO.setwarnings(False) GPIO.setup(18, GPIO.OUT) count = 0 while (True): GPIO.output(18, True) time.sleep(0.5) GPIO.output(18, False) time.sleep(0.5) count = count + 1 if count == 5: key = raw_input('press 5 to exit program.') print ("input key = " + key) if key == "5": print ("end LED blink") break else: print ("restart LED blink") count = 0 GPIO.cleanup()
3) 실행 화면
'Raspberry Pi > GPIO' 카테고리의 다른 글
라즈베리파이 GPIO : LED 밝기 제어하기 (0) | 2015.06.12 |
---|
- Total
- Today
- Yesterday
- 파이썬 데이터분석
- LED 밝기 제어
- start-React
- Github proxy 서버
- Proxy
- 라즈베리파이 GPIO
- 마크다운 티스토리
- Learning React
- react
- pandas
- git proxy
- Git 암호 저장
- jupyter notebook
- proxy node.js
- Express
- EJS
- 라즈베리파이 Screenshot
- markdown티스토리
- React 시작
- React시작하기
- ES6
- Git 개념
- 파이썬 Jupyter Notebook 실전입문
- mocha
- redux
- Git Password
- enzyme
- 라즈베리파이 스크린샷
- LED 연결하기
- matplotlib
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |