Inhoudsopgave:

ESP32: interne details en pinout: 11 stappen
ESP32: interne details en pinout: 11 stappen

Video: ESP32: interne details en pinout: 11 stappen

Video: ESP32: interne details en pinout: 11 stappen
Video: #363 Which ESP32 pins are safe to use? 2024, Juni-
Anonim
Image
Image

In dit artikel zullen we het hebben over de interne details en het vastzetten van ESP32. Ik zal je laten zien hoe je de pinnen correct kunt identificeren door naar de datasheet te kijken, hoe je kunt identificeren welke van de pinnen als een OUTPUT / INPUT werken, hoe je een overzicht hebt van de sensoren en randapparatuur die de ESP32 ons biedt, naast de bagageruimte. Daarom geloof ik dat ik met de onderstaande video verschillende vragen kan beantwoorden die ik heb ontvangen in berichten en opmerkingen over de ESP32-referenties, naast andere informatie.

Stap 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Hier hebben we de PINOUT van de

WROOM-32 die dient als een goede referentie voor wanneer u programmeert. Het is belangrijk om aandacht te besteden aan General Purpose Input / Output (GPIO's), dat wil zeggen programmeerbare gegevensinvoer- en uitvoerpoorten, die nog steeds een AD-converter of een Touch-pin kunnen zijn, zoals bijvoorbeeld GPIO4. Dit gebeurt ook bij de Arduino, waar de input- en output-pinnen ook PWM kunnen zijn.

Stap 2: ESP-WROOM-32

In de afbeelding hierboven hebben we de ESP32 zelf. Er zijn verschillende soorten inzetstukken met verschillende kenmerken volgens de fabrikant.

Stap 3: Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?

Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?
Maar wat is de juiste pinout die ik kan gebruiken voor mijn ESP32?

ESP32 is niet moeilijk. Het is zo eenvoudig dat we kunnen zeggen dat er geen didactische zorg is in uw omgeving. We moeten echter didactisch zijn, ja. Als je in Assembler wilt programmeren, kan dat. Maar engineeringtijd is duur. Dus als alles wat een technologieleverancier is u een tool geeft die tijd nodig heeft om de werking ervan te begrijpen, kan dit gemakkelijk een probleem voor u worden, omdat dit alles de engineeringtijd zal verlengen, terwijl het product steeds duurder wordt. Dit verklaart mijn voorkeur voor gemakkelijke dingen, dingen die ons dagelijks gemakkelijker kunnen maken, omdat tijd belangrijk is, vooral in de drukke wereld van vandaag.

Terugkomend op de ESP32, in een datasheet, zoals in de bovenstaande, hebben we de juiste pin-identificatie in de hoogtepunten. Vaak komt het label op de chip niet overeen met het daadwerkelijke nummer van de pin, omdat we drie situaties hebben: de GPIO, het serienummer en ook de code van de kaart zelf.

Zoals in het onderstaande voorbeeld te zien is, hebben we een aansluiting van een LED in de ESP en de juiste configuratiemodus:

Merk op dat het label TX2 is, maar we moeten de juiste identificatie volgen, zoals gemarkeerd in de vorige afbeelding. Daarom is de juiste identificatie van de pin 17. De afbeelding laat zien hoe dichtbij de code moet blijven.

Stap 4: INGANG / UITGANG

INVOER UITVOER
INVOER UITVOER

Bij het uitvoeren van INPUT- en OUTPUT-tests op de pinnen, hebben we de volgende resultaten verkregen:

INPUT werkte niet alleen op GPIO0.

OUTPUT werkte niet alleen op de GPIO34- en GPIO35-pinnen, die respectievelijk VDET1 en VDET2 zijn.

* De VDET-pinnen behoren tot het vermogensdomein van de RTC. Dit betekent dat ze kunnen worden gebruikt als ADC-pinnen en dat de ULP-coprocessor ze kan lezen. Het kunnen alleen entry's zijn en nooit exits.

Stap 5: Blokdiagram

Blokdiagram
Blokdiagram

Dit diagram laat zien dat de ESP32 dual core heeft, een chipgebied dat WiFi bestuurt en een ander gebied dat Bluetooth bestuurt. Het heeft ook hardwareversnelling voor codering, waardoor verbinding met LoRa mogelijk is, een langeafstandsnetwerk dat een verbinding tot 15 km mogelijk maakt, met behulp van een antenne. We observeren ook de klokgenerator, realtimeklok en andere punten met bijvoorbeeld PWM, ADC, DAC, UART, SDIO, SPI. Dit alles maakt het apparaat behoorlijk compleet en functioneel.

Stap 6: Randapparatuur en sensoren

Randapparatuur en sensoren
Randapparatuur en sensoren

De ESP32 heeft 34 GPIO's die aan verschillende functies kunnen worden toegewezen, zoals:

Alleen digitaal;

Analoog ingeschakeld (kan als digitaal worden geconfigureerd);

Capacitive-touch-enabled (kan worden geconfigureerd als digitaal);

En anderen.

Het is belangrijk op te merken dat de meeste digitale GPIO's kunnen worden geconfigureerd als interne pull-up of pull-down, of geconfigureerd voor hoge impedantie. Indien ingesteld als invoer kan de waarde via het register worden uitgelezen.

Stap 7: GPIO

Analoog-naar-digitaal-omzetter (ADC)

De Esp32 integreert 12-bit ADC's en ondersteunt metingen op 18 kanalen (analoge pinnen). De ULP-coprocessor in de ESP32 is ook ontworpen om spanningen te meten in de slaapstand, wat een laag stroomverbruik mogelijk maakt. De CPU kan worden gewekt door een drempelinstelling en/of door andere triggers.

Digitaal-naar-analoog-omzetter (DAC)

Twee 8-bits DAC-kanalen kunnen worden gebruikt om twee digitale signalen om te zetten in twee analoge spanningsuitgangen. Deze dubbele DAC's ondersteunen de voeding als ingangsspanningsreferentie en kunnen andere circuits aansturen. Dubbele kanalen ondersteunen onafhankelijke conversies.

Stap 8: Sensoren

Sensoren
Sensoren
Sensoren
Sensoren

Aanraaksensor

De ESP32 heeft 10 capacitieve detectie-GPIO's die geïnduceerde variaties detecteren bij het aanraken of naderen van een GPIO met een vinger of andere objecten.

De ESP32 heeft ook een temperatuursensor en een interne Hall-sensor, maar om ermee te werken, moet je de instellingen van de registers wijzigen. Voor meer details, zie de technische handleiding via de link:

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

Stap 9: Waakhond

De ESP32 heeft drie bewakingstimers: één op elk van de twee timermodules (de Primary Watchdog Timer of MWDT genoemd) en één op de RTC-module (de RTC Watchdog Timer of RWDT).

Stap 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Bluetooth-interface v4.2 BR / EDR en Bluetooth LE (laag energieverbruik)

De ESP32 integreert een Bluetooth-verbindingscontroller en Bluetooth-basisband, die basisbandprotocollen en andere low-level linkroutines uitvoeren, zoals modulatie/demodulatie, pakketverwerking, bitstreamverwerking, frequentiehopping, enz.

De verbindingscontroller werkt in drie hoofdtoestanden: stand-by, verbinding en snuiven. Het maakt meerdere verbindingen en andere bewerkingen mogelijk, zoals opvragen, pagina's en veilige eenvoudige koppeling, en maakt dus Piconet en Scatternet mogelijk.

Stap 11: Opstarten

Bagageruimte
Bagageruimte
Bagageruimte
Bagageruimte

Op veel ontwikkelborden met ingebouwde USB / serieel kan esptool.py het bord automatisch resetten naar de opstartmodus.

ESP32 zal de seriële bootloader binnengaan wanneer de GPIO0 laag wordt gehouden bij de reset. Anders wordt het programma in flash uitgevoerd.

GPIO0 heeft een interne pullup-weerstand, dus als deze geen verbinding heeft, wordt deze hoog.

Veel boards gebruiken een knop met het label "Flash" (of "BOOT" op sommige Espressif-ontwikkelingsborden) die de GPIO0 naar beneden leidt wanneer erop wordt gedrukt.

GPIO2 moet ook niet aangesloten / zwevend blijven.

In de bovenstaande afbeelding ziet u een test die ik heb uitgevoerd. Ik heb de oscilloscoop op alle pinnen van de ESP gezet om te kijken wat er gebeurde toen hij werd aangezet. Ik ontdekte dat wanneer ik een pin krijg, deze oscillaties van 750 microseconden genereert, zoals weergegeven in het gemarkeerde gebied aan de rechterkant. Wat kunnen we hieraan doen? We hebben verschillende opties, zoals het geven van een vertraging bij een schakeling met een transistor, bijvoorbeeld een deurexpander. Ik wijs erop dat GPIO08 omgekeerd is. De trilling gaat naar boven en niet naar beneden.

Een ander detail is dat we een aantal pinnen hebben die in Hoog beginnen en andere in Laag. Daarom is deze PINOUT een verwijzing naar wanneer de ESP32 wordt ingeschakeld, vooral wanneer u met een belasting werkt om bijvoorbeeld een triac, een relais, een contactor of een bepaalde stroom te activeren.

Aanbevolen: