Integración de dos CAP1188

0

Tengo dos CAP1188 que quiero implementar en mi circuito, sin embargo, solo uno de ellos enciende un LED cuando los pruebo a ambos al mismo tiempo. Cuando los pruebo cada uno por separado, sin declarar dos variables CAP diferentes, cada uno funciona perfectamente. Sospecho que el problema está en mi código, pero por la forma en que lo he escrito, no veo cuál podría ser el problema. ¿Hay algún protocolo de direccionamiento I2C que no entiendo?

Aquí está la biblioteca Adafruit_CAP1188.

Aquí está mi código:

#include <Adafruit_CAP1188.h>

Adafruit_CAP1188 CAP1 = Adafruit_CAP1188();
Adafruit_CAP1188 CAP2 = Adafruit_CAP1188();
uint8_t i=0;

int TEST_LED = 6; //Pin 12

void setup() {
//CAP1188 Sensors
Serial.begin(9600);
CAP1.begin();
CAP2.begin(0x28);
pinMode(TEST_LED, OUTPUT);
}

void loop() {
//CAP1188 #1 and #2 Touch Input
uint8_t touched1 = CAP1.touched();

if (touched1 == 0) {  
  digitalWrite(TEST_LED, LOW);   
return;
}

for (i=0; i<8; i++) {  
//delay(50);
if (touched1 & (1<<i)) {
  digitalWrite(TEST_LED, HIGH);
  //Serial.print("C"); Serial.print(i+1); Serial.print("\t");
  }
}

uint8_t touched2 = CAP2.touched(); 

if (touched2 == 0) {  
digitalWrite(TEST_LED, LOW);   
return;
}

for (i=0; i<8; i++) {  
//delay(50);
if (touched2 & (1<<i)) {
  digitalWrite(TEST_LED, HIGH);  
  }
 }
}
    
pregunta user2608147

0 respuestas

Lea otras preguntas en las etiquetas