ESPTOP 10 Riferimento Pinout - Una guida completa

ESPTOP 10 Riferimento Pinout - Una guida completa
ESP32 è una scheda microcontrollore che ha un numero di pin GPIO per diversi scopi. Ognuno di questi pin è progettato per funzioni specifiche. ESP32 presenta un numero maggiore di pin rispetto alle schede Arduino Uno o ESP8266. Per iniziare a lavorare con ESP32 è essenziale una conoscenza sufficiente del suo pin. L'obiettivo di questa guida è discutere tutti i pin disponibili sul tabellone e le loro caratteristiche associate.

Questa guida di pinout a ESP32 contiene i seguenti contenuti:

1: Introduzione a ESP32

  • 1.1: ESP32 PINOUT
  • 1.2: ESP32 36 pin Version Board
  • 1.3: ESP32 36 pin Version Board
  • 1.4: Qual è la differenza?

2: ESP32 Pin GPIO

  • 2.1: pin di ingresso/output
  • 2.2: input solo i pin
  • 2.3: pin di interruzione
  • 2.4: pin RTC

3: ESP32 PIN ADC

  • 3.1: ESP32 ADC Pinout
  • 3.2: Pin ADC del canale 1
  • 3.3: Pin ADC del canale 2
  • 3.4: come utilizzare ESP32 ADC
  • 3.5: limitazione ADC su ESP32

4: pin DAC

5: pin pwm

6: Pin SPI in ESP32

7: pin i2c

8: pin i2s

9: Uart

10: Pin tocco capacitivi

11: ESP32 Pin di reggispi

12: pin alti all'avvio

13: Abilita pin (en)

14: ESP32 Pin di potenza

15: Sensore effetto Hall ESP32

Prima di andare avanti qui, abbiamo riassunto una breve introduzione alla scheda IoT ESP32.

1: Introduzione a ESP32

  • ESP32 è una scheda microcontrollore basata su IoT molto popolare.
  • La parte principale di questa scheda di microcontrollore è un chip Tensilica Xtensa LX6 progettato da Espressif Systems.
  • Contiene un processore a doppio core e ciascuno di questi core può essere controllato separatamente.
  • Totale di 48 pin sono presenti nel chip ESP32, tuttavia non tutti questi pin sono esposti agli utenti.
  • ESP32 è disponibile in due diverse versioni: 30 pin e 36 pin.
  • ESP32 può salire a una frequenza a partire da 80 MHz a 240 MHz.
  • Contiene uno speciale ULP (co-processore a bassa potenza) che consente di risparmiare una grande quantità di potenza utilizzando molto meno energia mentre il processore principale è spento.
  • Contiene a bordo wifi e un modulo bluetooth a doppio.
  • ESP32 è più economico di altri microcontrollori.

1.1: ESP32 PINOUT

Varianti multiple di ESP32 sono disponibili sul mercato, oggi copriremo il pinout dettagliato della variante a 30 pin fornita con il microcontrollore ESP32-Wroom-32 a volte indicato anche come Wroom32.

Totale di 48 pin sono disponibili nei chip ESP32 tra cui 30 pin sono esposti all'utente mentre altri sono integrati all'interno del microcontrollore; Alcune schede contengono anche sei pin integrati SPI Flash extra che riassumono il pin totale a 36.

1.2: Scheda versione da 30 pin ESP32

L'immagine seguente rappresenta il pinout dettagliato della variante ESP32 30 pin contenente tutte le sue periferiche di cui discutiamo uno per uno in dettaglio.

Alcune periferiche principali all'interno di ESP32 sono:

  • Totale 48 pin*
  • 18 pin ADC a 12 bit
  • Due pin DAC a 8 bit
  • 16 canale PWM
  • 10 perni tocco capacitivi
  • 3 UART
  • 2 i2c
  • 1 lattina
  • 2 i2s
  • 3SPI

