Arduino - Capteur tactile bascule relais

Dans un tutoriel précédent, nous avons appris comment activer le relais si le capteur tactile est touché, et désactiver le relais si le capteur tactile est relâché. Dans ce tutoriel, nous allons apprendre à basculer le relais chaque fois que le capteur tactile est touché.

En connectant un relais à une ampoule, une bande LED, un moteur ou un actionneur... Nous pouvons utiliser le capteur tactile pour activer ou désactiver l'ampoule, la bande LED, le moteur ou l'actionneur...

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Touch Sensor
1×Relay
1×Jumper Wires
1×(Optional) Solenoid Lock
1×(Optional) 12V Power Adapter
1×(Optional) DC Power Jack
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 du relais et du capteur tactile

Si vous ne connaissez pas le relais et le capteur tactile (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage du relais à capteur tactile Arduino

This image is created using Fritzing. Click to enlarge image

Code Arduino - Le capteur tactile active le relais

/* * 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-relay */ // constants won't change const int TOUCH_SENSOR_PIN = 8; // Arduino pin connected to touch sensor's pin const int RELAY_PIN = A5; // Arduino pin connected to relay's pin // variables will change: int relayState = LOW; // the current state of relay 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(RELAY_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 relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

Étapes rapides

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
  • 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 l'Arduino
  • Continuez à toucher le capteur tactile pendant plusieurs secondes, puis relâchez-le.
  • Observez le changement d'état du relais

Explication du code

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

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

if(relayState == LOW) relayState = HIGH; else relayState = 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!