라즈베리파이 GPIO 제어.
라즈베리파이로 다양한걸 해볼수 있는데..
다양한걸 해보기전에 프로그램에서 Helow World 같은 GPIO를 통해 LED 제어를 해보자.
LED를 제어하는 환경이 대부분 라즈베리파이에 라즈비안을 설치하고 처음으로 해보는경우가 많이때문에 라즈비안을 업데이트해준다.
라즈베리파이에 LAN 케이블을 삽입하고
$ sudo apt-get update //root 권한으로 업데이트
$ sudo apt-get upgrade //root 권한으로 업그레이드
업데이트, 업그레이드 진행 시, 용량 20~30M 정도 필요하다고 y 를눌러 승인을 해줘야한다.
라즈베리파이 업그레이드 업데이트를 완료했다면 LED를 셋팅해보자.
LED의 다리가 긴쪽이 + 다리가 짧은쪽이 - 이다.
대부분의 LED에는 3.3v 전압에 220~330옴 정도의 저항을 사용하면된다..
소프트웨어만다룰줄알지, 전기 전자쪽은 문외하여 틀리다면 수정하겠다.
그럼이제 회로도를 구성해보자
하지만 회로도 구성전에 GPIO에대해 알아야 회로도를 구성할 수 있다.
라즈베리파이의 GPIO는 이런식으로 구성되어있다.
회로도는 아래와 같이 구성한다.
6번 핀의 GND 를 빵판 -쪽에 입력하고.
16번 핀 (#23)(wiringPi PIN=>4) 은 220옴 저항을 타고 led 전구 + 쪽으로 들어간다.
빵판에 꼽혀있는 GND를 LED -쪽으로 연결해준다.
이렇게 연결되어있으면
16번 핀으로 OUTPUT 출력을 주게되면 LED전구가 점등된다.
그럼 LED를 점등시키기위한 코딩을 해보자.
코딩방법은 직접출력, C언어를사용한출력, 파이썬을통한출력 등 다양한 방법이있다.
여기선 파이썬을통해 출력해본다.
편집기는 nano, vi, Leafpad 등 다양한법이있다.
여기서는 터미널이아닌 GUI형식에서 코딩을 하겠다.
길지 않으니 손으로 직접 타이핑 해보길..
소스설명은 GPIO를 사용하기위해 import 해주고.
GPIO 모드를 설정해준다..
ledon.py는 23번핀으로 출력을 보내준다. 출력을 보내고 GPIO를 클린해준다.
ledoff.py는 23번핀으로 출력을 끊어준다. 출력을 끊고, GPIO를 클린해주기
ledon, ledoff에 대한 소스는 /home/pi/ledtest 라는 경로에 저장 했다.
작성한 파이썬을 실행해보자
코드가 저장된곳으로 이동한뒤에
$ sudo python ledon.py
$ sudo python ledoff.py
를 입력해 "LED ON" / "LED OFF" 문구가 출력되며, led가 켜고 꺼지는걸 확인한다.
"LED ON" / "LED OFF" 문구는 나오지만,
LED가 점등되지 않는다면,
1. led + - 방향을 확인한다.
2. led 전구가 타지 않았는지 확인한다.
3. GPIO 23번에 잘 연결되었는지 확인한다.
'프로그래밍 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 스크린샷 (0) | 2017.04.10 |
---|---|
라즈베리파이 3 전력부족 (0) | 2017.03.31 |
라즈베리파이3 외부접속(DDNS, 포트포워딩) (0) | 2017.03.28 |
라즈베리파이 3 SSH, VNC (0) | 2017.03.28 |
라즈베리파이 OS 설치 (0) | 2017.03.28 |