[ 아두이노 강좌 ] 0-4. ESP32 / ESP8266에 대해 알아보자(핀맵 pinmap, 스펙, 전원 공급 방법, 통신 핀, 주의할 점)


1. 설명
ESP32와 ESP8266은 아두이노처럼 쓸 수 있지만 와이파이와 블루투스(ESP8266에는 없음)가 포함되어있어서 IOT를 구현할 때 편하고, 속도가 훨씬 빨라서 고성능이 필요할 때는 사용하기 좋다.
ESP32와 ESP8266은 ESPRESSIF라는 회사에서 만들어 졌는데
ESP8266이 더 구형 버전이고 ESP32가 ESP8266의 단점을 보완해서 만들어진 것이다.
원래 위 사진처럼 생긴 것은 아니고 위 사진은 개발 보드로 개발할 때 쓰기 좋으라고 만든 것이다.

이 사진처럼 개발 보드에 ESP32 칩이 들어있는 것이다.
ESP32 보드도 종류가 많은데 크게 그냥 위 사진처럼 생긴 일반 개발 보드, 카메라가 달린 개발보드, 배터리홀더가 달린 개발보드, 화면이 달린 개발 보드 등이 있다.
참고로 일반 개발 보드를 살 때 핀 수가 더 많고 5v 핀이 있는 것이 있고 아닌 것도 있다.
핀 수가 더 많은 것이 5v가 있어서 사용하기 편하므로 5v핀이 있는 것으로 사는 것을 추천한다.
2. ESP32 / ESP8266 차이점 및 스펙
이름 | ESP32 | ESP8266(nodemcu) |
마이크로컨트롤러 | Xtensa Dual-core LX6 | Xtensa Single-core L106 |
작동전압 | 3.3v | 3.3v |
GPIO | 36 | 17(실제로 쓸 수 있는건 더 없음) |
PWM 디지털 핀 | 16 | 8 |
Flash Memory | 4~16MB | 4MB |
SRAM | 512KB | 160KB |
Clock Speed | 160~240MHz | 60~160MHz |
내장된 LED핀 번호(LED_BUILTIN) | 2 | 2 |
WiFi | O | O |
블루투스 | Bluetooth 4.2, BLE | X |
터치센서 | O | X |
온도센서 | O | X |
홀센서 | O | X |
1. 핀 개수
ESP8266이 보기에는 아두이노 우노보다도 핀 개수가 더 많아 보이지만 대부분이 내부적으로 쓰고 있는 핀이어서 쓸 수 있는 핀이 너무 적었다.
이 문제는 ESP32에서는 핀 개수가 확 늘면서 해결되었다.
2. 성능
성능도 ESP32가 더 좋다.
3. 블루투스
ESP32에는 ESP8266에는 없던 블루투스가 추가되었다.
4. 그 외 터치센서, 온도센서, 홀 센서 등 다양한 것들이 추가되었다.
나는 가격을 생각하더라도 ESP32를 쓰는 것을 더 추천한다.
*그래서 이 아래부터는 ESP8266 이야기는 없고, ESP32에 대한 이야기이다.
3. 핀맵

