ESP32 - Touch Sensor
Deze tutorial legt uit hoe u de ESP32 kunt gebruiken in combinatie met een touch sensor (ook bekend als touch switch of touch button).
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.
Over Touch Sensor
Pinout Touch Sensor
De touch sensor heeft 3 pinnen:
- GND pin: verbind deze pin met GND (0V)
- VCC pin: verbind deze pin met VCC (5V of 3,3V)
- SIGNAL pin: is een uitgangspin: LOW wanneer NIET aangeraakt, HIGH wanneer aangeraakt. Deze pin moet verbonden worden met een input pin van de ESP32.

Hoe Werkt de Touch Sensor
- De toestand van de SIGNAL pin is LOW wanneer de touch sensor NIET wordt aangeraakt
- De toestand van de SIGNAL pin is HIGH wanneer de touch sensor wel wordt aangeraakt
ESP32 - Touch Sensor
We kunnen de SIGNAL pin van de touch sensor aansluiten op een input pin van de ESP32 en met ESP32-code de toestand van de touch sensor uitlezen.
Aansluitschema tussen Touch Sensor en ESP32
- Hoe sluit u de ESP32 en touch sensor aan met een breadboard

This image is created using Fritzing. Click to enlarge image
- Hoe sluit u de ESP32 en touch sensor aan met een schroefconnector breakout board

Hoe de Touch Sensor te Programmeren
- Initialiseert de ESP32 pin als digitale input met behulp van de pinMode() functie. Bijvoorbeeld pin GPIO18
pinMode(18, INPUT_PULLUP);
- Leest de toestand van de ESP32 pin met de digitalRead() functie.
int inputState = digitalRead(18);
Touch Sensor - ESP32 Code
De onderstaande code leest de toestand van de touch sensor en toont deze in de Serial Monitor.
/*
* Deze ESP32 code is ontwikkeld door newbiely.nl
* Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld.
* Voor volledige instructies en schema's, bezoek:
* https://newbiely.nl/tutorials/esp32/esp32-touch-sensor
*/
#define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the sensor's SIGNAL pin of touch sensor
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// initialize the ESP32's pin as aninput
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// read the state of the the input pin:
int state = digitalRead(SENSOR_PIN);
// print state to Serial Monitor
Serial.println(state);
}
Snelle Stappen
- Als dit de eerste keer is dat u een ESP32 gebruikt, bekijk dan de handleiding hoe u de ESP32-omgeving instelt in de Arduino IDE.
- Kopieer de bovenstaande code en plak deze in de Arduino IDE.
- Compileer en upload de code naar het ESP32 board door te klikken op de Upload knop in de Arduino IDE
- Raak met uw vinger de sensor aan en laat weer los.
- Bekijk het resultaat in de Serial Monitor. Het zal er ongeveer zo uitzien:
COM6
0
0
0
1
1
1
1
1
1
0
0
Autoscroll
Clear output
9600 baud
Newline
Hoe de verandering van toestand van LOW naar HIGH te detecteren
/*
* Deze ESP32 code is ontwikkeld door newbiely.nl
* Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld.
* Voor volledige instructies en schema's, bezoek:
* https://newbiely.nl/tutorials/esp32/esp32-touch-sensor
*/
#define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the sensor's SIGNAL pin of touch sensor
// Variables will change:
int lastState = LOW; // the previous state from the input pin
int currentState; // the current reading from the input pin
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// initialize the ESP32's pin as aninput
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// read the state of the the input pin:
currentState = digitalRead(SENSOR_PIN);
if (lastState == LOW && currentState == HIGH)
Serial.println("The sensor is touched");
// save the the last state
lastState = currentState;
}
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.