ESPTOP 10 Pinout Reference - En komplett guide

ESPTOP 10 Pinout Reference - En komplett guide
ESP32 er et mikrokontrollertavle som har en rekke GPIO -pinner til flere formål. Hver av disse pinnene er designet for spesifikke funksjoner. ESP32 har et større antall pinner sammenlignet med Arduino UNO eller ESP8266 -brett. Å begynne å jobbe med ESP32 en tilstrekkelig kunnskap om pinnen er avgjørende. Målet med denne guiden er å diskutere alle tilgjengelige pinner på tavlen og deres tilhørende funksjoner.

Denne pinout -guiden til ESP32 inneholder følgende innhold:

1: Introduksjon til ESP32

  • 1.1: ESP32 Pinout
  • 1.2: ESP32 36 Pin versjonstavle
  • 1.3: ESP32 36 Pin versjonstavle
  • 1.4: Hva er forskjellen?

2: ESP32 GPIO PINS

  • 2.1: Inngangs-/utgangspinn
  • 2.2: Bare inngangspinner
  • 2.3: Avbryt pinner
  • 2.4: RTC -pinner

3: ESP32 ADC PINS

  • 3.1: ESP32 ADC Pinout
  • 3.2: Channel 1 ADC Pin
  • 3.3: Channel 2 ADC -pinne
  • 3.4: Hvordan bruke ESP32 ADC
  • 3.5: ADC -begrensning på ESP32

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

  • ESP32 er et veldig populært IoT -basert mikrokontrollertavle.
  • Hoveddelen av dette mikrokontrollertavlen er en Tensilica Xstensa LX6 -brikke designet av espressif -systemer.
  • Den inneholder en dobbel kjerneprosessor, og hver av disse kjernene kan kontrolleres separat.
  • Totalt 48 pinner er til stede i ESP32 -brikken, men ikke alle disse pinnene er utsatt for brukere.
  • ESP32 kommer i to forskjellige versjoner: 30 pinner og 36 pinner.
  • ESP32 kan gå opp til en frekvens fra 80 MHz til 240 MHz.
  • Den inneholder en spesiell ULP (Ultra Low Power Co-Processor) som sparer en stor mengde strøm ved bruk av veldig mindre kraft mens hovedprosessoren er av.
  • Den inneholder ombord wifi og en dobbel Bluetooth -modul.
  • ESP32 er billigere enn andre mikrokontrollere.

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:

  • Totalt 48 pinner*
  • 18 12-biters ADC-pinner
  • To 8-bit DAC-pinner
  • 16 PWM -kanal
  • 10 kapasitive berøringsnåler
  • 3 uart
  • 2 I2C
  • 1 kan
  • 2 i2s
  • 3SPI

*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:

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

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:

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

  • Hvis spenning gitt til ESP32 ADC er null en ADC -kanal vil den digitale verdien være null.
  • Hvis spenningen som er gitt til ADC er maksimalt, betyr maksimalt 3.3V Utgangens digitale verdi vil være lik 4095.
  • For å måle høyere spenning, kan vi bruke spenningsdelingsmetoden.

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:

  • ESP32 ADC kan ikke direkte måle spenning større enn 3.3V.
  • Når Wi-Fi-drivere er aktivert, kan ikke ADC2 brukes. Bare 8 kanaler med ADC1 kan brukes.
  • ESP32 ADC er ikke veldig lineær; det viser ikke-linearitet oppførsel og kan ikke skille mellom 3.2V og 3.3V. Imidlertid er det mulig å kalibrere ESP32 ADC. Her er en artikkel som vil guide deg til å kalibrere ESP32 ADC -ikke -linearitetsatferd.

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.

  • DAC_1 (GPIO25)
  • DAC_2 (GPIO26)

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:

  • Spi0: Kan ikke brukes eksternt bare for intern kommunikasjon.
  • Spi1: Kan ikke brukes eksternt med SPI -enheter. Bare for kommunikasjon med intern minn
  • Spi2: SPI2 eller HSPI kan kommunisere med eksterne enheter og sensorer. Den har uavhengige bussignaler med hver bussevne til å kontrollere 3 slaveenheter.
  • Spi3: SPI3 eller VSPI kan kommunisere med eksterne enheter og sensorer. Den har uavhengige bussignaler med hver bussevne til å kontrollere 3 slaveenheter.

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:

  • GPIO21 - SDA (datapin)
  • GPIO22 - SCL (klokkesynkroniseringspinne)

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:

  • GPIO 26 - Seriell klokke (SCK)
  • GPIO 25 - Word Select (WS)

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.

  • UART0 er som standard på GPIO1 (TX0) og GPIO3 (RX0) til ESP32. Denne PIN-koden er internt koblet til USB-til-seriell omformer og brukes av ESP32 for seriell kommunikasjon via USB-port. Hvis vi bruker UART0 -pinner, vil vi ikke kunne kommunisere med PC -en. Derfor anbefales det ikke å bruke UART0 -pinner eksternt.
  • UART2 på den andre hånden er ikke koblet internt til USB-til-seriell omformer, noe som betyr at vi kan bruke den til ekstern grensesnitt for UART-kommunikasjon mellom enheter og sensorer.
  • UART1 som nevnt tidligere er internt forbundet med flashminne, så ikke bruk GPIO -pinne 9 og 10 for ekstern UART -kommunikasjon.

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:

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

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:

  • GPIO 0 (må være lav for å gå inn i oppstartsmodus)
  • GPIO 2 (må være flytende eller lav under bagasjerommet)
  • GPIO 4
  • GPIO 5 (må være høy under bagasjerommet)
  • GPIO 12 (må være lav under bagasjerommet)
  • GPIO 15 (må være høy under bagasjerommet)

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:

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 til GPIO 11 (grensesnitt med ESP32 intern SPI-flash- Ikke bruk disse pinnene til noe annet formål).
  • GPIO 14
  • GPIO 15

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:

  • USB -port: Kan bare gi inngangskraft til ESP32
  • VN PIN: Fungerer dualveisinngang så vel som utdata
  • 3V3 PIN: fungerer dualveisinngang så vel som utgang

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.