본문 바로가기

ESP32

아두이노 Nano ESP32 빠른 가이드 8 - 핀 설정

반응형

 

나노 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) 옵션 중에서 선택할 수 있습니다. 

 

 

아두이노 IDE에서 핀 구성을 변경합니다.

 

나노 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 핀아웃과 어떻게 다른지 살펴봤습니다. 또한 구성을 변경하는 방법을 살펴보고 다음 프로젝트를 만들 때 참조할 수 있는 핀 맵을 제공했습니다. 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^