Przewodnik użycia ESPTOP 10 Pojemnościowe szpilki czujnika dotykowego z Arduino IDE

Przewodnik użycia ESPTOP 10 Pojemnościowe szpilki czujnika dotykowego z Arduino IDE
ESP32 to płyta mikrokontrolera oparta na IoT, która jest wyposażona w przygotowane funkcje, takie jak sterowniki Bluetooth i WIFI. Jednak ESP32 ma wiele pinów, które łączą się z efektem hali pokładowej i pojemnościowymi czujnikami dotykowymi. Dzisiaj będziemy omawiać pojemnościowe styki dotykowe ESP32 i ich współpracę z Arduino Ide.

ESP32 Touch Sensor Pins

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 szpilki można łatwo zintegrować z podkładkami dotykowymi i mogą zastąpić przyciski mechaniczne w projektach 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.

TouchRead () funkcja

Programowanie Arduino ma funkcję TouchRead (), która przyjmuje jeden argument, który jest stykiem GPIO, przy którym chcemy odczytać wejście. Poniżej znajduje się składnia funkcji TouchRead ():

TouchRead (GPIO_PIN)

Przykład dotyk esp32

Teraz weźmiemy przykład, aby przetestować pojemnościowy czujnik dotykowy ESP32. 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> Touch> TouchRead

Następujący kod pojawi się w nowym oknie:

void Setup ()

Seryjny.rozpocząć (115200);
opóźnienie (1000);
Seryjny.println („ESP32 Touch Test”);

Void Loop ()

Seryjny.println (TouchRead (T0)); // Uzyskaj wartość za pomocą T0
opóźnienie (1000);

Ten kod odczytuje pin dotykowy T0 i drukuje wynik. Tutaj T0 odpowiada GPIO 4 Lub D4. W kodzie konfiguracji zaczęliśmy od zdefiniowania wskaźnika transmisji. W części pętli kodu TouchRead () funkcja wraz z Seryjny.println () służy do wyświetlania odczytu na monitorze szeregowym.

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.

Wyjście

Wyjście wyświetla odczyt przed i po dotknięciu pinu GPIO 4 ESP32.

Dotknij wrażliwej diody LED

Możemy użyć pinu wrażliwego na dotyk ESP32, aby uruchomić określone wyjście, ustawiając niektóre wartości progowe. Takie jak oświetlenie LED, gdy wejście przy styku dotykowym znajduje się poniżej wartości progowej.

Teraz znajdź Wartość progowa pin. Z poprzedniego przykładu możemy ustawić wartość progową 20.

Okrążenie

Podłącz diodę LED przy GPIO Pin 16 z jednym terminalem do GND. Touch0 w GPIO Pin 4 odbędzie wejście. Zrób obwód, jak pokazano poniżej:

Sprzęt komputerowy

Następujący obraz wyświetla sprzęt. Tutaj owinęliśmy cienki papier foliowy z drutem zworki. Dotykanie w dowolnym miejscu na tej folii rozświetli diodę LED.

Kod

const int touch = 4; /*Zdefiniowany styk dotykowy*/
const int led = 16; /*Pin wyjściowy LED*/
const int próg = 20; /*Zestaw wartości progowej*/
int touchval; /*Przechowuj wartość wejściową*/
void setup ()
Seryjny.rozpocząć (115200);
opóźnienie (1000);
pinmode (LED, wyjście); /*LED ustawiony jako wyjście*/

void Loop ()
Touchval = TouchRead (Touch); /*odczytaj wartość styku dotykowego*/
Seryjny.print (touchval);
if (Touchval < threshold) /*if touch value is less than threshold LED ON*/
DigitalWrite (LED, High);
Seryjny.println („ - LED on”);

w przeciwnym razie
DigitalWrite (LED, niski); /*inaczej dioda LED pozostanie wyłączona*/
Seryjny.println („ - LED OFF”);

opóźnienie (500);

Tutaj, w powyższym kodzie dwa piny dla diody LED i dotyk są inicjowane. Wartość progowa jest ustawiona na 20, jeśli wyjście dotykowe stanie się mniejsze niż progowa dioda LED włącza inną diodę LED pozostanie wyłączona.

Wyjście

W monitorze szeregowym możemy zobaczyć wyjście, gdy palec jest spleciony na loda Folii aluminiowej włączy się, gdy Palec zostanie przeniesiony LED ponownie wyłączy się.

Poniżej znajduje się ilustracja sprzętowa pokazująca włączoną diodę LED po umieszczeniu palca.

Wniosek

ESP32 jest wyposażony w 10 pinów czujników dotykowych GPIO, które wyczuwają zmianę ładunku elektrycznego po dotykaniu. Możemy użyć tej funkcji w projektowaniu projektów wrażliwych na dotyk, które mogą zastąpić normalne przyciski. Tutaj omówiliśmy przyjmowanie danych wejściowych i kontrolując diodę LED za pomocą szpilki czujnika dotykowego.