🛠 Toucher capacitif : touchRead sans composant
Objetivos
Utilizar el periférico de toque capacitivo (CTSU) del RA4M1: 14 pines de la placa pueden servir como sensor táctil capacitivo, leídos mediante un simple touchRead de la biblioteca oficial CapacitiveTouch. Vas a calibrar un umbral observando los valores reales, y luego activar una visualización en la matriz LED — un botón sin botón, sin resistencia ni cable adicional más que un trozo de conductor.
Material
- 1 Arduino UNO R4 WiFi + cable USB-C
- 1 cable de conexión pelado (el «pad»: un trozo de cable, una placa de cobre, papel de aluminio pegado)
- Opcional: un segundo cable para comparar dos zonas táctiles.
Código completo
#include <CapacitiveTouch.h>
const uint8_t PAD = A1; // une broche compatible toucher
const int SEUIL = 100; // à calibrer avec le Moniteur série !
void setup {
Serial.begin(115200);
}
void loop {
int v = touchRead(PAD); // ~0 au repos, monte franchement au toucher
Serial.println(v);
if (v > SEUIL) {
MatrixSmiley; // votre fonction d'affichage (voir tuto matrice)
}
delay(20);
}
Verificación esperada
En reposo, touchRead muestra un valor bajo y estable; en cuanto el dedo toca el cable pelado (o la placa cerca de un pin afectado), el valor sube claramente por encima del umbral. Ajusta el umbral a mitad de camino entre tus dos mediciones: esa es LA buena manera de calibrar, idéntica a la de un sensor analógico.
Errores frecuentes
- Elegir un pin no compatible con toque:
touchReaddevuelve entonces un valor fijo — consulta el esquema oficial antes. - Umbral tomado «a ojo» en 50 o 500: sin medición previa, el sensor nunca se activa o se activa permanentemente (humedad, cable largo que actúa como antena).
- Cable táctil demasiado largo sin dedo ni aislamiento: un cable de 30 cm que capta los 50 Hz hace bailar el valor; mantén el pad corto o rodéalo con cinta adhesiva.
- Confundir con una lectura analógica:
touchReadno mide una tensión, sino la variación de capacidad del dedo; un divisor de tensión en el pin es inútil. - Olvidar
#include <CapacitiveTouch.h>: la biblioteca no está incluida por defecto en todos los esqueletos.
Otros tutoriales para esta placa
- Premier Blink sur la UNO R4 WiFi : la première UNO 32 bits
- Apprivoiser la matrice LED 12x8 intégrée
- Se connecter au WiFi et lire l'heure NTP (WiFiS3)
- Inclinomètre sur la matrice : l'IMU LSM6DSV16X en I²C
- Serveur web embarqué : piloter la matrice depuis le navigateur
- Horloge persistante : RTC à pile + resynchronisation NTP
Ejemplos de código para esta placa
clignotante.inoArduinobouton-poussoir.inoArduinodac-analogique.inoArduinoentree-analogique.inoArduinopwm-respiration.inoArduinoservo-balayage.inoArduino