Un sensor capacitatiu es compon d’una resistència de valor alt (en aquest exemple, 1MOhm) i d’una peça de material conductor (paper d’alumini). Pot ser utilitzat com un sensor de contacte. El pots fer servir o bé com a sensor analògic i llegir-ne valors analògics, o bé com a interruptor digital. El sensor necessita estar connectat a través d’una breadboard separada perquè l’electrònica de la Shield no interfereixi en la lectura.
Materials
- 1 placa Arduino U
- 1 Shield Bàsica Educativa
- 1 Breadboard
- 1 resistència 1MOhm
- 3 cables
- paper d’alumini
- cinta adhesiva
Instruccions
- Connecta un cable al Pin 2 i un cable al Pin 3.
- Connecta una resistència d’1MOhm entre el Pin 2 i Pin 3.
- Connecta el Pin 3 amb un cable solt.
- Talla un tros de paper d’alumini i connecta’l al cable solt amb cinta adhesiva. Assegura’t que les peces de metall tinguin bona connexió.
Per llegir els valors del sensor
Puja l’exemple Arxiu -> Exemples -> 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); }
Obre el monitor serial per assegurar-te que el sensor funciona. El que veuràs ara són els valors llegits des del sensor capacitatiu. Si no hi ha res que toqui el sensor, el valor ha de ser inferior a 10 la major part del temps. Pujarà fins a 1000 o més si el prems amb més força.
No funciona?
- Si la lectura no és normal, torna a comprovar la connexió. Has de tenir especial cura amb la connexió entre el paper d’alumini i el cable solt, perquè poden perdre contacte fàcilment.
- Assegura’t que has connectat el sensor als mateixos terminals digitals indicats al codi. A
CapacitiveSwitch (2,3)
és el Pin 2 el que envia i el Pin 3 el que rep. Això significa que l’extrem que està solt ha d’estar connectat al Pin 3.
Nota: Assegura’t que els dos Pins digitals que utilitzes estan entre 2 i 8. En usar la Shield Bàsica Educativa, els Pins digitals, 9, 10, 11, 12 o 13 no serveixen per als sensors capacitatius.
Sensor com a interruptor
Si vols utilitzar el sensor capacitatiu com a interruptor, necessites mesurar un valor de llindar. Anota el valor obtingut quan no hi hagi res en contacte amb el paper d’alumini i l’obtingut quan estigui en contacte amb l’objecte escollit.
Ara obre l’exemple Interruptor capacitatiu. Puja l’exemple Arxiu -> Exemples -> 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ó de la línia me.config (llindar)
, susbstitueix llindar
per un número entre els dos valors que has anotat anteriorment. El valor per defecte és 400 a la majoria dels casos; no s’hauria de canviar excepte que necessitis utilitzar alguna altra cosa que no fos el dit per tocar el sensor.
Obre el monitor serial i segueix les instruccions mostrades per veure si funciona. Cada vegada que executis uns instrucció, el monitor serial imprimirà “1″.
Pots utilitzar diversos sensors capacitatius pel mateix Arduino. En aquest cas, el Pin emissor (el 2, a l’exemple) pot ser compartit.