0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Capteur capacitif : détection tactile

Ce code Arduino utilise un capteur capacitif pour détecter des interactions tactiles. Il calcule une moyenne des lectures et affiche des messages spécifiques en fonction de la valeur moyenne, indiquant si le doigt est touché ou non. Le programme désactive le calibrage automatique et utilise un tableau pour stocker les lectures précédentes afin d'obtenir une moyenne stable.

Transféré par

ilarionramahefarisoa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues2 pages

Capteur capacitif : détection tactile

Ce code Arduino utilise un capteur capacitif pour détecter des interactions tactiles. Il calcule une moyenne des lectures et affiche des messages spécifiques en fonction de la valeur moyenne, indiquant si le doigt est touché ou non. Le programme désactive le calibrage automatique et utilise un tableau pour stocker les lectures précédentes afin d'obtenir une moyenne stable.

Transféré par

ilarionramahefarisoa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

#include <CapacitiveSensor.

h>

const int sensorPin = 2; // Capteur capacitif connecté à la broche 2

const long numReadings = 10;

long readings[numReadings];

long index = 0;

long total = 0;

long average = 0;

CapacitiveSensor cs_3_2 = CapacitiveSensor(52, 53); // Crée un objet


CapacitiveSensor

String previousMessage = ""; // Stocke le message précédemment affiché


long previousAverage = 0; // Stocke la valeur moyenne précédemment affichée

void setup() {
cs_3_2.set_CS_AutocaL_Millis(0xFFFFFFFF); // Désactive le calibrage automatique
[Link](9600);

for (int thisReading = 0; thisReading < numReadings; thisReading++) {


readings[thisReading] = 0;
}

pinMode(sensorPin, INPUT); // Définir la broche du capteur comme entrée


}

void loop() {
long start = millis();

long total1 = cs_3_2.capacitiveSensor(30);

total = total - readings[index];


readings[index] = total1;
total = total + readings[index];

index = index + 1;
if (index >= numReadings) {
index = 0;
}

average = total / numReadings;

// Vérifie s'il y a un changement dans le message ou la valeur moyenne


if (average < 50 && previousMessage != "Pas de touché") {
[Link]("Pas de touché");
previousMessage = "Pas de touché";
previousAverage = average;
} else if (average >= 500 && previousMessage != "Auriculaire touché") {
[Link]("Auriculaire touché");
previousMessage = "Auriculaire touché";
previousAverage = average;
} else if (average >= 50 && average < 500 && previousMessage != "Ça chatouille à
l'auriculaire") {
[Link]("Ça chatouille à l'auriculaire");
previousMessage = "Ça chatouille à l'auriculaire";
previousAverage = average;
}

// Affiche toujours la valeur


/*[Link]("Valeur: ");
[Link](average);*/

delay(300);
}

Vous aimerez peut-être aussi