Questa guida di pinout a ESP32 contiene i seguenti contenuti:
1: Introduzione a ESP32
2: ESP32 Pin GPIO
3: ESP32 PIN ADC
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
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:
*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:
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:
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.
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:
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.
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:
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:
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:
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.
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:
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:
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:
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:
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.