Sommario:

ESP32: dettagli interni e pinout: 11 passaggi
ESP32: dettagli interni e pinout: 11 passaggi

Video: ESP32: dettagli interni e pinout: 11 passaggi

Video: ESP32: dettagli interni e pinout: 11 passaggi
Video: [E-2]Internal Temperature Sensor in ESP32 | PWM output in ESP32 | extern C | ESP32 Series 2024, Dicembre
Anonim
Image
Image

In questo articolo parleremo dei dettagli interni e del pinning di ESP32. Ti mostrerò come identificare correttamente i pin guardando il datasheet, come identificare quale dei pin funziona come OUTPUT/INPUT, come avere una panoramica sui sensori e le periferiche che l'ESP32 ci offre, oltre al avvio. Pertanto, credo che, con il video qui sotto, sarò in grado di rispondere a diverse domande che ho ricevuto in messaggi e commenti sui riferimenti ESP32, tra le altre informazioni.

Passaggio 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Qui abbiamo il PINOUT del

WROOM-32 che serve come un buon riferimento per quando si programma. È importante prestare attenzione a General Purpose Input/Output (GPIO), ovvero porte di input e output di dati programmabili, che possono ancora essere un convertitore AD o un pin Touch, come ad esempio GPIO4. Ciò si verifica anche con Arduino, dove i pin di input e output possono anche essere PWM.

Passaggio 2: ESP-WROOM-32

Nell'immagine sopra, abbiamo l'ESP32 stesso. Esistono diversi tipi di inserti con caratteristiche diverse a seconda del produttore.

Passaggio 3: ma qual è il pinout corretto da utilizzare per il mio ESP32?

Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?
Ma qual è il pinout corretto da utilizzare per il mio ESP32?

ESP32 non è difficile. È così facile che possiamo dire che non c'è nessuna preoccupazione didattica nel tuo ambiente. Tuttavia, dobbiamo essere didattici, sì. Se vuoi programmare in Assembler, va bene. Ma il tempo di progettazione è costoso. Quindi, se tutto ciò che è un fornitore di tecnologia ti fornisce uno strumento che richiede tempo per comprenderne il funzionamento, questo può facilmente diventare un problema per te, perché tutto ciò aumenterà i tempi di ingegnerizzazione, mentre il prodotto diventa sempre più costoso. Questo spiega la mia preferenza per le cose facili, quelle che possono rendere più facile il nostro quotidiano, perché il tempo è importante, soprattutto nel mondo frenetico di oggi.

Tornando all'ESP32, in un datasheet, come in quello sopra, abbiamo la corretta identificazione dei pin nei punti salienti. Spesso l'etichetta sul chip non corrisponde al numero effettivo del pin, poiché abbiamo tre situazioni: il GPIO, il numero di serie e anche il codice della carta stessa.

Come mostrato nell'esempio sottostante, abbiamo un collegamento di un LED nell'ESP e la corretta modalità di configurazione:

Si noti che l'etichetta è TX2, ma dobbiamo seguire la corretta identificazione, come evidenziato nell'immagine precedente. Pertanto, l'identificazione corretta del pin sarà 17. L'immagine mostra quanto vicino dovrebbe rimanere il codice.

Passaggio 4: INGRESSO / USCITA

INPUT OUTPUT
INPUT OUTPUT

Durante l'esecuzione dei test INPUT e OUTPUT sui pin, abbiamo ottenuto i seguenti risultati:

INPUT non ha funzionato solo su GPIO0.

OUTPUT non ha funzionato solo sui pin GPIO34 e GPIO35, che sono rispettivamente VDET1 e VDET2.

* I pin VDET appartengono al dominio di potenza dell'RTC. Ciò significa che possono essere utilizzati come pin ADC e che il coprocessore ULP può leggerli. Possono essere solo entrate e mai uscite.

Passaggio 5: diagramma a blocchi

Diagramma a blocchi
Diagramma a blocchi

Questo diagramma mostra che ESP32 ha un dual core, un'area del chip che controlla il WiFi e un'altra area che controlla il Bluetooth. Ha anche l'accelerazione hardware per la crittografia, che consente la connessione a LoRa, una rete a lunga distanza che consente una connessione fino a 15 km, utilizzando un'antenna. Osserviamo anche il generatore di clock, l'orologio in tempo reale e altri punti che coinvolgono, ad esempio, PWM, ADC, DAC, UART, SDIO, SPI, tra gli altri. Tutto ciò rende il dispositivo abbastanza completo e funzionale.

