Un sensor capacitivo se compone de una resistencia de valor alto (en este ejemplo 1MOhm) y una pieza de material conductor (papel de aluminio). Puede ser utilizado como un sensor de contacto, bien como un sensor analógico que lea los valores del mismo o como un interruptor digital. El sensor necesita estar conectado a través de una breadboard separada para que la electrónica del shield no interfiera la lectura.
Materiales
- 1 placa Arduino Uno
- 1 shield Básica Educativa
- 1 Breadboard
- 1 resistencia 1MOhm
- 3 cables
- papel de aluminio
- cinta adhesiva
Instrucciones
- Conecta un cable al Pin 2 y un cable al Pin 3.
- Conecta una resistencia de 1MOhm entre el Pin 2 y Pin 3.
- Conecta el Pin 3 con un cable suelto.
- Corta un trozo de papel de aluminio, conéctalo al cable suelto con cinta adhesiva (asegúrate de que las piezas de metal tengan buena conexión).
Para leer los valores del sensor
Carga el ejemplo Archivo -> Ejemplos -> BasicEducationShield -> Help -> CapacitiveSwitchTest:
/* CapacitiveSwitch Test */#include <CapacitiveSensor.h> #include <BasicEducationShield.h>//The sensor is connected between 2 and 3 by default CapacitiveSwitch me=CapacitiveSwitch(2,3);void setup(){ Serial.begin(9600); } void loop(){ //Print out the value of the sensor me.test(); delay(30); }
Abre el monitor serial para asegurarte de que el sensor funciona. Lo que verás ahora son los valores leídos desde el sensor capacitivo. Si nada está tocando el sensor, el valor debe ser inferior a 10 la mayor parte del tiempo; y sube hasta 1000 o más si lo pulsas con más fuerza.
¿No funciona?
- Si la lectura no es normal, vuelve a comprobar la conexión. Tienes que tener especial cuidado con la conexión entre el papel de aluminio y el cable suelto, pueden perder contacto fácilmente.
- Asegúrate de que has conectado el sensor a los mismos terminales digitales indicadas en el código. En
CapacitiveSwitch (2,3)
es el Pin 2 quien envía y el Pin 3 quien recibe. Esto significa que el extremo que está suelto debe estar conectado al Pin 3.
Nota: Asegúrate de que los dos Pins digitales que utilizas están entre 2 y 8. Al usar la shield Básica Educativa, los Pins digitales, 9, 10, 11, 12 o 13 no sirven para los sensores capacitivos.
Sensor como interruptor
Si quieres utilizar el sensor capacitivo como un interruptor, necesitas medir un valor de umbral. Anota el valor obtenido cuando nada está en contacto con el papel de aluminio y el valor cuando está en contacto con un objeto deseado.
Ahora abre el ejemplo Interruptor capacitivo. Carga el ejemplo Archivo -> Ejemplos -> BasicEducationShield -> Help -> CapacitiveSwitch:
/* CapacitiveSwitch */#include <CapacitiveSensor.h> #include <BasicEducationShield.h>//The sensor is connected between 2 and 3 by default CapacitiveSwitch me=CapacitiveSwitch(2,3);void setup(){ Serial.begin(9600); me.config(400); } void loop(){ Serial.println("Please press..."); //Wait until the capacitive sensor is pressed. Serial.println(me.pressed());delay(1000);Serial.println("Please release..."); //Wait untill the capacitive sensor is released. Serial.println(me.released());do{ //Print values bigger than 10. Print 0 otherwise. Serial.println(me.getValue(20)); }while(true); }
En la configuración de la línea me.config (umbral)
, sustituye umbral
por un número entre los dos valores que anotaste anteriormente. El valor por defecto es 400, en la mayoría de los casos, no tendría que cambiarse a menos que necesites utilizar algo que no fuera el dedo para tocar el sensor.
Abre el monitor serial y sigue las instrucciones mostradas para ver si funciona. Cada vez que ejecutes una instrucción, el monitor serial imprimirá “1″.
Puedes utilizar varios sensores capacitivos para el mismo Arduino. En este caso, el Pin emisor (2 en este caso) puede ser compartido.