Paso 4: Programar el Arduino
El código siguiente es un bosquejo simple que envía un carácter (T, B, L, R) para cada una de las claves (superior, inferior, izquierda, derecha), si el sensor está sobre cierto umbral.EDIT: me olvidé de mencionar que es necesario descargar primero la biblioteca de CapacitiveSensor aquí
Puede un comentario los comandos de impresión al principio, para probar con la consola de Arduino que su teclado está trabajando. No olvidar que cuando se utiliza para leer el puerto serie sin embargo, no se puede tener la consola Arduino al mismo tiempo de procesamiento.
(cuantos más pensamientos
El código puede ser enriquecido por enviar también el valor detectado, pero el código de procesamiento sería más complejo, por lo que no incluí lo aquí...
Del mismo modo, el umbral de detección es codificado e idéntica para todas las claves. Podría ser hecho diferentes para cada uno y calibrado en la función setup().)
#include < CapacitiveSensor.h >
Circuito
4 detectores capacitivos táctiles con 1 MOhm resistencias
CapacitiveSensor sensorTop = CapacitiveSensor (13, 11);
CapacitiveSensor sensorBottom = CapacitiveSensor (10, 8);
CapacitiveSensor sensorLeft = CapacitiveSensor (7, 5);
CapacitiveSensor sensorRight = CapacitiveSensor (4, 2);
umbral de codificado
inferior para conseguir un tacto más sensible
más alta para evitar ruidos
const int umbral = 150;
void setup() {}
Serial.Begin(9600);
}
void loop() {}
valTop largo = sensorTop.capacitiveSensor(30);
valBottom largo = sensorBottom.capacitiveSensor(30);
valLeft largo = sensorLeft.capacitiveSensor(30);
valRight largo = sensorRight.capacitiveSensor(30);
manden la info clave presionada para procesamiento
Si (valTop > umbral) {}
Serial.Print("T");
Serial.println(valTop);
}
Si (valBottom > umbral) {}
Serial.Print("B");
Serial.println(valBottom);
}
Si (valLeft > umbral) {}
Serial.Print("L");
Serial.println(valLeft);
}
Si (valRight > umbral) {}
Serial.Print("R");
Serial.println(valRight);
}
}