라즈베리파이에서 GPIO에 접근하는 방법은 여러가지가 있는데 그중 wiringPi를 사용해서 GPIO제어하는 실습을 해본다.
wiringPi는 C언어로 라즈베리파이의 GPIO를 접근 할 수 있도록 하는 도와주는 라이브러리이다.
wiringPi를 사용하기 위해서는 git에서 wiringPi를 clone을 해야한다.
clone 작업에 앞서 git을 설치한다.
sudo apt-get install git-core
그리고 git에서 wiringPi를 clone 한다.
git clone git://git.drogon.net/wiringPi
wiringPi가 잘 설치되어 있는지 확인한다.
cd wiringPi
./build
작업 경로로 되돌아 온다.
cd ~
test_wiringpi라는 이름의 디렉토리를 생성한다.
mkdir test_wiringpi
생성된 디렉토리안에서 나노 편집기를 사용하여 코딩을 진행한다.
nano를 입력해서 nano편집기를 실행한다.
nano
#include <stdio.h> #include <wiringpi.h> #define LED 4 int main () { if (wiringPiSetup () == -1) return 1 ; pinMode (LED, OUTPUT) ; for (;;) { digitalWrite (LED, 1) ; // on delay (1000) ; digitalWrite (LED, 0) ; // off delay (1000) ; } return 0 ; }
소스를 편집한뒤,
Ctrl+x를 눌러 exit하고 저장여부를 묻는데 이를 'yes'한 뒤 파일명을 지정한다. 여기서 나는 test.c라는 이름으로 저장했다.
그리고 다음과 같이 핀을 연결한다. (이때 wiringPi기준 4번이자 #23을 연결해준다. 위 소스코드에서 #24는 제어하지 않음.)
<그림1>
출처 : http://www.rasplay.org/?p=3241
gcc. 즉, C컴파일러를 사용하여 컴파일한다. 이때 컴파일 결과로 생성될 파일의 이름을 지정해준다.(여기서는 test라고 정했다)
생성될 파일의 이름을 지정한 다음에는 컴파일대상이 될 소스파일을 정해준다.(test.c)
gcc-o test test.c
컴파일 성공된 파일을 실행한다.
sudo ./test
성공적으로 실행이 된다면 1초간 불이 켜진상태를 유지하다가 1초간 꺼진상태를 유지하는 행위를 무한 반복하게 된다.
만약 실행을 멈추고 싶다면 Ctrl+c 를 누른다.
<결과>
'Embedded > Arduino & RaspberryPi (AVR ARM arch))' 카테고리의 다른 글
[ 라즈베리파이 / Raspberrypi ] git을 사용하여 WiringPi 다운로드 (0) | 2017.05.23 |
---|---|
[ 라즈베리파이 / Raspberrypi ] git 설치하기 (0) | 2017.05.23 |
[ 라즈베리파이 / Raspberrypi ] 라즈비안 한글 깨짐 해결 (1) | 2017.05.23 |
[ 라즈베리파이 / Raspberrypi ] 라즈비안 스크린샷 찍기 (0) | 2017.05.23 |