En esta entrada vamos a desarrollar con un PIC, el típico ejemplo de encender un led al presionar un pulsador,. Lo interesante del asunto, es que el pulsador va a ser un poco especial.
Partiremos de una placa de entrenamiento como la descrita en el capítulo: «Realizar una placa entrenadora para PIC sencilla«, un led, una resistencia de 1K una moneda de 0,01€ y dos conectores hembra de 3 pines tipo «aeromodelismo» de 2,54mm de paso.
Algunos de los últimos PIC tienen integrada una función llamada mTouch, que nosotros vamos a imitar en un PIC normal que tenga entradas analógicas. Microchip a esto lo llama CVD (Capacitive Voltage Divider). Esta función permite detectar variaciones pequeñas de capacidad, como las que se producen al pasar el dedo por encima de una superficie de cobre unida a una de las patas de PIC.
Vamos a usar como superficie de cobre una moneda de 1 céntimo.
Aquí usaremos un PIC de 18 pines de bastante potencia el 18F1320. Soldamos una resistencia de 1K por un lado al cátodo del led y por otro al extremo que irá a 0V del conector de 3 pines. El otro extremo del led lo conectamos al pin que irá a la señal. Conectamos el led en el PIN B0.
Raspamos un poco la moneda y soldamos un cable, por el otro extremo conectamos el cable al PIN A0 del PIC. Podemos añadir un trozo de goma por la parte de atrás de la moneda para no hacer falsos contactos con los dedos.
El programa en CCS es este:
Fichero sólo visible para usuarios registrados
Lo que hacemos básicamente es cargar a +5V la capacidad parásita del DAC interno del PIC, luego conecta el DAC a la pata donde está la moneda y medimos la caída de tensión que se produce. Cuando hay un dedo tocando el cobre, la capacidad es más grande y la caída de tensión producida es mayor.
El resto es simplemente encender el led al detectar una pulsación en la moneda dada por una tensión menor que el valor de umbral.