El MPR121 es un controlador de sensor táctil capacitivo que puede detectar hasta 12 electrodos sensibles al tacto. Se usa comúnmente en interfaces sensibles al tacto, instrumentos musicales y otros proyectos interactivos. En este tutorial, le mostraremos cómo conectarse y usar el MPR121 con Arduino para crear aplicaciones basadas en táctil.
Lo que necesitarás
- Módulo de sensor táctil MPR121
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Cables de placa y jersey
- Una computadora con el Arduino IDE instalado
Paso 1: Comprender el módulo MPR121
El MPR121 utiliza la comunicación I2C para interactuar con un microcontrolador. Tiene 12 entradas sensibles al tacto que pueden detectar cambios capacitivos cuando un objeto conductor (por ejemplo, un dedo) está cerca de los electrodos.
MPR121 PINOUT
Alfiler | Función |
---|---|
VCC | Fuente de alimentación (3.3V/5V) |
Gnd | Suelo |
SDA | Línea de datos I2C |
SCL | Línea de reloj I2C |
Irq | Salida de interrupción (opcional) |
Paso 2: Cableado el MPR121 a Arduino
Aquí le mostramos cómo conectar el MPR121 a un Arduino Uno:
Pin MPR121 | Alfiler de arduino |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
IRQ (opcional) | No conectado |
Nota: Para otros tableros Arduino, verifique los pines I2C en la documentación de su junta.
Paso 3: Instale la biblioteca requerida
La biblioteca AdaFruit MPR121 simplifica el trabajo con el sensor.
Pasos para instalar:
- Abra el IDE Arduino.
- Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
- Busque "AdaFruit MPR121" y haga clic Instalar.
Paso 4: cargar el código
Aquí hay un boceto de ejemplo para detectar entradas táctiles del MPR121:
#include <Wire.h>
#include "Adafruit_MPR121.h"
Adafruit_MPR121 mpr121 = Adafruit_MPR121();
void setup() {
Serial.begin(9600);
Serial.println("Initializing MPR121...");
if (!mpr121.begin(0x5A)) { // Default I2C address is 0x5A
Serial.println("MPR121 not found. Check connections.");
while (1);
}
Serial.println("MPR121 initialized.");
}
void loop() {
// Read touch status
uint16_t touchStatus = mpr121.touched();
for (uint8_t i = 0; i < 12; i++) {
if (touchStatus & (1 << i)) {
Serial.print("Electrode ");
Serial.print(i);
Serial.println(" touched.");
}
}
delay(100); // Update every 100ms
}
Paso 5: prueba la configuración
- Conecte el Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
- Sube el código al Arduino haciendo clic en Subir.
- Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en
9600
. - Toque los electrodos en el módulo MPR121 y observe el monitor en serie para las entradas táctiles detectadas.
Opcional: Uso del pin IRQ para interrupciones
El pasador IRQ se puede usar para activar una interrupción cuando se detecta un toque, reduciendo la necesidad de sondear constantemente el sensor.
- Conecte el
IRQ
Pin del MPR121 a un pasador digital en el Arduino (por ejemplo, pin 2). - Modifique el código para adjuntar y manejar una detección táctil de interrupción en la rutina de servicio de interrupción (ISR).
Aplicaciones del MPR121
- Interfaces táctil capacitiva
- Instrumentos musicales
- Instalaciones de arte interactivos
- Controles basados en gestos
Solución de problemas
- Sin respuesta del sensor: Verifique las conexiones y la dirección I2C.
- Detección táctil inconsistente: Asegúrese de que los electrodos estén limpios y conectados adecuadamente.
- Errores de la biblioteca: Confirme que se instala la biblioteca AdaFruit MPR121.
Conclusión
Has interactuado con éxito el sensor táctil capacitivo MPR121 con Arduino. Este sensor versátil abre posibilidades para crear proyectos interactivos y sensibles al tacto. ¡Experimente con diferentes diseños y configuraciones de electrodos para expandir su funcionalidad!