Raspberry Pi의 확장을 도와주는 멀티파이를 이용하여 Raspberry GPIO제어를 해봅니다.


먼저 멀티파이에서 GPIO 사용을 편하게 하려고 핀헤드를 올렸습니다. 우선 기본 핀아웃들만 핀헤드를 올렸습니다.

이후에 모터 제어를 위해서  SN754410까지 올려두었습니다.


먼저 GPIO에 대한 기본 이해를 위해서 GPIO를 이용한 LED제어를 해보려고 합니다.



GPIO란?

GPIO(General Purpose Input Output)일반적인 입/출력을 제공하는데, 하나의 단자로 입력 또는 출력이 고정되지 않고 선택적으로 입력/출력이 가능하다. 하지만 동시에 입력과 출력을 겸용으로 할 수는 없다. 사용 목적에 따라 먼저 GPIO모드 설정을 해야합니다.


Raspberry Pi는 21개의 GPIO를 제공하고 있는데, 그 중에 17개는 핀헤드로 구성되어 있고, 나머지 8개는 보드에 핀헤드를 세워서 사용할 수 있습니다.



<Raspberry Pi B Type GPIO Pinout>


Raspberry Pi에서는 다양한 방법으로 GPIO를 제어 할 수 있는데, 여기서는 Python으로 GPIO를 제어하고자 합니다.


Raspberry Pi  멀티파이로 GPIO 핀 연결하기


GPIO 5핀으로 LED를 On/Off하는 회로(Low active)를 구성하는데, GPIO 핀은 7, 11, 13, 15, 16으로 아래의 그림과 같이 사용하였습니다.



     여기서 실제 사용은 멀티파이의 핀 헤드에 기존에 사용하던 LED 버튼 보드를 재활용하여 LED만 사용하였습니다. 보드의 구성은 위의 회로 형태(Low Active회로)로 구성되었습니다.

 


Raspberry Pi에서 Python RPi.GPIO 사용하기

  >> RPi.GPIO 참조자료

      https://pypi.python.org/pypi/RPi.GPIO


  >> Raspberry Pi 업데이터

     $sudo apt-get update

     $sudo apt-get upgrade

   *여기서는 업데이터 후 Python RPi.GPIO xxx 버전으로 하였음.


  >> Python GPIO 소스작성

    RPi.GPIO를 로드하여 GPIO포트를 출력으로 초기설정을 하고, 사용자가 입력한 반복횟수와 지연시간으로 LED가 On/Off하는 프로그램을 작성하였습니다.


 gpio_7test.py


 

 >> Python GPIO 프로그램 실행하기

     소스 작성이 완료되면 아래와 같이 프로그램을 실행하면 순차적으로 LED가 On/Off하는 것을 볼 수 있습니다.

아래는 실행중인 상태에서 LED의 On/Off상태를 동영상으로 제작하였습니다.


이제 기본적인 GPIO제어에 대한 이해를 하였고, 다음은 모터제어를 준비해야 겠습니다.
이후에 간단히 PiDuino 제작에 대한 내용을 포스팅할 예정입니다.



본 제품은 아이씨뱅큐 무상체험단 12기 활동의 일환으로 체험 제품을 제공받아 작성되었습니다.

Posted by 혀나미
,