1. ESP32-DevkitV4 개발보드에 포함되어 있는 기능 핀
(1) 아날로그-디지털 변환기(ADC) 채널
(2) SPI 인터페이스
(3) UART 인터페이스
(4) I2C 인터페이스
(5) PWM 출력 채널
(6) 디지털-아날로그 컨버터(DAC)
(7) I2S 인터페이스
(8) 정전 용량 감지 GPIO
ADC(아날로그-디지털 변환기) 및 DAC(디지털-아날로그 변환기) 기능은 특정 고정 핀에 할당됩니다. 그러나 UART, I2C, SPI, PWM 등의 핀을 결정할 수 있습니다. 코드에서 할당하기만 하면 됩니다. 이것은 ESP32 칩의 다중화 기능으로 인해 가능합니다.
2. ESP32-DevkitV4 입출력
- 녹색 : 적합
- 노란색 : 부팅 시 예기치 않은 동작 가능
- 삘간색 : 입출력으로 사용하지 않는 것이 좋음
GPIO 34~39는 입력 전용 핀인 GPIO입니다. 이 핀에는 내부 풀 업 또는 풀다운 저항이 없습니다. 출력으로 사용할 수 없으므로 다음 핀을 입력으로만 사용하십시오. ( GPIO 34, GPIO 35, GPIO 36, GPIO 39 )
3. 아날로그 디지털 변환기 (ADC)
ESP32에는 18 x 12비트 ADC 입력 채널이 있습니다( ESP8266에는 1x 10비트 ADC만 있음). ADC 및 각 채널로 사용할 수 있는 GPIO는 다음과 같습니다.
ESP32로 아날로그 값을 읽으면 0V와 3.3V 사이의 다양한 전압 레벨을 측정할 수 있습니다. 그런 다음 측정된 전압은 0에서 4095 사이의 값에 할당됩니다. 여기서 0V는 0에 해당하고 3.3V는 4095에 해당합니다. 0V와 3.3V 사이의 모든 전압에는 그 사이의 해당 값이 지정됩니다.
4. 디지털-아날로그 변환기 (DAC)
ESP32에는 디지털 신호를 아날로그 전압 신호 출력으로 변환하기 위한 2 x 8비트 DAC 채널이 있습니다.
다음은 DAC 채널입니다.
DAC1 (GPIO25)
DAC2 (GPIO26)
5. RTC GPIO
ESP32에는 RTC GPIO가 지원됩니다. RTC 저전력 하위 시스템으로 라우팅된 GPIO는 ESP32가 최대 절전 모드일 때 사용할 수 있습니다. 이러한 RTC GPIO는 ULP(초저전력) 보조 프로세서가 실행 중일 때 ESP32를 깊은 절전 모드에서 깨우는 데 사용할 수 있습니다. 다음 GPIO를 외부 웨이크업 소스로 사용할 수 있습니다.
- RTC_GPIO0(GPIO36)
- RTC_GPIO3(GPIO39)
- RTC_GPIO4(GPIO34)
- RTC_GPIO5(GPIO35)
- RTC_GPIO6(GPIO25)
- RTC_GPIO7(GPIO26)
- RTC_GPIO8(GPIO33)
- RTC_GPIO9(GPIO32)
- RTC_GPIO10(GPIO4)
- RTC_GPIO11(GPIO0)
- RTC_GPIO12(GPIO2)
- RTC_GPIO13(GPIO15)
- RTC_GPIO14(GPIO13)
- RTC_GPIO15(GPIO12)
- RTC_GPIO16(GPIO14)
- RTC_GPIO17(GPIO27)
6. PWM
ESP32 LED PWM 컨트롤러에는 16개의 독립적인 채널이 있어 다양한 속성을 가진 PWM 신호를 생성하도록 구성할 수 있습니다. 출력으로 작동할 수 있는 모든 핀은 PWM 핀으로 사용할 수 있습니다(GPIO 34~39는 PWM을 생성할 수 없음). PWM 신호를 설정하려면 코드에서 다음 매개변수를 정의해야 합니다.
신호의 주파수; 듀티 사이클; PWM 채널; 신호를 출력하려는 GPIO입니다.
7. I2C
ESP32에는 2개의 I2C 채널이 있으며 모든 핀을 SDA 또는 SCL로 설정할 수 있습니다. Arduino IDE와 함께 ESP32를 사용할 때 기본 I2C 핀은 다음과 같습니다
- GPIO 21(SDA)
- GPIO 22(SCL)
/*Arduino*/
Wire.begin(SDA,SCL); // I2C라이브러리를 사용하여 다른 핀을 사용
8. SPI
SPI | MOSI | MISO | CLK | CS |
VSPI | 지피오 23 | 지피오 19 | 지피오 18 | 지피오 5 |
HSPI | 지피오 13 | 지피오 12 | 지피오 14 | 지피오 15 |
9. 정전식 터치 GPIO
ESP32에는 10개의 내부 정전식 터치 센서가 있습니다. 이들은 인간의 피부와 같이 전하를 유지하는 모든 것의 변화를 감지할 수 있습니다. 따라서 손가락으로 GPIO를 터치할 때 발생하는 변화를 감지할 수 있습니다. 이 핀은 정전식 패드에 쉽게 통합할 수 있으며 기계식 버튼을 대체할 수 있습니다. 정전식 터치 핀은 ESP32를 깊은 절전 상태에서 깨우는 데에도 사용할 수 있습니다 .
- T0(GPIO4)
- T1(GPIO 0)
- T2(GPIO 2)
- T3(GPIO 15)
- T4(GPIO 13)
- T5(GPIO 12)
- T6(GPIO 14)
- T7(GPIO 27)
- T8(GPIO 33)
- T9(GPIO 32)
'Embedded System > 마이크로컨트롤러' 카테고리의 다른 글
[ESPRESSIF] ESP32-S3-WROOM 분석 (0) | 2024.07.09 |
---|---|
[MCU] ESP32-WROOM-32 데이터시트 분석 (0) | 2023.08.03 |
ADC(Analog Digital Converter)란? (0) | 2023.03.02 |
ESP32 DevkitC V4 가이드 (1) | 2022.12.14 |
GPIO(범용 입/출력 핀)의 기본적인 기능 (0) | 2022.11.29 |