Co to jest głęboki sen ESP32
Tryb uśpienia ESP32 to tryb oszczędzania energii, który ESP32 może wprowadzić, gdy nie jest używany, zapisywanie wszystkich danych w pamięci RAM. W tej chwili moc do niepotrzebnych peryferyjnych jest odcięta, podczas gdy pamięć RAM otrzymuje wystarczającą moc, aby móc zachować swoje dane.
ESP32 Touch Sensor Pinout
Płyta ESP32 jest wyposażona w 10 pinów GPIO, które obsługują pojemnościowe czujniki dotykowe. Te szpilki GPIO mogą wykryć zmiany ładunku elektrycznego, które mogą być spowodowane ludzką skórę. Tak więc te piny mogą wykrywać zmiany spowodowane przez ludzkie palce i odpowiednio generować moc wyjściową.
Te piny można łatwo zintegrować z podkładkami dotykowymi i mogą wymienić mechaniczne przyciski w projekcie ESP32. Te piny dotykowe mogą również obudzić ESP32 z głębokiego snu.
Poniżej znajdują się szpilki czujnika dotykowego podkreślone w kolorze zielonym:
Tutaj styk czujnika dotyku 0 odpowiada gpio pin 4, a czujnik dotykowy 2 jest na pin GPIO 2. W tej konkretnej wersji płytki ESP32 (30 pin) brakuje jednego szpilki. Czujnik dotykowy 1 znajduje się w GPIO PIN 0, który jest dostępny w 36-pinowej wersji płyty ESP32.
Włącz dotyk Obudź się na ESP32
Włączanie budzenia pinu dotykowego dla ESP32 z głębokiego snu jest proste. Musimy tylko użyć następującej funkcji w kodzie ESP32:
esp_sleep_enable_touchpad_wakeup ()ESP32 dotyk budzi się głęboki sen
Teraz weźmiemy przykład, aby przetestować pojemnościowy czujnik dotykowy ESP32 w celu przebudzenia naszej tablicy. Pamiętaj, aby zainstalować płytę ESP32 w Arduino IDE. Aby zobaczyć przewodnik po instalacji ESP32 z Arduino IDE, kliknij tutaj.
Teraz otwórz Arduino Ide idź: Plik> Przykłady> ESP32> Deepsleep> Touchwakeup
Następujący kod pojawi się w nowym oknie:
#definicja progu 40 / * Zestaw wrażliwości * /Ten kod odczytuje pin dotykowy T0. Tutaj T0 odpowiada GPIO 4 Lub D4. Pierwszą rzeczą, od której musimy zacząć, jest ustawienie wartości progowej, po czym ESP32 obudzi się ze snu. Tutaj, w powyższym progu przykładu, jest zdefiniowane jako 40. Wartość progową można zmienić w zależności od warunków.
Gdy wartość odczytu przy pinu T0 staje się niższa niż wartość ustawiona progowa, ESP32 obudzi się ze snu, dzwoniąc oddzwonić() funkcjonować.
Funkcja callback () będzie wykonywana tylko wtedy, gdy ESP32 się obudzi. Jeśli ktoś po prostu dotyka i zwolni PIN, nie zostanie wykonany. Jeśli chcemy użyć innego PIN, musimy użyć przerwań dla tego pinu.
Następnie za pomocą esp_sleep_enable_touchpad_wakeup () Funkcja ustawiamy pin dotykowy jako źródło budzenia dla płyty ESP32.
Sprzęt komputerowy
Aby przetestować kod, weź tam tablicę chlebową i umieść tam płytę ESP32, podłącz drut zworki do GPIO 4 i dotknij go za pomocą palca.
Schematyczny
Przymocuj drut zworki w D4 i dotknij nagłówka drutu zworki za pomocą palca.
Wyjście
Wyjście wyświetla odczyt przed i po dotknięciu pinu GPIO 4 ESP32. Tutaj możemy zobaczyć, jak ESP32 budzi się po dotknięciu szpilki i wydrukuje wiadomość o numerze pinu.
Wniosek
W tym artykule poprowadzi Cię w użyciu pinów dotykowych ESP32, aby obudzić planszę od głębokiego snu. ESP32 ma 10 pinów dotykowych, które można nazwać i ustawiać jako źródło przebudzenia płyt ESP32. Po wykryciu dotyku w GPIO Touch Pin ESP32 obudzi się i uruchomi funkcję callback (), po tym powraca do snu.