개발 관련/HW 관련

nodeMCU 관련 진행

소서리스25 2025. 2. 19. 21:14
반응형

nodeMCU 관련 진행

 

얼마 전 아두이노와 esp-01 모듈을 이용하여 서버 테스트를 진행했었다. esp8266 칩을 이용한 거라 esp8266 라이브러리를 대부분 쓸 줄 알았는데, 펌웨어 업데이트등 뭔 짓을 해도 안되었다. 

 

업로드가 정상적으로 되더라도 IP접속등의 실질적인 진행이 안되어 결국에는 esp-01 라이브러리를 이용해서 구현했는데, 생각보다 느렸다. 

 

지난 포스트에도 있었지만 esp-01 펌웨어 업데이트하면서 역시나 이걸로는 부족함을 느끼고 nodeMCU를 구매해서 테스트하게 되었다.

 

기본적인 테스트를 해보니 아두이노 esp-01과는 속도차이가 꽤 난다. 휠씬 속도가 빠르다.

 

다만 문제가 아직 있긴한데 기본적인 핀의 수가 아두이노보다 적다. 실제적인 적용 시 어느 정도까지 될지는 직접 해 보는 수밖에 없다.

 

그래서 아래에 핀 관련 정보를 찾아서 정리해 본다.

우선 이번에 구매한 것은 nodeMCU v3 12E이며 USB to UART Bridge는 아래 이미지와 달리 CH340 칩셋이다. (이게 약간 더 싸다). 아마도 CP2102 칩셋이 약간 더 좋은 거라 그런 거 같다.

 

nodeMCU V3

 

기본적인 핀맵은 상기와 같으며 아두이노에서 사용할 수 있는 PWM은 다음과 같다.

어느 정도의 값을 잘 다룰지는 직접 해봐야 알 것 같은데 아마 동일 할 것이다.

nodeMCU PWM Pin들

 

주어진 대부분의 핀들은 지원되는 것 같다.

다음으로 각 핀에 대한 설명이다. 아두이노에서 어떻게 사용할지에 대해서 아래 표를 통해 구상해 보도록 한다.

Label GPIO Input Output Notes
D0 GPIO16 no interrupt no PWM or I2C support HIGH at boot
used to wake up from deep sleep
D1 GPIO5 OK OK often used as SCL (I2C)
D2 GPIO4 OK OK often used as SDA (I2C)
D3 GPIO0 pulled up OK connected to FLASH button, boot fails if pulled LOW
D4 GPIO2 pulled up OK HIGH at boot
connected to on-board LED, boot fails if pulled LOW
D5 GPIO14 OK OK SPI (SCLK)
D6 GPIO12 OK OK SPI (MISO)
D7 GPIO13 OK OK SPI (MOSI)
D8 GPIO15 pulled to GND OK SPI (CS)
Boot fails if pulled HIGH
RX GPIO3 OK RX pin HIGH at boot
TX GPIO1 TX pin OK HIGH at boot
debug output at boot, boot fails if pulled LOW
A0 ADC0 Analog Input X  

 

 

이렇게 작성하고 보니 아두이노용으로 사용할 핀의 9개 밖에 안되서 제약사항이 생각보다 크다.

일단 해보고 안되면 아두이노+ESP-01 구성도 최후로 생각해 봐야겠다.

 

아두이노의 핀 배열에 대해서 아래의 예전 포스팅을 참고..

Arduino 아날로그 핀의 디지털 핀 사용

 

Arduino 아날로그 핀의 디지털 핀 사용

지난번 아두이노 테스트에서 디지털 핀이 부족하다고 판단되어 방법이 있는지 찾아보았다. 생각보다 금방 해결책이 나왔는데, 아두이노에서 아날로그 핀을 디지털 핀으로도 사용할 수 있다고

tipon.tistory.com

 

반응형