Arduino - Capteur tactile - Serrure à solénoïde
Nous allons apprendre à utiliser Arduino pour contrôler le verrou solénoïde dans deux cas d'utilisation :
- Arduino active le verrou à solénoïde si le capteur tactile est touché et désactive le verrou à solénoïde si le capteur tactile n'est pas touché.
- Arduino bascule le verrou à solénoïde à chaque fois que le capteur tactile est touché.
Préparation du matériel
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.
Sur le capteur tactile et le verrou à solénoïde
Si vous ne connaissez pas le verrou à solénoïde et le capteur tactile (brochage, fonctionnement, programmation...), renseignez-vous sur ces dispositifs dans les tutoriels suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino - Capteur tactile contrôle la serrure à solénoïde
/*
* 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-solenoid-lock
*/
const int TOUCH_SENSOR_PIN = 8; // Arduino pin connected to touch sensor's pin
const int RELAY_PIN = A5; // Arduino pin connected to the solenoid lock via relay
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
}
void loop() {
int touchState = digitalRead(TOUCH_SENSOR_PIN); // read new state
if (touchState == HIGH) {
Serial.println("The sensor is being touched");
digitalWrite(RELAY_PIN, HIGH); // turn on
}
else
if (touchState == LOW) {
Serial.println("The sensor is untouched");
digitalWrite(RELAY_PIN, LOW); // turn off
}
}
Étapes rapides
- Connectez l'Arduino au PC via un câble USB
- Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
- Copiez le code ci-dessus et ouvrez-le avec l'Arduino IDE
- Cliquez sur le bouton Upload de l'Arduino IDE pour téléverser le code sur l'Arduino
- Touchez et continuez de toucher le capteur tactile pendant plusieurs secondes.
- Observez le changement d'état du verrou solénoïde.
Explication du code
Lisez l'explication ligne par ligne dans les lignes de commentaire du code source !
Code Arduino - Capteur tactile bascule serrure à solénoïde
/*
* 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-solenoid-lock
*/
const int TOUCH_SENSOR_PIN = 8; // Arduino pin connected to touch sensor's pin
const int RELAY_PIN = A5; // Arduino pin connected to solenoid lock via relay
// variables will change:
int solenoidLockState = 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
solenoidLockState = !solenoidLockState;
// control relay arccoding to the toggled state
digitalWrite(RELAY_PIN, solenoidLockState);
}
}
É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 Arduino
- Continuez à toucher le capteur tactile plusieurs secondes, puis relâchez-le.
- Observez le changement d'état du verrou à solénoïde.
Explication du code
Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.
Dans le code, solenoidLockState = !solenoidLockState est équivalent au code suivant :
if(solenoidLockState == LOW)
solenoidLockState = HIGH;
else
solenoidLockState = LOW;