*Il chip ESP32 contiene un totale di 48 pin di cui solo 30 pin disponibili per l'interfaccia esterna (in alcune schede 36 che includono 6 pin SPI extra) rimanenti 18 pin sono integrati all'interno del chip per scopi di comunicazione.

1.3: ESP32 36 pin Version Board

Ecco un'immagine di una scheda ESP32 con un totale di 36 pin.

1.4: differenza tra la versione ESP32 30 pin e la versione per pin 36 ESP32

Entrambe le schede ESP32 condividono le stesse specifiche L'unica grande differenza qui sono 6 pin extra che sono esposti nella scheda ESP32 (36 pin) sono il pin SPI Flash integrato e in secondo luogo il GPIO 0 viene sostituito con il pin GND nella scheda ESP32 (30 pin) che si traduce mancante di Tocca 1 E ADC2 CH1 spillo.

2: ESP32 Pin GPIO

Come accennato in precedenza, ESP32 ha un totale di 48 pin di cui solo 30 pin sono accessibili agli utenti. Ognuno di questi 30 pin di output di ingresso generale ha una funzione specifica e può essere configurato utilizzando un registro specifico. Ci sono diversi perni GPIO come UART, PWM, ADC e DAC.

Di questi 30 pin Alcuni sono potenza mentre alcuni possono essere configurati sia come input che come output mentre ci sono alcuni pin che sono solo input.

2.1: pin di ingresso/output

Quasi tutti i pin GPIO possono essere configurati come input e output ad eccezione dei pin flash dell'interfaccia periferica seriale (SPI) che non possono essere configurati per scopi di input o output. Questi 6 pin SPI sono disponibili sulla scheda versione a 36 pin.

La tabella indicata di seguito spiega lo stato dei pin GPIO ESP32 che possono essere utilizzati come input e output:

Qui OK significa che il pin corrispondente può essere utilizzato come ingresso o output.

PIN GPIO INGRESSO PRODUZIONE Descrizione
GPIO 0 Tirato su OK Output PWM all'avvio
GPIO 1 PIN TX OK Debug di output all'avvio
GPIO 2 OK OK A bordo di LED
GPIO 3 OK Pin Rx Alto allo stivale
GPIO 4 OK OK -
GPIO 5 OK OK Output PWM all'avvio
GPIO 6 - - PIN FLASH SPI
GPIO 7 - - PIN FLASH SPI
GPIO 8 - - PIN FLASH SPI
GPIO 9 - - PIN FLASH SPI
GPIO 10 - - PIN FLASH SPI
GPIO 11 - - PIN FLASH SPI
GPIO 12 OK OK L'avvio fallisce in alto tiro
GPIO 13 OK OK -
GPIO 14 OK OK Output PWM all'avvio
GPIO 15 OK OK Output PWM all'avvio
GPIO 16 OK OK -
GPIO 17 OK OK -
GPIO 18 OK OK -
GPIO 19 OK OK -
GPIO 21 OK OK -
GPIO 22 OK OK -
GPIO 23 OK OK -
GPIO 25 OK OK -
GPIO 26 OK OK -
GPIO 27 OK OK -
GPIO 32 OK OK -
GPIO 33 OK OK -
GPIO 34 OK Solo input
GPIO 35 OK Solo input
GPIO 36 OK Solo input
GPIO 39 OK Solo input

2.2: input solo i pin

I pin GPIO da 34 a 39 non possono essere configurati come output in quanto questi sono solo a scopo di input. Ciò è dovuto alla mancanza di tiro verso l'alto interno o resistenza a discesa, quindi può essere usato solo come input.

Inoltre, GPIO 36 (VP) e GPIO 39 (VN) sono usati per preamplificatori di rumore ultra-bassa in ESP32 ADC.

Per riassumere i seguenti sono solo i pin di input in ESP32:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

2.3: pin di interruzione

Tutti i pin GPIO in ESP32 possono assumere interruzioni esterne. Questo aiuta a monitorare il cambiamento in un interrupt specifico invece di monitorare continuamente.

2.4: pin RTC

