Arduino - Capteur tactile

Le capteur tactile (également appelé bouton tactile ou interrupteur tactile) est largement utilisé pour contrôler des appareils (par exemple, une lampe tactile). Il a la même fonctionnalité qu'un bouton. Il est utilisé à la place du bouton sur de nombreux nouveaux appareils car cela donne au produit un aspect soigné.

Dans ce tutoriel, nous apprendrons à utiliser le capteur tactile avec Arduino.

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×Capteur tactile
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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

Le capteur tactile a 3 broches :

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3.3V)
  • Broche SIGNAL : est une broche de sortie : BASSE lorsqu'elle n'est pas touchée, HAUTE lorsqu'elle est touchée. Cette broche doit être connectée à la broche d'entrée de l'Arduino.
Schéma de brochage du capteur tactile

Comment ça marche

  • Lorsque le capteur n'est pas touché, la broche SIGNAL du capteur est à l'état BAS
  • Lorsque le capteur est touché, la broche SIGNAL du capteur est à l'état HAUT

Arduino - Capteur tactile

La broche SIGNAL du capteur tactile est connectée à une broche d'entrée de l'Arduino.

En lisant l'état de la broche d'Arduino (configurée comme une broche d'entrée), nous pouvons détecter si le capteur tactile est touché ou non.

Diagramme de câblage

Schéma de câblage du capteur tactile Arduino

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment programmer un capteur tactile

  • Initialise la broche Arduino en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche 7.
pinMode(7, INPUT_PULLUP);
  • Lit l'état de la broche Arduino en utilisant la fonction digitalRead().
int inputState = digitalRead(7);

※ Note:

Il existe deux cas d'utilisation fréquemment utilisés :

  • Le premier : Si l'état d'entrée est HAUT, faire quelque chose. Si l'état d'entrée est BAS, faire autre chose en inverse.
  • Le second : Si l'état d'entrée change de BAS à HAUT (ou de HAUT à BAS), faire quelque chose.

Selon l'application, nous choisissons l'un d'eux. Par exemple, dans le cas de l'utilisation d'un capteur tactile pour contrôler une LED :

  • Si nous voulons que la LED soit ALLUMÉE lorsque le capteur est touché et ÉTEINTE lorsque le capteur n'est PAS touché, nous DEVONS utiliser le premier cas d'utilisation.
  • Si nous voulons que la LED bascule entre ALLUMÉ et ÉTEINT chaque fois que nous touchons le capteur, nous DEVONS utiliser le second cas d'utilisation.
  • Comment détecter le changement d'état de BAS à HAUT
// Les constantes ne changeront pas. Elles sont utilisées ici pour définir les numéros de broches : const int SENSOR_PIN = 7; // la broche d'entrée de l'Arduino qui se connecte à la broche SIGNAL du capteur // Les variables vont changer : int lastState = LOW; // l'état précédent de la broche d'entrée int currentState; // la lecture actuelle de la broche d'entrée void setup() { // initialiser la communication série à 9600 bits par seconde : Serial.begin(9600); // initialiser la broche de l'Arduino comme une entrée pinMode(SENSOR_PIN, INPUT); } void loop() { // lire l'état de la broche d'entrée : currentState = digitalRead(SENSOR_PIN); if(lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); // sauvegarder le dernier état lastState = currentState; }

Capteur tactile - Code Arduino

Nous exécuterons quatre exemples de code :

  • Lit la valeur du capteur tactile et l'affiche sur le moniteur série.
  • Contrôle la LED selon l'état du capteur.
  • Détecte si le capteur est touché ou relâché.
  • Bascule la LED lorsque le capteur est touché (c'est l'utilisation la plus courante).

Lit la valeur du capteur tactile et l’affiche sur le moniteur série.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-touch-sensor */ // les constantes ne changent pas. Elles sont utilisées ici pour définir les numéros de broche : const int SENSOR_PIN = 7; // la broche d'entrée de l'Arduino qui se connecte à la broche SIGNAL du capteur void setup() { // initialiser la communication série à 9600 bits par seconde : Serial.begin(9600); // initialiser la broche de l'Arduino comme une entrée pinMode(SENSOR_PIN, INPUT); } void loop() { // lire l'état de la broche d'entrée : int state = digitalRead(SENSOR_PIN); // imprimer l'état au moniteur série Serial.println(state); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code dans l'Arduino
  • Touchez le capteur avec votre doigt puis relâchez.
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Contrôle la LED selon l'état du capteur

Si le capteur est touché, allumez la LED. Si le capteur n'est pas touché, éteignez la LED.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-touch-sensor */ // Les constantes ne changent pas. Elles sont utilisées ici pour définir les numéros de broches : const int SENSOR_PIN = 7; // la broche d'entrée de l'Arduino qui se connecte à la broche SIGNAL du capteur void setup() { // initialiser la communication série à 9600 bits par seconde : Serial.begin(9600); // initialiser la broche de l'Arduino comme une entrée pinMode(SENSOR_PIN, INPUT); // initialiser la broche numérique LED_BUILTIN comme une sortie. pinMode(LED_BUILTIN, OUTPUT); } void loop() { // lire l'état de la broche d'entrée : int state = digitalRead(SENSOR_PIN); // contrôler la LED selon l'état du capteur digitalWrite(LED_BUILTIN, state); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
  • Touchez le capteur avec votre doigt et continuez de toucher.
  • Observez l'état de la LED ⇒ La LED devrait être allumée.
  • Retirez votre doigt du capteur.
  • Observez l'état de la LED ⇒ La LED devrait être éteinte.

Détecte si le capteur est touché ou relâché.

// Les constantes ne changent pas. Elles sont utilisées ici pour définir les numéros des broches : const int SENSOR_PIN = 7; // la broche d'entrée de l'Arduino qui se connecte à la broche SIGNAL du capteur // Les variables vont changer : int lastState = LOW; // l'état précédent de la broche d'entrée int currentState; // la lecture actuelle de la broche d'entrée void setup() { // initialiser la communication série à 9600 bits par seconde : Serial.begin(9600); // initialiser la broche de l'Arduino comme une entrée pinMode(SENSOR_PIN, INPUT); } void loop() { // lire l'état de la broche d'entrée : currentState = digitalRead(SENSOR_PIN); if(lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); else if(lastState == HIGH && currentState == LOW) Serial.println("The sensor is is released"); // sauvegarder le dernier état lastState = currentState; }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
  • Posez votre doigt sur le capteur et maintenez-le.
  • Consultez le résultat sur le moniteur série.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Relâchez votre doigt du capteur.
  • Consultez le résultat sur le moniteur série.
COM6
Send
The sensor is touched The sensor is is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bascule la LED lorsque le capteur est touché.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-touch-sensor */ // les constantes ne changent pas. Elles sont utilisées ici pour définir les numéros de broche: const int SENSOR_PIN = 7; // la broche d'entrée de l'Arduino qui se connecte à la broche SIGNAL du capteur // Les variables vont changer: int lastState = LOW; // l'état précédent de la broche d'entrée int currentState; // la lecture actuelle de la broche d'entrée int ledState = LOW; // l'état actuel de la LED void setup() { // initialiser la communication série à 9600 bits par seconde: Serial.begin(9600); // initialiser la broche de l'Arduino comme une entrée pinMode(SENSOR_PIN, INPUT); // initialiser la broche numérique LED_BUILTIN comme une sortie. pinMode(LED_BUILTIN, OUTPUT); } void loop() { // lire l'état de la broche d'entrée : currentState = digitalRead(SENSOR_PIN); if(lastState == LOW && currentState == HIGH){ // basculer l'état de la LED if(ledState == LOW) ledState = HIGH; else if(ledState == HIGH) ledState = LOW; // contrôler la LED digitalWrite(LED_BUILTIN, ledState); } // sauvegarder le dernier état lastState = currentState; }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code sur Arduino
  • Touchez le capteur avec votre doigt puis relâchez.
  • Observez l'état de la LED ⇒ La LED devrait être allumée.
  • Touchez le capteur avec votre doigt puis relâchez.
  • Observez l'état de la LED ⇒ La LED devrait être éteinte.
  • Touchez le capteur avec votre doigt puis relâchez.
  • Observez l'état de la LED ⇒ La LED devrait être allumée.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !