INFORMACIÓN
El MPR121QR2 sensor capacitivo 12 entradas touch es módulo de desarrollo que incorpora el controlador de sensor táctil capacitivo NXP MPR121, con 12 entradas táctiles independientes, comunicación I²C vía header o por conectores Qwiic y direccionamiento configurable mediante un interruptor DIP.
El MPR121QR2 sensor capacitivo es ideal para interfaces sensibles al tacto y paneles de control, instrumentos musicales (teclados, controladores MIDI), instalaciones artísticas e interactivas, robótica y dispositivos wearables o controles industriales sellados (herméticos).
ESPECIFICACIONES Y CARACTERÍSTICAS
- Marca: UNIT Electronics
- Pais de origen: Hecho en México
- Tipo: Módulo sensor capacitivo
- IC: MPR121QR2
- Voltaje de alimentación: 3V a 3.6V (3V3 recomendado)
- Corriente de carga: 393 uA
- Frecuencia de operación: 400 kHz
- Interfaz: I2C
- Conectividad: Qwiic, JST o por headers 2.54mm
- Dimensiones: 29.22 mm x 34.29mm x 6mm
- Peso: 4.82g
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Test de prueba del modulo MPR121QR2
El siguiente test de prueba se podrá visualizar en el monitor seria del IDE de Arduino, como es la detección de pulso en cada una de las 12 entradas del módulo MPR121QRR2. Para ello realizaremos la siguiente conexion hacia una tarjeta de desarrollo con protocolo en I2C, por ejemplo la Pulsar C6, como se muestra en la siguiente imagen:

Posteriormente cargaremos el siguiente programa en nuestra Pulsa C6, usando la conexion Qwiic nos comunicaremos I2C para poder detectar cada una de las entradas.
#include <Wire.h>
static const uint8_t SDA_PIN = 6;
static const uint8_t SCL_PIN = 7;
static const uint8_t MPR_ADDR = 0x5A;
static const uint8_t REG_TOUCH_STATUS_L = 0x00;
static const uint8_t REG_ELECTRODE_CONFIG = 0x5E;
static const uint8_t TOUCH_THRESHOLD = 0x20;
static const uint8_t RELEASE_THRESHOLD = 0x10;
static const uint8_t NUM_ELECTRODES = 12;
uint16_t lastTouchBits = 0;
void writeReg(uint8_t reg, uint8_t value) {
Wire.beginTransmission(MPR_ADDR);
Wire.write(reg);
Wire.write(value);
Wire.endTransmission();
delayMicroseconds(100);
}
uint16_t readTouchStatus() {
Wire.beginTransmission(MPR_ADDR);
Wire.write(REG_TOUCH_STATUS_L);
Wire.endTransmission(false);
Wire.requestFrom(MPR_ADDR, (uint8_t)2);
if (Wire.available() < 2) {
return 0;
}
uint8_t lsb = Wire.read();
uint8_t msb = Wire.read();
return (uint16_t)lsb | ((uint16_t)msb << 8);
}
void printTouchEdges(uint16_t touchBits) {
for (uint8_t i = 0; i < NUM_ELECTRODES; ++i) {
uint16_t bit = (uint16_t)(1u << i);
bool prev = (lastTouchBits & bit) != 0;
bool curr = (touchBits & bit) != 0;
if (!prev && curr) {
Serial.print("TOUCH E");
Serial.println(i);
}
if (prev && !curr) {
Serial.print("RELEASE E");
Serial.println(i);
}
}
lastTouchBits = touchBits;
}
void initTouchOnly() {
// 1) STOP mode
writeReg(REG_ELECTRODE_CONFIG, 0x00);
delay(10);
// 2) Baseline filter configuration
writeReg(0x2B, 0x01);
writeReg(0x2C, 0x01);
writeReg(0x2D, 0x00);
writeReg(0x2E, 0x00);
writeReg(0x2F, 0x01);
writeReg(0x30, 0x01);
writeReg(0x31, 0xFF);
writeReg(0x32, 0x02);
// 3) Touch / release thresholds for E0..E11
for (uint8_t i = 0; i < NUM_ELECTRODES; ++i) {
writeReg((uint8_t)(0x41 + (i * 2)), TOUCH_THRESHOLD);
writeReg((uint8_t)(0x42 + (i * 2)), RELEASE_THRESHOLD);
}
// 4) RUN mode with all 12 electrodes enabled (0x0C = 12)
writeReg(REG_ELECTRODE_CONFIG, 0x0C);
delay(20);
}
void setup() {
Serial.begin(115200);
delay(200);
Wire.begin(SDA_PIN, SCL_PIN);
initTouchOnly();
Serial.println("Basic input-only test ready");
Serial.println("Touch electrodes E0..E11 to see events");
}
void loop() {
uint16_t touchStatus = readTouchStatus();
uint16_t touchBits = (uint16_t)(touchStatus & 0x0FFF);
printTouchEdges(touchBits);
delay(10);
}
|
Importante , configurar ENABLED, USB CDC On Boot. Dentro de “Tools” en el IDE de Arduino |
Aqui se visualiza todas las entradas cuando son tocadas fisicamente. |

XIAO ESP32-S3 Wi-Fi y BLE
TP101 Kit Chasis de Robot Tanque
HB-019 Desoldador de Succión Eléctrico 30W 110V
Sensor de Luz Ambiental Analógico V2 DFR0026
Kit Levitador Ultrasónico 12V DC 40KHz
Gravity Kit de 37 Sensores Compatibles con Arduino KIT0150
502L Amplificador Bluetooth Estereo 50W
XIAO ESP32-C6 Wi-Fi y BLE
TDA7297 Amplificador Audio de Doble Canal 12V DC 15W
Pico Gravity Board V1.0 Placa de Expansión para Raspberry Pi Pico DFR0848
Pistola de Aire Caliente 2000W 110V 60-600°C











Carga del programa en la Pulsar C6.

















Valoraciones
No hay valoraciones aún.