ESP32 ha anche alcuni pin RTC GPIO. Questi pin RTC consentono a ESP32 di funzionare in modalità di sonno profondo. Quando ESP32 si trova all'interno della modalità di sonno profondo mentre si esegue un co-processore Ultra-Low Power (ULP), questi pin RTC possono svegliare ESP32 dal sonno profondo una grande percentuale di potenza.

Questi pin GPIO RTC possono fungere da fonte di eccitazione esterna per svegliare ESP32 dal sonno profondo in un determinato momento o interruzione. I pin RTC GPIO includono:

  • 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)

3: ESP32 PIN ADC

Il consiglio ESP32 ha due ADC integrati a 12 bit noti anche come ADC SAR (successivi approssimazioni). La scheda ESP32 ADCS supporta 18 diversi canali di ingresso analogici, il che significa che possiamo collegare 18 diversi sensori analogici per prenderne input da essi.

Ma questo non è il caso qui; Questi canali analogici sono divisi in due categorie Channel 1 e Channel 2, entrambi questi canali hanno alcuni pin che non sono sempre disponibili per l'ingresso ADC. Vediamo cosa sono quei pin ADC insieme ad altri.

3.1: ESP32 ADC Pinout

Come accennato in precedenza, la scheda ESP32 ha 18 canali ADC. Su 18 solo 15 sono disponibili nel consiglio di amministrazione di Devkit V1 con un totale di 30 GPIO.

Dai un'occhiata alla tua tavola e identifica i pin ADC mentre li abbiamo evidenziati nell'immagine qui sotto:

3.2: Pin ADC del canale 1

Di seguito è riportata la mappatura dei pin indicata della scheda DOIT ESP32 Devkit. ADC1 in ESP32 ha 8 canali tuttavia la scheda DOIT Devkit supporta solo 6 canali. Ma garantisco che questi sono ancora più che sufficienti.

ADC1 GPIO PIN ESP32
CH0 36
CH1 37* (NA)
CH2 38* (NA)
CH3 39
CH4 32
CH5 33
CH6 34
CH7 35

*Questi pin non sono disponibili per l'interfaccia esterna; Questi sono integrati all'interno dei chip ESP32.

Segui l'immagine mostra i canali ESP32 ADC1:

3.3: Pin ADC del canale 2

Le schede DOIT Devkit hanno 10 canali analogici in ADC2. Sebbene ADC2 abbia 10 canali analogici per leggere dati analogici, questi canali non sono sempre disponibili per l'uso. ADC2 è condiviso con i driver WiFi di bordo, il che significa che al momento della scheda utilizza WiFi, questi ADC2 non saranno disponibili. La soluzione a questo problema è utilizzare ADC2 solo quando il driver Wi-Fi è spento.

ADC2 GPIO PIN ESP32
CH0 4
CH1 0 (Na in versione da 30 pin ESP32-Devkit Doit)
CH2 2
CH3 15
CH4 13
CH5 12
CH6 14
CH7 27
CH8 25
CH9 26

L'immagine sotto mostra la mappatura dei pin del canale ADC2.

3.4: come utilizzare ESP32 ADC

ESP32 ADC funziona in modo simile come l'unica differenza di Arduino qui è che ha ADC a 12 bit. Quindi, la scheda ESP32 mappa i valori di tensione analogica che vanno da 0 a 4095 in valori discreti digitali.

  • Se la tensione data a ESP32 ADC è zero, un canale ADC, il valore digitale sarà zero.
  • Se la tensione data all'ADC è massima 3.3v Il valore digitale di output sarà pari a 4095.
  • Per misurare una tensione più alta, possiamo utilizzare il metodo del divisore di tensione.

Nota: ESP32 ADC è per impostazione predefinita impostata a 12 bit, tuttavia è possibile configurarlo in 0 bit, 10 bit e 11 bit. L'ADC predefinito a 12 bit può misurare il valore 2^12 = 4096 e la tensione analogica varia da 0 V a 3.3v.

