[nodemcu 강좌] 3. gpio 다루기

|

지금까지 AT펌대신에 올리려고 노력하셨던것이 바로 nodemcu 펌웨어 입니다.

esp8266의 nodemcu 펌웨어는 c++라이브러인 espreesif sdk 에  루아 인터프리터를 씌운것입니다.

그래서 펌웨어이면서도 스크립트를 교체하는것으로 손쉽게 기능 업그레이드가 가능하여서 매우 혁신적인 개념의 것이라고 볼수있습니다.


펌웨어를 무사히 올렸다면 씨리얼통신프로그램으로 접속하면 초기화면은 다음과 같습니다.




gpio  포트를 켜기위해서는 모드 세팅을 먼저 해줍니다.

1번 포트를 출력모드로 지정합니다.

gpio.mode(1,gpio.OUPUT)

1번포트를 high 상태로 만들어 줍니다.

gpio.write(1,gpio.HIGH)


esp 써져있는 포트번호와 루아펌에서 쓰는 포트 인덱스는 다릅니다. 여기써 사용한 1번은 esp상 기판상에서는 5번 입니다.




위의 사진 좌 상단 rxd 바로 밑에 GPIO5 라고 써져있는 부분이 루아펌(nodemcu)에서는 1번이 되는 것입니다.


GPIO5 -> 1

GPIO4-> 2

두개 포트가 입출력전용으로 사용하도록 만들어진포트입니다. 나머지 포트들도 쓸수는 있으나 다른용도가 있으므로 가급적이면 위의 두개의 포트만 사용하시는 편이 좋을거같습니다.


GPIO16->0

chpd 밑에 GPIO16 으로 표시되는 0번 포트가 하나 더있습니다. 이것은 on off 전용 포트입니다. 그래서 pwm이 필요한 곳에서는 사용할수없습니다.(서보제어)

단순히 켜고끄는 동작이 필요할때는 이포트를 사용하길 권장합니다.


포트값을 읽기 위해서는 gpio.read(port index) 함수를 이용합니다.

print( gpio.read(1) )

방금 write로 출력했던 내용을 읽을수있습니다.


입력모드로 하고싶으면 gpio.mode(1,gpio.INPUT) 을 해주어 입력 전용 모드로 세팅해줍니다.

'







And