nodeMCU 관련 진행
얼마 전 아두이노와 esp-01 모듈을 이용하여 서버 테스트를 진행했었다. esp8266 칩을 이용한 거라 esp8266 라이브러리를 대부분 쓸 줄 알았는데, 펌웨어 업데이트등 뭔 짓을 해도 안되었다.
업로드가 정상적으로 되더라도 IP접속등의 실질적인 진행이 안되어 결국에는 esp-01 라이브러리를 이용해서 구현했는데, 생각보다 느렸다.
지난 포스트에도 있었지만 esp-01 펌웨어 업데이트하면서 역시나 이걸로는 부족함을 느끼고 nodeMCU를 구매해서 테스트하게 되었다.
기본적인 테스트를 해보니 아두이노 esp-01과는 속도차이가 꽤 난다. 휠씬 속도가 빠르다.
다만 문제가 아직 있긴한데 기본적인 핀의 수가 아두이노보다 적다. 실제적인 적용 시 어느 정도까지 될지는 직접 해 보는 수밖에 없다.
그래서 아래에 핀 관련 정보를 찾아서 정리해 본다.
우선 이번에 구매한 것은 nodeMCU v3 12E이며 USB to UART Bridge는 아래 이미지와 달리 CH340 칩셋이다. (이게 약간 더 싸다). 아마도 CP2102 칩셋이 약간 더 좋은 거라 그런 거 같다.
기본적인 핀맵은 상기와 같으며 아두이노에서 사용할 수 있는 PWM은 다음과 같다.
어느 정도의 값을 잘 다룰지는 직접 해봐야 알 것 같은데 아마 동일 할 것이다.
주어진 대부분의 핀들은 지원되는 것 같다.
다음으로 각 핀에 대한 설명이다. 아두이노에서 어떻게 사용할지에 대해서 아래 표를 통해 구상해 보도록 한다.
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 아날로그 핀의 디지털 핀 사용
지난번 아두이노 테스트에서 디지털 핀이 부족하다고 판단되어 방법이 있는지 찾아보았다. 생각보다 금방 해결책이 나왔는데, 아두이노에서 아날로그 핀을 디지털 핀으로도 사용할 수 있다고
tipon.tistory.com
'개발 관련 > HW 관련' 카테고리의 다른 글
nodeMCU의 WIFI가 끊어졌을때 (0) | 2025.03.08 |
---|---|
Arduino ESP-01 펌웨어 업데이트 방법 (0) | 2025.02.14 |
아두이노 HC-SR04(초음파센서) (0) | 2024.07.13 |
아두이노 - String Split (0) | 2024.04.03 |
Arduino와 Autoit의 간단한 자동화 테스트 (0) | 2023.05.27 |
댓글