Arduino - Capteur tactile pour basculer la LED

Dans un tutoriel précédent, nous avons appris à allumer la LED lorsque le capteur tactile est touché et à éteindre la LED lorsque le capteur tactile est relâché. Dans ce tutoriel, nous allons apprendre à basculer la LED à chaque fois que le capteur tactile est touché.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Touch Sensor
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 des LED et des capteurs tactiles

Si vous ne connaissez pas les LED et les capteurs tactiles (brochage, fonctionnement, programmation...), renseignez-vous sur ces dispositifs dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage de la LED du capteur tactile Arduino

This image is created using Fritzing. Click to enlarge image

Code Arduino - Un capteur tactile bascule 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-toggle-led */ // constants won't change const int TOUCH_SENSOR_PIN = 7; // Arduino pin connected to touch sensor's pin const int LED_PIN = 3; // Arduino pin connected to LED's pin // variables will change: int ledState = LOW; // the current state of LED int lastTouchState; // the previous state of touch sensor int currentTouchState; // the current state of touch sensor void setup() { Serial.begin(9600); // initialize serial pinMode(TOUCH_SENSOR_PIN, INPUT); // set arduino pin to input mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode currentTouchState = digitalRead(TOUCH_SENSOR_PIN); } void loop() { lastTouchState = currentTouchState; // save the last state currentTouchState = digitalRead(TOUCH_SENSOR_PIN); // read new state if(lastTouchState == LOW && currentTouchState == HIGH) { Serial.println("The sensor is touched"); // toggle state of LED ledState = !ledState; // control LED arccoding to the toggled state digitalWrite(LED_PIN, ledState); } }

Étapes rapides

  • Connectez Arduino au PC via un câble USB
  • Ouvrez Arduino IDE, sélectionnez la carte et le port appropriés
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur Arduino
  • Continuez de toucher le capteur tactile plusieurs secondes puis relâchez-le.
  • Observez le changement d'état de la LED

Explication du code

Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.

Dans le code, ledState = !ledState est équivalent au code suivant :

if(ledState == LOW) ledState = HIGH; else ledState = LOW;

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!