Arduino Nano ESP32 - Capteur tactile
Ce tutoriel fournit des instructions sur comment utiliser l'Arduino Nano ESP32 avec le capteur tactile (également connu sous le nom d'interrupteur tactile ou bouton tactile).
Préparation du matériel
1 | × | Arduino Nano ESP32 | |
1 | × | USB Cable Type-C | |
1 | × | Touch Sensor | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Optional) DC Power Jack | |
1 | × | (Recommended) Screw Terminal Adapter for Arduino Nano |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À propos du capteur tactile
Brochage du capteur tactile
Le capteur tactile a 3 broches :
- Broche GND : connectez cette broche à GND (0V)
- Broche VCC : connectez cette broche à VCC (5V ou 3.3V)
- Broche SIGNAL : est une broche de sortie : BAS quand elle n'est pas touchée, HAUT quand elle est touchée. Cette broche doit être connectée à la broche d'entrée de l'ESP32.
Comment fonctionne un capteur tactile
- L'état de la broche SIGNAL est BAS lorsque le capteur tactile n'est pas touché
- L'état de la broche SIGNAL est HAUT lorsque le capteur tactile est touché
Arduino Nano ESP32 - Capteur tactile
Nous pouvons connecter la broche SIGNAL du capteur tactile à une broche d'entrée de l'ESP32 et utiliser le code Arduino Nano ESP32 pour lire l'état du capteur tactile.
Schéma de câblage entre le capteur tactile et Arduino Nano ESP32
This image is created using Fritzing. Click to enlarge image
Comment programmer un capteur tactile
- Initialise la broche ESP32 Arduino Nano en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche D2
pinMode(D2, INPUT);
- Lit l'état de la broche Arduino Nano ESP32 en utilisant la fonction digitalRead().
int inputState = digitalRead(D2);
Capteur tactile - Code Arduino Nano ESP32
Le code ci-dessous lit l'état du capteur tactile et l'affiche sur le moniteur série.
/*
* Ce code Arduino Nano ESP32 a été développé par newbiely.fr
* Ce code Arduino Nano ESP32 est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor
*/
#define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to the sensor's SIGNAL pin of touch sensor
void setup() {
// Initialize the Serial to communicate with the Serial Monitor.
Serial.begin(9600);
// initialize the ESP32's pin as an input
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);
}
Étapes rapides
- Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez comment configurer l'environnement pour l'Arduino Nano ESP32 sur Arduino IDE.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload dans l'Arduino IDE.
- Touchez le capteur avec votre doigt puis relâchez.
- Consultez le résultat sur le moniteur série. Il ressemble à ce qui suit :
COM6
0
0
0
1
1
1
1
1
1
0
0
Autoscroll
Clear output
9600 baud
Newline
Comment détecter le changement d'état de BAS à HAUT
/*
* Ce code Arduino Nano ESP32 a été développé par newbiely.fr
* Ce code Arduino Nano ESP32 est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor
*/
#define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to the sensor's SIGNAL pin of touch sensor
int prev_state = LOW; // The previous state from the input pin
int touch_state; // The current reading from the input pin
void setup() {
// Initialize the Serial to communicate with the Serial Monitor.
Serial.begin(9600);
// initialize the ESP32's pin as an input
pinMode(SENSOR_PIN, INPUT);
}
void loop() {
// read the state of the the input pin:
touch_state = digitalRead(SENSOR_PIN);
if (prev_state == LOW && touch_state == HIGH)
Serial.println("The sensor is touched");
// save the the last state
prev_state = touch_state;
}