3.5: limitazione ADC su ESP32

Ecco alcune limitazioni di ESP32 ADC:

  • ESP32 ADC non può misurare direttamente la tensione maggiore di 3.3v.
  • Quando i driver Wi-Fi sono abilitati ADC2 non può essere utilizzato. È possibile utilizzare solo 8 canali di ADC1.
  • L'ADC ESP32 non è molto lineare; mostra non linearità comportamento e non può distinguere tra 3.2v e 3.3v. Tuttavia, è possibile calibrare ESP32 ADC. Ecco un articolo che ti guiderà a calibrare il comportamento di non linearità ESP32 ADC.

Il comportamento di non linearità di ESP32 può essere visto sul monitor seriale di Arduino IDE.

4: pin DAC

ESP32 presenta due a bordo DAC a 8 bit (Convertitore da digitale a analogico). Usando i pin DAC ESP32 Qualsiasi segnale digitale può essere trasformato in analogico. L'applicazione DAC Pins include tensione e controllo PWM.

Di seguito sono riportati i due pin DAC nella scheda ESP32.

  • DAC_1 (GPIO25)
  • DAC_2 (GPIO26)

5: pin pwm

La scheda ESP32 contiene 16 canali di modulazione di larghezza di impulsi indipendenti (PWM) in grado di produrre diversi segnali PWM. Quasi tutti i GPIO possono generare un segnale PWM, tuttavia i pin di ingresso 34,35,36,39 non può essere usato come pin PWM in quanto non possono produrre un segnale.

Nota: In 36 pin ESP32, pin integrati SPI Flash a bordo 6 (GPIO 6, 7, 8, 9, 10, 11) non può essere usato come PWM.

Leggi qui una guida completa per principianti per il controllo dei pin PWM ESP32 utilizzando Arduino IDE.

6: Pin SPI in ESP32

ESP32 ha quattro periferiche SPI integrate nel suo microcontrollore:

  • SPI0: Non può essere utilizzato esternamente solo per la comunicazione interna.
  • SPI1: Non può essere utilizzato esternamente con dispositivi SPI. Solo per la comunicazione di memoria interna
  • SPI2: SPI2 o HSPI possono comunicare con dispositivi e sensori esterni. Ha segnali di autobus indipendenti con ogni capacità di controllare il bus 3 dispositivi slave.
  • SPI3: SPI3 o VSPI possono comunicare con dispositivi e sensori esterni. Ha segnali di autobus indipendenti con ogni capacità di controllare il bus 3 dispositivi slave.

La maggior parte delle schede ESP32 sono dotate di pin SPI preassegnati sia per SPI2 che per SPI3. Tuttavia, se non assegnato possiamo sempre assegnare pin SPI nel codice. Di seguito sono riportati i pin SPI che si trovano nella maggior parte della scheda ESP32 che sono prevalenti:

Interfaccia SPI MOSI MISO SCLK Cs
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

I pin SPI sopra menzionati possono variare a seconda del tipo di scheda. Ora scriveremo un codice per controllare i pin SPI ESP32 usando Arduino IDE.

Per un tutorial completo sull'interfaccia periferica seriale, fai clic qui.

7: pin i2c

La scheda ESP32 viene fornita con un singolo bus i2c che supporta fino a 120 dispositivi i2c. Per impostazione predefinita, due pin SPI per SDA e SCL sono definiti rispettivamente a GPIO 21 e 22. Tuttavia, usando il comando filo.Inizia (SDA, SCL) Possiamo configurare qualsiasi GPIO come interfaccia I2C.

