2017년 10월 8일 일요일

34.라즈베리파이 GPIO 핀을 이용하여 LED켜기

Step 0 개요:

라즈베리파이를 이용하여 간단하게 LED를 켜는 것을 구현해보겠습니다. 아두이노로 LED켜고 끄는 것은 여러 곳에 소개되었습니다. 라즈베리로 LED를 켜는 것도 간단하지만 사전 준비할 사항이 많이 있습니다. 구현 언어는 python이나 c로 구현할 수 있습니다.여기서는 c언어로 구현하겠습니다. 파이선언어보다 c언어에 익숙해서입니다.


step1. 준비사항

준비물은 라즈베리파이 3 model B v1.2(모델은 다를 수 있음) , 브레드보드, 점퍼선, 저항 100 Ω 2개, LED 2

먼저 gpio핀을 사용하기 위하여 wiring를 설치해야 됩니다.
터미날 모드에서 먼저 다음과 같이 입력합니다.
sudo get-apt update
sudo get-apt upgrade

다음 git를 다운로드합니다.
sudo apt-get install git-core



winringPi 를 받아옵니다.
git clone git://git.drogon.net/wringPi
그러면 아래 그림과 같이 wiringPi폴더가 생긴 것을 확인할 수 있습니다.





해당 폴더을 이용하여 빌드를 진행합니다.
cd wiringPi
./build

잘 설치되어있는지 다음 명령어로 확인해 봅니다.
gpio realall



위 그림과 같은 화면을 보여준다면 GPIO설치는 성공한 것입니다. 안되었다면 처음부터 차근차근 설치하셔야 됩니다.

마지막으로 raspberry Pi Configuration을 설정해주어야 합니다.라즈베리파이 상단왼쪽 메뉴에서 Preferences- raspberry Pi Configuration을 클릭합니다.
인터페이스 메뉴에서 제일 하단에 Remote GPIO를 Enable로 설정해 줍니다.



Step2. 조립하기


Step3 프로그램 짜기


루트에서 디렉토리를 생성합니다.(이름은 사용자 마음대로)
mk gpio-test
해당 디렉토리로 갑니다.
cd gpio-test

터미널 모드에서 프로그램 편집기nano를 엽니다.(다른 편집기를 사용해도 됩니다)
nano gpio-test1.c

 저장하고 빠져나옵니다.
Ctrl+c, Ctrl+x
위 프로그램은 LED를 GPIO 핀 4,5번으로 정하여 1초간격으로 켜지는 것이 반복되는 프로그램입니다. 점퍼선으로 LED와 GPIO핀 연결은 위 표를 참고하여 16번18번핀과 연결하면 됩니다.

Step 4.  컴파일하기 

실행파일을 얻기 위해 컴파일을 해야 합니다.

gcc -o gpio-test1 gpio-test1.c -lwingPi

실행파일이 생성되었는지 확인해 봅니다.
dir
gpio-test1과 gpio-test1.c가 보이면 성공했습니다.
Step4. 실행
이어서 실행 명령을 입력합니다.

sudo ./gpio-test1


Step 5. 나머지 이야기

gpio 핀 위치를 찾는데 애를 먹었습니다. 인터넷에 있는 자료를 그대로 따라해서 실패를 많이 했습니다.gpio 핀 위치는 반드시 라즈베리파이 모델마다 다르니 gpio readall 로 gpio 핀 위치를 확인해야 합니다. 그리고 저항은 100Ω을 넘지 않는 것을 사용해야합니다.

참고사이트: http://www.rasplay.org/?p=3241

라벨: