2016년 5월 18일 수요일

Raspberry Pi - Button을 이용한 GPIO 입력 테스트

Raspberry Pi의 GPIO를 이용하여 버튼이 눌러졌을 때 LED를 켜는 테스트를 해 보자. 테스트를 위해서는 기본적으로 wiringPi가 설치되어 있어야 한다.

테스트 회로는 그림과 같이 Push Button을 눌렀을 때 1번 Pin에 High가 인가 되도록 5V를 연결하였으며 10kΩ의 Pull-down 저항을 연결하였다. LED는 버튼이 눌러진 것을 확인하기 위해 연결하였다.

※ LED의 극성을 반대로 연결하면 LED가 고장 나므로 주의해서 연결한다. 길이가 짧은 쪽이(-), 긴 쪽이 (+)이다. 

회로 및 구성

  • Raspberry Pi 2 Model B
  • Push Button
  • LED (동작 전압: 1.8V ~ 2.3V)
  • 저항 250Ω, 10kΩ




테스트를 위해 buttonTest.c 코드를 다음과 같이 작성한다.

#include <wiringPi.h>

#define LED 4
#define BUTTON 1

int main(void)
{
  if(wiringPiSetup() == -1)
    return 1;

  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT);

  digitalWrite(LED, 0);
  int input = 0;

  for(;;)
  {
    if(digitalRead(BUTTON))
      digitalWrite(LED, 1);
    else
      digitalWrite(LED, 0); 

    delay(100);
  }

  return 0;
}

코드를 컴파일 하고 실행 시킨다.

pi@raspberrypi ~$ gcc -o buttonTest buttonTest.c -lwiringPi
pi@raspberrypi ~$ sudo ./buttonTest


버튼을 누르면 LED에 불이 들어오는 것을 확인할 수 있다.

0 개의 댓글:

댓글 쓰기