Hva er ESP32 dyp søvn
ESP32 Sleep Mode er en strømsparingsmodus som ESP32 kan legge inn når den ikke er i bruk, og lagrer alle data i RAM. På dette tidspunktet blir strøm til alle unødvendige periferiutstyr avskåret mens RAM mottar nok strøm til å kunne beholde dataene sine.
ESP32 Touch Sensor Pinout
ESP32 -styret kommer med 10 GPIO -pinner som støtter kapasitive berøringssensorer. Disse GPIO -pinnene kan oppdage endringer i elektrisk ladning som kan være forårsaket av menneskets hud. Så disse pinnene kan oppdage variasjoner forårsaket av mennesker og generere produksjon deretter.
Disse pinnene kan enkelt integreres med berøringsputer og kan erstatte mekaniske knapper i ESP32 -prosjektet. Disse berøringspinnene kan også våkne opp ESP32 fra dyp søvn.
Følgende er berøringssensorpinnene uthevet i grønn farge:
Her tilsvarer berøringssensorpinne 0 GPIO PIN 4 og berøringssensor 2 er ved GPIO -pinne 2. En pinne som er Touch Pin 1 mangler i denne versjonen av ESP32 (30 PIN) -brettet. Berøringsføler 1 er på GPIO PIN 0 som er tilgjengelig i 36-pinners versjonen av ESP32-brettet.
Aktiver berøring Våkn opp på ESP32
Aktivering av touch -pin vekking for ESP32 fra dyp søvn er enkelt. Vi trenger bare å bruke følgende funksjon i ESP32 -kode:
esp_sleep_enable_touchpad_wakeup ()ESP32 Touch Wake Up Dyp søvneksempel
Nå vil vi ta et eksempel for å teste ESP32 kapasitiv berøringssensor for å vekke styret vårt. Sørg for å installere ESP32 -brettet i Arduino IDE. For å se en guide om ESP32 -installasjon med Arduino IDE, klikk her.
Nå åpent arduino ide gå til: Fil> Eksempler> ESP32> DeepSleep> Touchwakeup
Følgende kode vises i nytt vindu:
#Define terskel 40 / * Følsomhetssett * /Denne koden leser berøringsnålen T0. Her tilsvarer T0 GPIO 4 eller D4. Det første vi må starte med er å sette en terskelverdi hvoretter ESP32 vil våkne opp fra søvn. Her i eksemplet ovenfor er terskel definert som 40. Terskelverdien kan endres avhengig av forhold.
Når leseverdien på T0 -pinnen blir lavere enn den angitte terskelverdien, vil ESP32 våkne opp fra søvn ved å ringe Ring tilbake() funksjon.
Tilbakeringingsfunksjonen () vil utføres bare når ESP32 er våken. Hvis man bare berører og slipper pinnen, vil den ikke bli utført. Hvis vi vil bruke en annen pin, må vi bruke avbrudd for den pinnen.
Neste ved hjelp av esp_sleep_enable_touchpad_wakeup () Funksjon Vi setter berøringsnålen som en vekkingskilde for ESP32 -styret.
Maskinvare
For å teste koden, ta en brødplate og plasser et ESP32 -brett der borte, koble en gensertråd til GPIO 4 og berør den ved hjelp av fingeren.
Skjematisk
Fest en jumpertråd på D4 og berør overskriften på jumpertråden ved hjelp av fingeren.
Produksjon
Utgang viser avlesningen før og etter å ha berørt GPIO -pinnen 4 av ESP32. Her kan vi se ESP32 våkner etter å ha berørt pinnen og skriver ut meldingen om pin -nummer som forårsaker den.
Konklusjon
Denne artikkelen vil guide deg ved bruk av ESP32 berøringsnåler for å vekke brettet ditt fra dyp søvn. ESP32 har 10 berøringsnåler som kan kalles og settes som kilde for oppvåkning av ESP32 -brett. Når berøring oppdages ved GPIO Touch Pin, vil ESP32 våkne opp og kjøre tilbakeringingsfunksjonen () etter at den kommer tilbake til å sove.