Paso 2: LA FUNCION DEL ARDUINO
ARDUINO COMO MEDIDOR DE TIEMPO
La salida del 555 se conecta al arduino (para este proyecto usé el arduino uno) en dos de sus terminales (2 y 3) los por medio de programación mediante el uso de interrupciones o Interrupciones son habilitados para detectar los cambios de nivel de la salida del 555.
De este modo el pin 2 está vinculado al interrupción 0 del arduino detectará el flanco de subida (levantamiento) del pulso de salida e instantáneamente, interrumpiendo toda actividad se estuviera ejecutando en ese momento, procesará las instrucciones escribiremos en una función denominaremos Start(). En esta función la única acción ejecutará el arduino será la de asignar un valor de tiempo inicial a una variable global (volátiles). Al cabo de esto, la interrupción finaliza y el arduino continua su operación normal.
Luego, cuando el pulso de salida del 555 finalice, el pin 3 está vinculado al interrumpir 1 detectará el flanco de bajada (descendente) del mismo y se vuelve a producir otra interrupción en la operación del arduino para ahora ejecutar instrucciones en otra función denominaremos Stop() y será asignar un tiempo de un variable de otra final.
La función Loop() del código se encarga de verificar continuamente si el valor de dicha variable ha dejado de ser cero, lo ocurrirá al finalizar el pulso.
Cuando la condición en nuestro bloque si nos confirma ello ha ocurrido, procedemos a la determinación de T, la duración del pulso y con él calculamos la capacidad del condensador:
T = Korir - T_inicial
Con esto obtenemos el tiempo necesitábamos y solo nos resta calcular el valor de la capacidad incógnita y transmitirla por el puerto serie.
En el esquematico del circuito podemos ver los valores de los componentes utilizados.
El valor de R1 de 1 Mohm es harmonización para capacitores en el rango de 1nF un aproximadamente 1uF. Para valores mayores la duración de los pulsos sería de varios segundos, por lo cuando se trate de medir estos valores lo recomendable sería utilizar un resistor de 1kohm.