4. 전원 공급 방법
1. 업로드할 때도 사용하는 USB 포트를 이용
전압 : 4.5~5.5v
2. 그냥 3.3v나 5v 핀에 맞는 전압 연결
3.3v핀에 3.3v를 연결하거나, 5v핀에 5v를 연결한다.
-는 GND핀에 연결
5. 통신 핀
1. UART(Serial) 통신
*ESP32에는 Serial 통신 핀이 3가지가 있지만 그중 한 가지는 업로드때 사용해서 못 쓰고, 다른 한가지는 쓸 수 없는 핀에 연결되어 있어서 다른 방법으로 핀을 바꿔줘야 쓸 수 있어서 쉽게 쓸 수 있는 Serial 통신 핀은 한 가지밖에 없다.
Serial
RX : RXD
TX : TXD
Serial 1 *이거 쓰고 싶으면 핀을 바꿔야 한다.
RX : SD2
TX : SD3
Serial2
RX : 16번
TX : 17번
*컴퓨터에서 소스코드를 업로드할 때 RXD, TXD를 이용해서 통신하고, SD2, SD3는 ESP32 Flash 메모리와 연결되어있어서 RXD, TXD, SD2, SD3를 이용하면 업로드 오류가 날 수도 있어서 ESP32에서는 보통 Serial2를 이용해야 한다.
*ESP32에서는 SoftwareSerial을 지원하지 않음
2. i2c
SDA : 21번
SCL : 22번
*i2c통신을 이용할 때는 맨 위에 #include <Wire.h>를 써주어야 한다.(라이브러리 사용 시에는 보통 라이브러리에 포함되어있어서 상관없음)
3. SPI
MOSI : 23번
MISO : 19번
SCK : 18번
SS : 5번
*SPI 통신을 이용할 때는 맨 위에 #include <SPI.h>를 써주어야 한다.(라이브러리 사용 시에는 보통 라이브러리에 포함되어있어서 상관없음)
6. 핀 설명
1. 정전식 터치 입력 지원 핀 : GPIO 4,0,2,15,13,12,14,27,33,32
2. 입력만 받을 수 있는 핀(PULLUP, PULLDOWN 저항이 없음)(출력 불가) : GPIO 34~39(34,35, SVP, SVN)
3. PWM 이용 가능한 핀 : 출력을 사용할 수 있는 모든 핀(위에서 말한 입력만 받을 수 있는 핀은 사용불가)
4. 사용 불가한 핀 : GPIO 6~11(SLK, SD0, SD1, SD2, SD3, CMD), RXD, TXD
5. 내장 LED(BUILTIN_LED) : GPIO 2
*32번 핀이 시작될 때 HIGH이면 부팅 실패
7. 주의할 점(esp32 기준)
GND핀 중에 GND역할을 하지 못하는 핀이 하나 있을 수 있다.(핀맵 참고)
일반 아두이노 우노 등에서 사용하는 부저 사용법이 통하지 않는다.
pwm, 부저를 사용할 수 있는 함수가 일반 아두이노 우노 등과 다르다.
위에서 말한 것처럼 쓸 수 없는 핀들이 조금 있는 편이다.
일반적인 방법으로는 Software Serial을 쓸 수 없다
처음 사용할 때 간단한 등록이 필요하다.
약간의 쓰기에 주의할 점들과 못쓰는 핀들이 있긴 하지만 기능이 다양한 만큼 정말 좋은 보드인 것 같다.
*재료 구입
ESP32 : https://s.click.aliexpress.com/e/_ApYvbS
4.3US $ |2021 ESP32 ESP 32 Development Board Wireless WiFi Bluetooth Dual Core CP2104 Filters Power Management Module 2.4GHz New
Smarter Shopping, Better Living! Aliexpress.com
www.aliexpress.com
*esp32는 핀 개수가 다른 여러 버전이 있으므로 왠만하면 핀부분이 노란색으로 되어있는 핀이 많은 버전을 사는 것이 편합니다
ESP32 CAM(카메라 기능 기본 탑재 버전) : https://s.click.aliexpress.com/e/_A7K20C
*esp32 cam에는 컴퓨터와 연결할수 있는 포트가 없어서 따로 연결해줄 장치가 필요합니다
ESP8266(NODEMCU) : https://s.click.aliexpress.com/e/_9IKmCC
0.9US $ 18% OFF|New Wireless module CH340 NodeMcu V3 Lua WIFI Internet of Things development board based ESP8266|nodemcu v3|lua
Smarter Shopping, Better Living! Aliexpress.com
www.aliexpress.com
*보통 알리익스프레스가 더 싸지만 배송이 국내보다 늦기때문에 급하시다면 국내에서 사고 급하지 않다면 알리익스프레스에서 사는게 좋습니다.
'아두이노' 카테고리의 다른 글
[ 아두이노 강좌 ] 1. 아두이노 IDE 설치 (0) | 2020.12.27 |
---|---|
[ 아두이노 강좌 ] 0-5. 브레드보드(빵판), 점퍼선, 듀폰케이블 사용법 (0) | 2020.12.26 |
[ 아두이노 강좌 ] 0-3. 아두이노 메가에 대해 알아보자(핀맵 pinmap, 스펙, 전원 공급 방법, 통신 핀, 주의할 점) (0) | 2020.12.24 |
[ 아두이노 강좌 ] 0-2. 아두이노 나노에 대해 알아보자(핀맵 pinmap, 스펙, 전원 공급 방법, 통신 핀, 주의할 점) (1) | 2020.12.23 |
[ 아두이노 강좌 ] 0-1. 아두이노 우노에 대해 알아보자(핀맵 pinmap, 스펙, 전원 공급 방법, 통신 핀, 주의할 점) (0) | 2020.12.22 |
댓글