나노 ESP32 핀 구성 선택하기
보드를 프로그래밍할 때 기본 및 ESP32 핀 구성 간에 전환하는 방법을 알아보세요.
이 포스팅을 포함하여 작성한 전체 링크는 아래 리스트를 참고하세요. 배움을 절대로 멈추지 마세요.
아두이노 Nano ESP32 빠른 가이드 1 - 시작 & FAQ
아두이노 Nano ESP32 빠른 가이드 2 - 스펙과 튜토리얼
아두이노 Nano ESP32 빠른 가이드 3 - 치트시트
아두이노 Nano ESP32 빠른 가이드 4 - 클라우드
아두이노 Nano ESP32 빠른 가이드 5 - 디버깅
아두이노 Nano ESP32 빠른 가이드 6 - ESP-NOW
아두이노 Nano ESP32 빠른 가이드 7 - 시작하기
아두이노 Nano ESP32 빠른 가이드 8 - 핀 설정
아두이노 Nano ESP32 빠른 가이드 9 - SPIFFS 파티션
개요
아두이노 나노 ESP32는 ESP32-S3 SoC를 기반으로 하는 나노 폼 팩터 보드입니다. 이 보드는 아두이노 나노 제품군의 일부이며 모든 나노 보드와 동일한 핀아웃을 따릅니다. 코드에서 동일한 배선 및 핀 번호를 유지할 수 있으므로 다른 나노 보드에서 프로젝트를 포팅하려는 경우 매우 편리합니다.
즉, 핀을 제어하려는 경우 보드 자체에 인쇄된 핀 번호를 사용하기만 하면 됩니다:
// This will enable the pin marked with "D8" on the board:
digitalWrite(8, HIGH);
호환성 모드
그러나 이전에 ESP32 보드용으로 작성된 일부 라이브러리(예: OneWire, FastLED, ESP32Servo)는 보드에 인쇄된 핀 번호를 지원하지 않으므로 대신 내부 마이크로컨트롤러의 GPIO 번호를 참조해야 합니다. 예를 들어, 보드에 "D8"이라고 표시된 핀을 참조하려면 해당 핀에 해당하는 GPIO 번호인 17을 코드에 작성해야 합니다.
이를 위해 사용하려는 번호 체계를 선택할 수 있도록 호환성 모드를 추가했습니다:
다른 나노 보드에서 기존 아두이노 프로젝트를 포팅할 때 보드에 인쇄된 번호를 반영하는 "아두이노 핀" 체계를 사용하는 것이 편리합니다.
ESP32용 타사 라이브러리를 사용하는 경우 내부 번호에 해당하는 "GPIO 번호" 체계를 사용해야 합니다.
이 구성을 변경하려면 보드를 연결하고 도구 > 핀 번호 지정으로 이동한 다음 원하는 옵션을 선택하기만 하면 됩니다. 자세한 내용은 이 튜토리얼에서 확인할 수 있습니다.
필요한 소프트웨어 및 하드웨어
- 아두이노 나노 ESP32
- 아두이노 IDE
- 아두이노 ESP32 보드 패키지(버전 2.0.12 이상). Arduino IDE에서 직접 설치할 수 있습니다.
다른 핀 구성
Nano ESP32 핀이 ESP32(MCU) 핀과 일치하지 않는 이유는 무엇인가요? Nano ESP32는 많은 사람들이 선호하는 폼 팩터인 나노 폼 팩터를 사용하여 설계되었으며, 수년 동안 해당 핀을 일관되게 유지해 왔습니다.
따라서 하드웨어 설정을 변경하지 않고도 구형 나노 보드를 최신 나노(예: Nano ESP32)로 마이그레이션할 수 있습니다.
물론 여기에는 번호 지정이 ESP32의 기본 GPIO 할당과 일치하지 않는다는 별도의 문제가 있습니다.
예를 들면 다음과 같습니다:
- 핀 2는 실제로는 GPIO 5
- 핀 5는 실제로는 GPIO 8
- 다른 핀도(전체 핀 맵 참조).
보드 설계에서 실제 마이크로컨트롤러의 핀이 헤더 핀과 일치하지 않는 경우가 종종 있습니다.
기본 및 레거시 옵션
다행히도 두 가지 구성 중에서 선택할 수 있습니다:
-
By Arduino pin (default)
-
.By GPIO number (legacy)
따라서 스케치에서 Arduino 핀(기본값) 옵션을 사용하여 핀을 구성한다고 가정해 보겠습니다:
// with default configuration, this enables pin 2 as an output
pinMode(2, OUTPUT);
하지만 GPIO 번호(레거시) 옵션을 사용할 때는 다음과 같이 구성해야 합니다:
// with ESP32 configuration, this enables pin 2 as an output
pinMode(5, OUTPUT);
핀 레이블
D0, D1, D2와 같은 레이블을 사용하여 핀을 제어할 수도 있습니다. 이러한 레이블은 보드 패키지에 미리 정의되어 있으며, 사용자가 설정한 구성에 따라 조정됩니다.
예를 들어 다음 코드는 어떤 구성을 사용하든 동일한 핀에 액세스합니다:
/*
This will configure the "D2" physical pin on your board
(but will internally configure GPIO 5 on the ESP32)
*/
pinMode(D2, OUTPUT);
핀 구성 변경
핀 구성을 변경하려면 아두이노 IDE를 열고 도구 > 핀 번호 지정으로 이동합니다. 여기에서 기본(나노) 및 레거시(ESP32) 옵션 중에서 선택할 수 있습니다.
나노 ESP32 핀 맵
Nano ESP32 보드의 핀이 ESP32-S3 SoC 핀과 어떻게 상호 연관되는지 이해하려면 아래 핀 맵을 살펴보세요:
더 나은 시각적 번역을 위해 아래 핀아웃을 참조하세요:
Nano | ESP32 |
D0 | GPIO44 |
D1 | GPIO43 |
D2 | GPIO5 |
D3 | GPIO6 |
D4 | GPIO7 |
D5 | GPIO8 |
D6 | GPIO9 |
D7 | GPIO10 |
D8 | GPIO17 |
D9 | GPIO18 |
D10 | GPIO21 |
D11 | GPIO38 |
D12 | GPIO47 |
D13 | GPIO48 |
A0 | GPIO1 |
A1 | GPIO2 |
A2 | GPIO3 |
A3 | GPIO4 |
A4 | GPIO11 |
A5 | GPIO12 |
A6 | GPIO13 |
A7 | GPIO14 |
BOOT0 | GPIO46 |
BOOT1 | GPIO0 |
요약
이 튜토리얼에서는 Nano ESP32의 핀아웃이 ESP32-S3 SoC 핀아웃과 어떻게 다른지 살펴봤습니다. 또한 구성을 변경하는 방법을 살펴보고 다음 프로젝트를 만들 때 참조할 수 있는 핀 맵을 제공했습니다.
'ESP32' 카테고리의 다른 글
ESP32의 개발 관련 자료 (0) | 2024.08.08 |
---|---|
인터넷을 통해 원격으로 환경의 상태를 모니터링 (0) | 2024.07.04 |
원격으로 모니터링 할 수 있는 도구 (0) | 2024.07.03 |
아두이노 Nano ESP32 빠른 가이드 9 - SPIFFS 파티션 (0) | 2024.06.12 |
아두이노 Nano ESP32 빠른 가이드 7 - 시작하기 (0) | 2024.06.10 |
아두이노 Nano ESP32 빠른 가이드 6 - ESP-NOW (2) | 2024.06.07 |
아두이노 Nano ESP32 빠른 가이드 5 - 디버깅 (1) | 2024.06.06 |
아두이노 Nano ESP32 빠른 가이드 4 - 클라우드 (0) | 2024.06.05 |
더욱 좋은 정보를 제공하겠습니다.~ ^^