Categories
Robotica con arduino

Controlar leds con botones táctiles

Para controlar los leds tenemos que conectar cada led a una resistencia de 220 ohm para no dañar los pins del arduino. Luego los sensores capacitativos no son más que un cable con un papel de plata y una resistencia entre dos pines del arduino de 1 MegaOhm(aunque esta resistencia puede variar, junto con el valor threshold, si queremos que nuestro sensor capacitativo sea más sensible). Para ahorrar pines utilizamos un pin común para todas las salidas de los cuatro sensores capacitativos.

circuito tactil
Los cables morados serían nuestros sensores táctiles
#include <CapacitiveSensor.h>
CapacitiveSensor capSensor1=CapacitiveSensor(2,6);
CapacitiveSensor capSensor2=CapacitiveSensor(2,5);
CapacitiveSensor capSensor3=CapacitiveSensor(2,4);
CapacitiveSensor capSensor4=CapacitiveSensor(2,3);

int threshold=300;
const int ledPin1=12;
const int ledPin2=11;
const int ledPin3=10;
const int ledPin4=9;




void setup() {

  Serial.begin(9600);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2,OUTPUT);
  pinMode(ledPin3,OUTPUT);
  pinMode(ledPin4,OUTPUT);

}

void loop() {

  long sensorValue1 = capSensor1.capacitiveSensor(30);
  Serial.print(sensorValue1);
  Serial.print("-");
  long sensorValue2 = capSensor2.capacitiveSensor(30);
  Serial.print(sensorValue2);
  Serial.print("-");
  long sensorValue3 = capSensor3.capacitiveSensor(30);
  Serial.print(sensorValue3);
  Serial.print("-");
  long sensorValue4 = capSensor4.capacitiveSensor(30);
  Serial.print(sensorValue4);
  Serial.println();
  
  if(sensorValue1>threshold){
    digitalWrite(ledPin1,HIGH);
  }
  else{    
    digitalWrite(ledPin1,LOW);
  }
  if(sensorValue2>threshold){
    digitalWrite(ledPin2,HIGH);
  }
  else{    
    digitalWrite(ledPin2,LOW);
  }
  if(sensorValue3>threshold){
    digitalWrite(ledPin3,HIGH);
  }
  else{    
    digitalWrite(ledPin3,LOW);
  }
  if(sensorValue4>threshold){
    digitalWrite(ledPin4,HIGH);
  }
  else{    
    digitalWrite(ledPin4,LOW);
  }
  delay(10);

}

Finalmente deberíamos variar el valor threshold, a modo de prueba y ensayo, para adaptarlo al que mejor se adopte a nuestro caso.