I seguenti due pin GPIO sono impostati per impostazione predefinita per I2C:

  • GPIO21 - SDA (PIN DATI)
  • GPIO22 - SCL (PIN di sincronizzazione dell'orologio)

8: pin i2s

I2S (Sound Inter-IC) è un protocollo di comunicazione sincrono che trasmette in seria i segnali audio tra due dispositivi audio digitali.

ESP32 ha due periferiche I2S, ognuna di esse opera in modalità di comunicazione mezzo duplex, tuttavia possiamo anche combinarli per operare in modalità duplex completa.

Normalmente i due pin DAC in ESP32 sono usati per la comunicazione audio I2S. Di seguito sono riportati i pin i2s in ESP32:

  • GPIO 26 - Orologio seriale (SCK)
  • GPIO 25 - Word Select (WS)

Per i pin I2S Serial Data (SD) possiamo configurare qualsiasi pin GPIO.

9: Uart

Per impostazione predefinita, ESP32 ha tre interfacce UART che sono UART0, UART1 e UART2. Sia UART0 che UART2 sono usabili esternamente, tuttavia UART1 non è disponibile per l'interfaccia e la comunicazione esterne perché è collegato internamente alla memoria SPI Flash integrata.

  • UART0 è per impostazione predefinita su GPIO1 (TX0) e GPIO3 (RX0) di ESP32. Questo pin è internamente collegato al convertitore da USB-SERIALE ed è utilizzato da ESP32 per la comunicazione seriale tramite porta USB. Nel caso in cui utilizziamo i pin UART0 non saremo in grado di comunicare con il PC. Pertanto, non è consigliabile utilizzare i pin UART0 esternamente.
  • UART2 Oltre all'altro non è collegato internamente al convertitore da USB-SERIALE, il che significa che possiamo usarlo per l'interfaccia esterna per la comunicazione UART tra dispositivi e sensori.
  • UART1 come menzionato in precedenza è internamente connesso con la memoria flash, quindi non utilizzare il pin 9 e 10 per la comunicazione UART esterna.

Nota: Il chip ESP32 ha una funzionalità multiplexing, il che significa che possono anche essere utilizzati pin diversi per comunicazioni come possiamo configurare qualsiasi pin GPIO in ESP32 per la comunicazione UART1 definendolo all'interno del codice Arduino.

Di seguito sono riportati i pin UART di ESP32:

Bus Uart Rx TX Descrizione
Uart0 GPIO 3 GPIO 1 Può essere utilizzato ma non consigliato perché internamente connesso al convertitore da USB-SERIALE
Uart1 GPIO 9 GPIO 10 Non utilizzare connesso alla memoria flash ESP32 interna SPI
UART2 GPIO 16 GPIO 17 Autorizzato a utilizzare

10: Pin tocco capacitivi

ESP32 ha 10 perni GPIO che hanno un supporto integrato per sensori di touch capacitivi. Usando questi pin è possibile rilevare qualsiasi cambiamento nella carica elettrica. Queste spille fungono da touch pad come l'input di senso da un dito umano o qualsiasi altro interrupt di tocco causato.

Usando questi pin, possiamo anche progettare una fonte di sveglia esterna per ESP32 dalla modalità di sospensione profonda.

I pin di tocco includono:

  • Touch_0 (GPIO4)
  • Touch_1 (GPIO0)
  • Touch_2 (GPIO2)
  • Touch_3 (GPIO15)
  • Touch_4 (GPIO13)
  • Touch_5 (GPIO12)
  • Touch_6 (GPIO14)
  • Touch_7 (GPIO27)
  • Touch_8 (GPIO33)
  • Touch_9 (GPIO32)

Di seguito sono riportati i pin del sensore touch nella scheda ESP32:

Touch_1 Pin manca in questa versione della scheda ESP32 (30 pin). Touch_1 Pin è a (GPIO0) che è presente nell'ESP32 a 36 pin.

Ecco un tutorial sul sensore di touch capacitivo ESP32 con Arduino IDE.

11: ESP32 Pin di reggispi

ESP32 ha pin di reggispi che possono mettere ESP32 in diverse modalità come Bootloader o Modalità lampeggiante. Nella maggior parte delle schede che presentano la serie USB integrata non dobbiamo preoccuparci di questi pin poiché la scheda stessa mette ESP32 in modalità lampeggiante o di avvio.

Tuttavia, nel caso in cui questi pin siano in uso, si possono incontrare problemi nel caricare nuovo codice, il flashing del firmware o il ripristino della scheda ESP32.

Di seguito sono riportati i pin di reggistica ESP32 disponibili:

  • GPIO 0 (deve essere basso per accedere alla modalità di avvio)
  • GPIO 2 (deve essere galleggiante o basso durante l'avvio)
  • GPIO 4
  • GPIO 5 (deve essere elevato durante l'avvio)
  • GPIO 12 (deve essere basso durante l'avvio)
  • GPIO 15 (deve essere elevato durante l'avvio)

12: pin alti all'avvio

Alcuni pin GPIO mostrano un comportamento imprevisto quando le uscite collegate a questi pin perché questi pin mostrano uno stato elevato o generano un segnale PWM una volta avviato la scheda ESP32.

Questi pin sono:

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 a GPIO 11 (interfacciato con ESP32 SPI Flash interno non utilizzare questi pin per nessun altro scopo).
  • GPIO 14
  • GPIO 15

13: Abilita pin (en)

Questo pin viene utilizzato per abilitare la scheda ESP32. Usando questo possiamo controllare il regolatore di tensione ESP32. Questo pin abilita il chip quando è tirato in alto e quando è tirato basso, ESP32 funziona al minimo di potenza.

Collegando il pin EN (Abilita) a GND il 3.3V REGOLATORE DI TENSIONE SCHEDA Disabilita questo significato che possiamo usare un pulsante esterno per riavviare ESP32 se necessario.

14: ESP32 Pin di potenza

ESP32 ha più fonti di input di potenza. Principalmente due pin possono essere utilizzati per alimentare ESP32 che include il pin VIN (VIN) e 3V3 (3.3V) PIN. La fonte principale di alimentazione ESP32 sta utilizzando il cavo USB. Le altre due fonti hanno richiesto un'alimentazione regolamentata esterna.

L'ESP32 ha a bordo regolatore di tensione di output 3.3v che prende input da due fonti USB e il pin VN dopo che converte la tensione di ingresso (5 V) in 3.3v per ESP32 Working.

Di seguito sono riportate le tre fonti di potenza per ESP32:

  • Porta USB: può solo dare energia a ESP32
  • VN PIN: funziona in un ingresso a doppio modo e output
  • Pin 3v3: funziona a doppio modo e output

Nota: Il pin 3v3 di ESP32 non è collegato al regolatore di tensione a bordo non è consigliabile utilizzarlo per l'ingresso di alimentazione poiché un leggero aumento della tensione comporterà un maggiore flusso di corrente dal terminale di uscita del regolatore LDO (AMS1117) all'ingresso con conseguente danno permanente del regolatore di tensione ESP32.

Tuttavia, se hai costante 3.3v l'alimentazione quindi può essere utilizzata.

In secondo luogo, non dare più di 9 V al pin VN poiché ESP32 necessita solo di 3.3v per lavorare; Tutte le tensioni rimanenti saranno dissipate come calore.

Per una guida più dettagliata sulle fonti di alimentazione ESP32 e sui requisiti di tensione, verificare questo tutorial su come alimentare ESP32.

15: Sensore effetto Hall ESP32

ESP32 presenta un sensore di effetto hall integrato utilizzando il quale possiamo rilevare le variazioni del campo magnetico ed eseguire un'uscita specifica di conseguenza.

Ecco un tutorial su come utilizzare il sensore ESP32 Effect incorporato e stampare i dati di lettura su Serial Monitor.

Conclusione

A partire da ESP32 non è mai stato facile, ma utilizzare questo articolo su ESP32 Pinout, chiunque può iniziare con una scheda basata su IoT in pochi minuti. Qui questo articolo copre tutti i dettagli riguardanti ESP32 Pinout. Ogni perno ESP32 è discusso in dettaglio ampio. Per ulteriori tutorial su pin specifici, consultare altri tutorial sulla scheda ESP32.