Passaggio 6: Periferiche e sensori

Periferiche e Sensori
Periferiche e Sensori

L'ESP32 ha 34 GPIO che possono essere assegnati a varie funzioni, come:

Solo digitale;

Abilitato per analogico (può essere configurato come digitale);

Abilitato al tocco capacitivo (configurabile come digitale);

E altri.

È importante notare che la maggior parte dei GPIO digitali può essere configurata come pull-up o pull-down interni o configurata per l'alta impedenza. Quando impostato come input, il valore può essere letto attraverso il registro.

Passaggio 7: GPIO

Convertitore analogico-digitale (ADC)

L'Esp32 integra ADC a 12 bit e supporta misurazioni su 18 canali (pin abilitati per l'analogico). Il coprocessore ULP nell'ESP32 è anche progettato per misurare le tensioni durante il funzionamento in modalità di sospensione, che consente un basso consumo energetico. La CPU può essere risvegliata da un'impostazione di soglia e/o tramite altri trigger.

Convertitore digitale-analogico (DAC)

È possibile utilizzare due canali DAC a 8 bit per convertire due segnali digitali in due uscite di tensione analogiche. Questi doppi DAC supportano l'alimentazione come riferimento di tensione in ingresso e possono pilotare altri circuiti. I doppi canali supportano conversioni indipendenti.

Passaggio 8: sensori

Sensori
Sensori
Sensori
Sensori

Sensore di tocco

L'ESP32 ha 10 GPIO di rilevamento capacitivo che rilevano le variazioni indotte quando si tocca o si avvicina un GPIO con un dito o altri oggetti.

L'ESP32 ha anche un sensore di temperatura e un sensore di Hall interno, ma per lavorare con loro è necessario modificare le impostazioni dei registri. Per maggiori dettagli consultare il manuale tecnico tramite il link:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Passaggio 9: cane da guardia

L'ESP32 ha tre timer di sorveglianza: uno su ciascuno dei due moduli timer (chiamato Primary Watchdog Timer o MWDT) e uno sul modulo RTC (chiamato RTC Watchdog Timer o RWDT).

Passaggio 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Interfaccia Bluetooth v4.2 BR/EDR e Bluetooth LE (bassa energia)

L'ESP32 integra un controller di connessione Bluetooth e una banda base Bluetooth, che eseguono protocolli in banda base e altre routine di collegamento di basso livello, come modulazione / demodulazione, elaborazione dei pacchetti, elaborazione del flusso di bit, salto di frequenza, ecc.

Il controller di connessione opera in tre stati principali: standby, connessione e sniff. Consente connessioni multiple e altre operazioni, come la richiesta, la pagina e l'abbinamento semplice e sicuro, e quindi consente Piconet e Scatternet.

Passaggio 11: avvio

Avvio
Avvio
Avvio
Avvio

Su molte schede di sviluppo con USB/Seriale integrato, esptool.py può ripristinare automaticamente la scheda in modalità di avvio.

ESP32 entrerà nel caricatore di avvio seriale quando il GPIO0 viene mantenuto basso durante il ripristino. Altrimenti, eseguirà il programma in flash.

GPIO0 ha un resistore di pullup interno, quindi se è senza connessione, andrà in alto.

Molte schede utilizzano un pulsante etichettato "Flash" (o "BOOT" su alcune schede di sviluppo Espressif) che guida il GPIO0 verso il basso quando viene premuto.

GPIO2 dovrebbe anche essere lasciato non connesso/flottante.

Nell'immagine sopra, puoi vedere un test che ho eseguito. Ho messo l'oscilloscopio su tutti i pin dell'ESP per vedere cosa è successo quando è stato acceso. Ho scoperto che quando ottengo un pin, genera oscillazioni di 750 microsecondi, come mostrato nell'area evidenziata sul lato destro. Cosa possiamo fare al riguardo? Abbiamo diverse opzioni, come dare un ritardo con un circuito con un transistor, ad esempio un espansore di porta. Faccio notare che GPIO08 è invertito. L'oscillazione esce verso l'alto e non verso il basso.

Un altro dettaglio è che abbiamo alcuni pin che iniziano in High e altri in Low. Pertanto, questo PINOUT è un riferimento a quando ESP32 si accende, specialmente quando si lavora con un carico per attivare, ad esempio, un triac, un relè, un contattore o una certa potenza.

Consigliato: