Denne pinout -guiden til ESP32 inneholder følgende innhold:
1: Introduksjon til ESP32
2: ESP32 GPIO PINS
3: ESP32 ADC PINS
4: DAC -pinner
5: PWM -pinner
6: Spi -pinner i ESP32
7: I2c pinner
8: I2s pinner
9: uart
10: kapasitive berøringsnåler
11: ESP32 stroppende pinner
12: Pins høyt ved oppstart
13: Aktiver (EN) PIN -kode
14: ESP32 POWER PINS
15: ESP32 Hall effekt sensor
Før vi går videre hit, oppsummerte vi en kort introduksjon til ESP32 IoT -styret.
1: Introduksjon til ESP32
1.1: ESP32 Pinout
Flere varianter av ESP32 er tilgjengelige i markedet, i dag vil vi dekke den detaljerte pinout av 30-pinners varianten som følger med ESP32-Wroom-32 mikrokontroller noen ganger også referert til som Wroom32.
Totalt 48 pinner er tilgjengelige i ESP32 -brikker, hvorav 30 pinner blir utsatt for brukeren, mens andre er integrert i mikrokontrolleren; Noen brett inneholder også seks ekstra SPI -blitsintegrerte pinner som oppsummerer den totale tappen til 36.
1.2: ESP32 30 Pin versjonstavle
Bildet nedenfor representerer den detaljerte pinout av ESP32 30 -pin -variant som inneholder alle dens periferiutstyr som vi diskuterer en etter en i detalj.
Noen viktigste periferiutstyr i ESP32 er:
*ESP32 -brikke inneholder totalt 48 pinner hvorav bare 30 pinner tilgjengelig for ekstern grensesnitt (i noen brett 36 som inkluderer 6 ekstra spi -pinner) gjenværende 18 pinner er integrert i brikken for kommunikasjonsformål.
1.3: ESP32 36 Pin versjonstavle
Her er et bilde av et ESP32 -brett som har totalt 36 pinner.
1.4: Forskjell mellom ESP32 30 PIN -versjon og ESP32 36 PIN -versjon
Begge ESP32 -styrene har samme spesifikasjon Den eneste store forskjellen her er 6 ekstra pinner som er utsatt i ESP32 (36 pinner) -brett er SPI Flash Integrated Pin, og for det andre erstattes GPIO 0 med GND PIN -kode i ESP32 (30 pins) tavle som resulterer i Mangler av Berøring 1 og ADC2 CH1 Pin.
2: ESP32 GPIO PINS
Som nevnt tidligere har ESP32 totalt 48 pinner hvorav bare 30 pinner er tilgjengelige for brukere. Hver av disse 30 generelle formålene inngangsutgangspinnene har en spesifikk funksjon og kan konfigureres ved hjelp av et spesifikt register. Det er forskjellige GPIO -pinner som UART, PWM, ADC og DAC.
Av disse 30 pinnene er noen strøm, mens noen kan konfigureres som både inngang og utgang, mens det bare er visse pinner som er inndata.
2.1: Inngangs-/utgangspinn
Nesten alle GPIO -pinner kan konfigureres som inngang og utgang, bortsett fra de 6 serielle perifere grensesnittet (SPI) flash -pinner som ikke kan konfigureres for inngangs- eller utgangsformål. Disse 6 SPI -pinnene er tilgjengelige på 36 Pins versjonsbrettet.
Tabell gitt nedenfor forklarer status for ESP32 GPIO -pinner som kan brukes som inngang og utgang:
Her Ok betyr at den tilsvarende pinnen kan brukes som inngang eller utgang.
GPIO -pin | Inngang | PRODUKSJON | Beskrivelse |
GPIO 0 | Trakk opp | Ok | PWM -utgang ved oppstart |
GPIO 1 | TX PIN | Ok | Output Debug ved oppstart |
GPIO 2 | Ok | Ok | Om bord ledet |
GPIO 3 | Ok | Rx -pinne | Høyt ved oppstart |
GPIO 4 | Ok | Ok | - |
GPIO 5 | Ok | Ok | PWM -utgang ved oppstart |
GPIO 6 | - | - | Spi Flash Pin |
GPIO 7 | - | - | Spi Flash Pin |
GPIO 8 | - | - | Spi Flash Pin |
GPIO 9 | - | - | Spi Flash Pin |
GPIO 10 | - | - | Spi Flash Pin |
GPIO 11 | - | - | Spi Flash Pin |
GPIO 12 | Ok | Ok | Boot mislykkes ved høyt trekk |
GPIO 13 | Ok | Ok | - |
GPIO 14 | Ok | Ok | PWM -utgang ved oppstart |
GPIO 15 | Ok | Ok | PWM -utgang ved oppstart |
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 | Bare inngang | |
GPIO 35 | Ok | Bare inngang | |
GPIO 36 | Ok | Bare inngang | |
GPIO 39 | Ok | Bare inngang |
2.2: Bare inngangspinner
GPIO -pinner 34 til 39 kan ikke konfigureres som utdata, da disse bare er for inngangsformål. Dette skyldes mangelen på intern uttrekking eller nedtrekksmotstand, og kan derfor bare brukes som input.
Også GPIO 36 (VP) og GPIO 39 (VN) brukes til ultra-lave støyforforsterkere i ESP32 ADC.
For å oppsummere følgende er inngangspinnene i ESP32:
2.3: Avbryt pinner
Alle GPIO -pinner i ESP32 kan ta eksterne avbrudd. Dette hjelper til med å overvåke endring ved et spesifikt avbrudd i stedet for kontinuerlig overvåking.
2.4: RTC -pinner
ESP32 har også noen RTC GPIO -pinner. Disse RTC -pinnene lar ESP32 fungere i dyp søvnmodus. Når ESP32 er inne i den dype søvnmodus mens du kjører en ultra-lav kraft (ULP) medprosessor, kan disse RTC-pinnene vekke ESP32 fra dyp søvn og sparer en stor prosentandel av strømmen.
Disse RTC GPIO -pinnene kan fungere som en ekstern eksitasjonskilde for å våkne opp ESP32 fra dyp søvn på et bestemt tidspunkt eller avbryte. RTC GPIO -pinner inkluderer:
3: ESP32 ADC PINS
ESP32-styret har to integrerte 12-biters ADC-er også kjent som SAR (påfølgende tilnærmingsregistre) ADC-er. ESP32 -tavlen ADCS støtter 18 forskjellige analoge inngangskanaler som betyr at vi kan koble 18 forskjellige analoge sensorer for å ta innspill fra dem.
Men dette er ikke tilfelle her; Disse analoge kanalene er delt inn i to kategorier Channel 1 og Channel 2, begge disse kanalene har noen pinner som ikke alltid er tilgjengelige for ADC -inngang. La oss se hva de ADC -pinnene er sammen med andre.
3.1: ESP32 ADC Pinout
Som nevnt tidligere har ESP32 -styret 18 ADC -kanaler. Av 18 er bare 15 tilgjengelige i Devkit V1 Doit -brettet med totalt 30 GPIOS.
Ta en titt på brettet ditt og identifiser ADC -pinnene når vi fremhevet dem på bildet nedenfor:
3.2: Channel 1 ADC Pin
Følgende er den gitte pin -kartleggingen av ESP32 Devkit Doit Board. ADC1 i ESP32 har 8 kanaler, men DOIT Devkit -styret støtter bare 6 kanaler. Men jeg garanterer at disse fortsatt er mer enn nok.
ADC1 | GPIO PIN ESP32 |
CH0 | 36 |
CH1 | 37* (na) |
CH2 | 38* (na) |
CH3 | 39 |
CH4 | 32 |
CH5 | 33 |
CH6 | 34 |
CH7 | 35 |
*Disse pinnene er ikke tilgjengelige for ekstern grensesnitt; Disse er integrert i ESP32 -brikker.
Følgende bilde Vis ESP32 ADC1 -kanaler:
3.3: Channel 2 ADC -pinne
Devkit doit -brett har 10 analoge kanaler i ADC2. Selv om ADC2 har 10 analoge kanaler for å lese analoge data, er disse kanalene ikke alltid tilgjengelige å bruke. ADC2 deles med WiFi -drivere ombord, noe som betyr at styret bruker wifi disse ADC2 ikke vil være tilgjengelig. Løsning på dette problemet er å bruke ADC2 bare når Wi-Fi-driveren er av.
ADC2 | GPIO PIN ESP32 |
CH0 | 4 |
CH1 | 0 (Na i 30-pinners versjon ESP32-DEVKIT DOIT) |
CH2 | 2 |
CH3 | 15 |
CH4 | 1. 3 |
CH5 | 12 |
CH6 | 14 |
CH7 | 27 |
CH8 | 25 |
CH9 | 26 |
Under bildet viser pin -kartlegging av ADC2 -kanalen.
3.4: Hvordan bruke ESP32 ADC
ESP32 ADC fungerer på en lignende måte som Arduino bare forskjell her er den har 12-bit ADC. Så, ESP32 -brettet kartlegger de analoge spenningsverdiene fra 0 til 4095 i digitale diskrete verdier.
Merk: ESP32 ADC er som standard satt til 12-bits, men det er mulig å konfigurere det til 0-biters, 10-bit og 11-bit. 12-biters standard ADC kan måle verdien 2^12 = 4096 og den analoge spenningen varierer fra 0v til 3.3V.
3.5: ADC -begrensning på ESP32
Her er noen begrensninger av ESP32 ADC:
Ikke -linearitetsatferd til ESP32 kan sees på seriell monitor av Arduino IDE.
4: DAC -pinner
ESP32 har to ombord 8-bit DAC (Digital til analog omformer). Ved å bruke ESP32 DAC -pinner kan ethvert digitalt signal transformeres til analog. DAC PINS -applikasjon inkluderer spenning og PWM -kontroll.
Følgende er de to DAC -pinnene i ESP32 -styret.
5: PWM -pinner
ESP32 -brettet inneholder 16 uavhengige pulsbreddemodulasjonskanaler (PWM) som kan sende ut forskjellige PWM -signaler. Nesten alle GPIO -er kan generere et PWM -signal, men bare inngangspinnene 34,35,36,39 kan ikke brukes som PWM -pinner, da de ikke kan sende ut et signal.
Merk: I 36 pin ESP32 kan ikke ombord 6 SPI Flash integrerte pinner (GPIO 6, 7, 8, 9, 10, 11) brukes som PWM.
Les her en komplett nybegynnerguide for å kontrollere ESP32 PWM -pinner ved hjelp av Arduino IDE.
6: Spi -pinner i ESP32
ESP32 har fire SPI -periferiutstyr integrert i sin mikrokontroller:
De fleste ESP32 -brettene kommer med preasseiged SPI -pinner for både SPI2 og SPI3. Imidlertid, hvis ikke tildelt, kan vi alltid tilordne spi -pinner i kode. Følgende er SPI -pinnene som finnes i de fleste av ESP32 -brettet som er forutsagt:
SPI -grensesnitt | Mosi | Miso | SCLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Ovenfor nevnte spi -pinner kan variere avhengig av styretypen. Nå skal vi skrive en kode for å sjekke ESP32 SPI -pinner ved hjelp av Arduino IDE.
For en komplett tutorial om seriell perifert grensesnitt, klikk her.
7: I2c pinner
ESP32 Board kommer med en enkelt I2C -buss som støtter opptil 120 I2C -enheter. Som standard er to SPI -pinner for SDA og SCL definert på henholdsvis GPIO 21 og 22. Imidlertid bruker kommandoen metalltråd.BEGIN (SDA, SCL) Vi kan konfigurere hvilken som helst GPIO som et I2C -grensesnitt.
Følgende to GPIO -pinner er som standard satt for I2C:
8: I2s pinner
I2S (Inter-IC-lyd) er en synkron kommunikasjonsprotokoll som overfører lydsignaler mellom to digitale lydenheter serielt.
ESP32 har to I2s periferiutstyr, hver av dem opererer i halv dupleks kommunikasjonsmodus, men vi kan også kombinere dem for å fungere i full dupleksmodus.
Normalt brukes de to DAC -pinnene i ESP32 til I2S -lydkommunikasjon. Følgende er I2S -pinnene i ESP32:
For I2S Serial Data (SD) -pinner kan vi konfigurere hvilken som helst GPIO -pinne.
9: uart
Som standard har ESP32 tre UART -grensesnitt som er UART0, UART1 og UART2. Både UART0 og UART2 er eksternt brukbare, men UART1 er ikke tilgjengelig for ekstern grensesnitt og kommunikasjon fordi den er internt koblet til integrert SPI -flashminne.
Merk: ESP32 Chip har multiplexing -evne som betyr at forskjellige pinner også kan brukes til kommunikasjon som vi kan konfigurere hvilken.
Følgende er UART -pinnene til ESP32:
Uart buss | Rx | Tx | Beskrivelse |
UART0 | GPIO 3 | GPIO 1 | Kan brukes, men ikke anbefales fordi internt koblet til USB-til-seriell omformer |
UART1 | GPIO 9 | GPIO 10 | Ikke bruk koblet til SPI Internt ESP32 flashminne |
UART2 | GPIO 16 | GPIO 17 | Lov til å bruke |
10: kapasitive berøringsnåler
ESP32 har 10 GPIO-pinner som har innebygd støtte for kapasitive berøringssensorer. Bruke disse pinnene Enhver endring i elektrisk ladning kan oppdages. Disse pinnene fungerer som en berøringspute som sanseinngang fra en menneskelig finger eller noe annet berøring avbrudd forårsaket.
Ved hjelp av disse pinnene kan vi også designe en ekstern vekkerkilde for ESP32 fra dyp søvnmodus.
Berøringspinner inkluderer:
Følgende er berøringssensorpinnene i ESP32 -brettet:
Touch_1 PIN mangler i denne versjonen av ESP32 (30 PIN) Board. Touch_1 PIN er på (Gpio0) som er til stede i 36-pinners ESP32.
Her er en tutorial på ESP32 kapasitiv berøringssensor med Arduino IDE.
11: ESP32 stroppende pinner
ESP32 har stroppende pinner som kan sette ESP32 i forskjellige modus som bootloader eller blinkende modus. I de fleste tavler som har den innebygde USB-serien, trenger vi ikke å bekymre deg for disse pinnene, da brettet i seg selv setter ESP32 i høyre modus verken blinkende eller oppstartsmodus.
I tilfelle disse pinnene er under bruk, kan man imidlertid få problemer med å laste opp ny kode, blinke firmware eller tilbakestille ESP32 -styret.
Nedenfor er ESP32 stropppinner tilgjengelig:
12: Pins høyt ved oppstart
Noen GPIO -pinner viser uventet oppførsel når utganger koblet til disse pinnene fordi disse pinnene viser en høy tilstand eller genererer et PWM -signal når ESP32 -brettet er startet eller tilbakestilt.
Disse pinnene er:
13: Aktiver (EN) PIN -kode
Denne pinnen brukes til å aktivere ESP32 -styret. Ved å bruke dette kan vi kontrollere ESP32 spenningsregulator. Denne pinnen muliggjør brikken når den blir trukket høyt og når den trukket lavt, fungerer ESP32 med minimum effekt.
Ved å koble EN (Aktiver) PIN -koden til GND 3.3V om bord Spenningsregulator deaktiverer denne betydningen vi kan bruke en ekstern trykknapp for å starte på nytt ESP32 om nødvendig.
14: ESP32 POWER PINS
ESP32 har flere strøminngangskilder. Hovedsakelig kan to pinner brukes til å drive ESP32 som inkluderer VIN (VIN) PIN og 3V3 (3.3V) Pin. Hovedkilde for å drive ESP32 bruker USB -kabelen. De to andre kildene krevde ekstern regulert forsyning.
ESP32 har en ombord spenningsregulator av utgang 3.3V som tar innspill fra to kilder USB og VN -pinnen etter at den konverterer inngangsspenningen (5V) til 3.3V for ESP32 Working.
Følgende er de tre kraftkildene for ESP32:
Merk: 3V3 pin til ESP32 er ikke koblet til ombordspenningsregulator Det anbefales ikke å bruke dette for strøminngang fordi svak økning i spenning vil resultere i mer strømstrøm fra utgangsterminalen til LDO -regulator (AMS1117) til inngang som resulterer i permanent skade på ESP32 spenningsregulator.
Imidlertid, hvis du har konstant 3.3V forsyning da kan den brukes.
For det andre, ikke gi mer enn 9V til VN -pinnen, da ESP32 bare trenger 3.3V for å jobbe; Alle gjenværende spenninger vil bli spredt som varme.
For en mer detaljert guide om ESP32 strømkilder og spenningskrav, sjekk denne opplæringen hvordan du driver ESP32.
15: ESP32 Hall effekt sensor
ESP32 har en innebygd hallffektsensor som vi kan oppdage endringer i magnetfelt og utføre spesifikk utgang deretter.
Her er en tutorial om hvordan du bruker ESP32 innebygd Hall Effect Sensor og skriver ut lesedataene over Serial Monitor.
Konklusjon
Å starte med ESP32 har aldri vært lett, men å bruke denne artikkelen på ESP32 -pinout som noen kan starte med et IoT -basert brett i løpet av få minutter. Her dekker denne artikkelen alle detaljene angående ESP32 Pinout. Hver ESP32 -pin er diskutert i omfattende detaljer. For flere opplæringsprogrammer på spesifikke pinner, sjekk andre opplæringsprogrammer på ESP32 -brettet.