반응형

【 라즈베리파이 】 #09 RaspberryPi 실습
① LED On Off 실습 with Python


▶ 회로 구성 : 


▶ 개요 

 라즈베리파이의 GPIO 커넥터를 이용하여 LED를 On Off 하는 실습을 해 볼 수 있다.  구동 프로그램으로는 라즈비안 OS에 포함되어 있는 파이썬(Python 3) 프로그램을 이용하여 작성한다.  파이썬 프로그램의 특징은 매우 간결하고 직관적인데, 마치 과거 도스(MS-DOS) 시절 쉬운프로그램인 BASIC 만큼이나 쉽다.  그러니 부담 갖지 말고 접근하길 바란다.   


파이썬에 실행에 대한 내용은 파이썬 카테고리를 참조하길 바란다. 



▶ 실습절차 


저항과 LED 를 준비하고 위 도면과 같이 GPIO18번 핀에 연결되도록 한다.



▶ 파이썬 코드 

명령창에 한 줄씩 바로 입력 하지말고 저장파일을 만들어 아래와 같이 작성후 실행 시킨다.



▶ 코드설명 

- import RPi.GPIO as IoPort  :  기억하기 쉽고 쓰기 간단한 'IoPort' 라는 이름으로 포트를 지정 하는 것이다.


- import time   :  delay 타이밍을 위해 시간 함수를 사용하기 위해서는 time 함수를 넣어야 한다. 


※ GPIO 포트 란?  

 GPIO( General Purpose Input Output) Port 라는 용어로서 ,  Port는 어떤 신호가 드나드는 지점을 말한다.  통신을 하기 위한 신호가 드나들면 통신포트, 신호가 입력되면 입력포트, 신호가 출력되면 출력 포트라고 한다. GPIO 포트는 신호의 입력과 출력 또는 다른 부가 기능으로 사용될 수 있는 다목적 포트이다. 이를 프로그래밍으로 제어하는 것이다. 


-IoPort.setmode(IoPort.BCM) : 입출력 포트를 BCM 타입으로 설정한다는 의미 이다.    라즈베리파이의 GPIO 포트에 주요 2가지 포트 명칭 셋이 사용되는데,  wPi (WiringPi) 와 BCM 이다. 

 BCM은 라즈베리파이의 메인 칩인 BCM283x 칩의 물리적인 핀 번호를 그대로 적용한 핀 명칭으로서 기본제공되는 파이썬 라이브러리가 이 명칭 셋을 사용한다.   wPi 명칭 셋은 GPIO핀을 우선 기준으로 순서대로 동일하게 매칭이 되도록 배치를 한 것인데, 예를 들어 GPIO.5 번핀의 wPi 명칭도 5 번이며,  GPIO.21 번핀의 wPi 명칭도 21 번으로 되어 있어 프로그램 작성시 포트 기준으로 작성이 용이하도록 한 의도를 가지고 있다.   따라서 특정 제작자에 의해 만들어진 라이브러리를 사용할 경우 정확한 제어를 위해 어떤 명칭셋에 따라 작성된 라이브러리 인지 확인 할 필요가 있다.    @ 다음글에서 GPIO 포트에 대해 좀더 자세히 다루어 보도록 하겠다. 


- led = 18

- IoPort.setup(led,IoPort.OUT)    // led 포트인 18번 포트를 출력포트로 설정

- IoPort.output (led, True)         // led를 On   ,    False 는 Off

- time.sleep(2)                        //  2초간 기다린다.  delay 타임 



▶ 실행 결과 

2초간 LED On

2초간 LED Off

2초간 LED On

LED Off


LED On Off 실습 with Python

반응형