Le capteur capacitif QT110

La vidéo : 3 réglages différents du QT110 (DC Out, Toggle et Pulse)

Le montage :

Concernant les composants périphériques au QT110 :
Cx est en général de l’ordre de 10 picofarads. Cs doit être 1000 fois plus grand que Cx, soit 10 nanofarads. Rs est à 470 kilo-ohms. Re doit être le plus grand possible tout en préservant la sensibilité du capteur (sur mon montage, Re est à 1 kilo-ohms).

Concernant le QT110 :
La patte 1 est reliée au +5V de la carte Arduino.
La patte 2 est reliée à l’entrée analogique 0 de la carte Arduino.
Les pattes 3 et 4 sont reliées soit à +5V, soit à Gnd sur la carte Arduino, selon la manière dont on souhaite faire réagir le capteur (voir le tableau ci-dessous).
La patte 5 n’est pas connectée (si on choisit un gain maximum).
Les pattes 6 et 7 sont reliées entre elles par l’intermédiaire du condensateur Cs en parallèle avec la résistance Rs.
La patte 7 est reliée à la résistance Re en série avec l’électrode de détection.
La patte 8 est reliée à Gnd sur la carte Arduino.

DC Out : Quand on s’approche de l’électrode, la DEL verte s’éteint et la rouge s’allume. On repasse au vert dès qu’on s’éloigne de l’électrode. Par contre si le contact se prolonge, on reste au rouge près de 10 secondes (ou 60 secondes) avant de basculer de nouveau au vert.
Toggle : La couleur change à chaque nouvelle approche de l’électrode. Elle ne change pas quand on s’en éloigne.
Pulse : Quand on s’approche de l’électrode, la DEL verte s’éteint et la rouge s’allume une fraction de seconde, puis on bascule tout de suite au vert, même si le contact se prolonge.

Concernant les DEL rouge et verte :
Elles sont chacune mises en série avec une résistance de 330 ohms, puis reliées sur les sorties digitales 2 et 3 de la carte Arduino.

Le code Arduino :

/////////////////////////////////////////////////////////////////
/*
  Capteur capacitif QT110
*/
/////////////////////////////////////////////////////////////////

int ledrPin = 2;  // LED rouge sur la sortie digitale 2.
int ledvPin = 3;  // LED verte sur la sortie digitale 3.
int aPin = 0;     // Patte 2 du QT110 sur l'entrée analogique 0.
int value = 0;    // Variable de stockage de la valeur mesurée.

void setup()
{
  pinMode(ledrPin, OUTPUT);  // Declare the ledrPin as an OUTPUT.
  pinMode(ledvPin, OUTPUT);  // Declare the ledvPin as an OUTPUT.
  pinMode(aPin, INPUT);
}

void loop()
{
  value = analogRead(aPin);  // Read the input pin.
  
  if (value >= 512) digitalWrite(ledrPin, LOW);
  else digitalWrite(ledrPin, HIGH);
  if (value < 512) digitalWrite(ledvPin, LOW);
  else digitalWrite(ledvPin, HIGH);
  
  delay(20);  // Wait 20 milliseconds.
}

/////////////////////////////////////////////////////////////////