하드웨어/ESP8266
MicroPython NodeMCU의 GPIO 제어하기
살레시오
2016. 9. 20. 17:40
2.2 GPIO핀 제어 | c{mpy0202} |
MicroPython 에서는 핀번호를 ESP8266모듈의 GPIO 번호를 사용한다. 아래 그림에서 보면 0, 1, 2, 3, 4, 5, 12, 13, 14, 15, 16 번이다.
이들을 제어하기 위해서는 machine 모듈의 Pin 객체를 이용해야 한다.
from machine import Pin |
위와 같이 Pin 객체의 생성자에 입력/출력 그리고 초기값 등등을 지정해 줄 수 있으며 멤버함수 high(), low() 로 출력값을 지정하거나 value()함수로 핀의 입력값을 받을 수 있다.
출력 | 입력 |
p = Pin(n, Pin.OUT) | p = Pin(n, Pin.IN)p = Pin(n, Pin.IN, Pin.PULL_UP) |
p.high() 혹은 p.value(1)p.low() 혹은 p.value(0) | p.value() |
여기서 n은 0,1,2,3,4,5,12,13,14,15,16 중 하나이다.
이와 같이 value() 멤버함수는 출력값을 지정해 줄 때도 쓰이고 입력인수가 없을 경우에는 핀의 입력값을 읽을 때도 사용된다.
단, 1번과 3번 핀은 시리얼 통신에 사용되며 16번 핀은 wakeup 기능(deepsleep 모드에서)에 사용되므로 가급적 사용하지 말아야 한다.