Entradas analógicas

Las entradas digitales sólo pueden tener dos tipos de valores 0 cuando están desactivadas y 1 cuando están activadas.
Las entradas analógicas pueden tener distintos valores, en nuestro caso van desde el 0 al 255.
La nomenclatura es errónea, ambas son entradas digitales, pero en el primer caso se trataría de entradas lógicas y en el segundo de digitales de 256 valores. Sin embargo en la jerga de la robótica se nombran como hemos dicho antes, digitales a las que sólo pueden valer 0 y 1 y analógicas las que pueden tener más valores.
En el simulador las entradas analógicas  se llaman A0, A1 y A2 (están en los pines 0,1 y 2 del chip)



Para usar el valor de una entrada analógica en un programa hay que leerla e introducir su valor en una variable. La instrucción que lo hace es readadc y hay que darle como argumentos el pin de la entrada (0,1 ó 2) y la varible en la que introducimos su valor (de b0 a b13)

La sintaxis es:
readadc pin,variable.

Ejemplo:

readadc 1,b7
lee el valor de la entrada analógica conectada al pin 1 y lo mete en la variable  b7.

Escribe el siguiente programa:



Simúlalo y comprueba cómo funciona poniendo un valor de la entrada 1 menor y mayor de 50.

 Ejercicio 15: Haz un programa en el que se lea la entrada analógica 2 y según su valor se encienda una entrada diferente. Para valores menores de 30 se encenderá la salida 0, para valores  mayores de 30 pero menores de 60 la  salida 1, para valores  mayores de 60 pero menores de 90 la salida 2 y así sucesivamente hasta la salida 7. Manda el texto del programa al profesor por correo electrónico con asunto ejercicio 15.

Uso de las entradas con la controladora

Con los chips que estamos usando (ya sean 18A, 18M o 18X), en los pines 0,1 y 2 podemos tener entradas digitales (se conectarán mediante un pulsador al polo positivo el pin correspondiente) o analógicas, para lo que se tiene que hacr un montaje un poco más complejo. Hay que montar una resistencia variable (normalmente una que dependa del entorno, por ejemplo una LDR) entre el polo positivo (4,5 voltios) y el pin de entrada que estemos usando y una resistencia fija entre ese mismo pin y el polo negativo (0 voltios). En el caso de usar una LDR, el esquema sería el siguiente:

En V- tenemos 0 voltios, en V+ 4,5 voltios y en el pin 0,1 ó 2 tendremos un valor que dependerá del valor de las resistencias conectadas. Cuando la tensión que hay entre el negativo y el pin es pequeña, la entrada analógica tiene un valor pequeño, cuando la tensión es  grande, el valor de la entrada analógica es grande (el máximo es 255). El valor de la tensión en ese pin depende del valor relativo de la resistencia fija y la LDR. Si la resistencia fija tiene un valor grande y la LDR pequeño (hay luz incidiendo sobre ella), la tensión en el pin es grande y el valor de la entrada analógica también. Si, por el contrario, la LDR  es mayor que la resistencia fija (no da luz sobre ella), entonces la tensión en el pin es pequeña y el valor de la entrada analógica también.

Ejercicio 16: Conecta una LDR entre positivo y la entrada 0 y una resistencia de 10K entre esa entrada y el negativo. Conecta una placa de semáforo a las salidas 5,6 y 7 de la controladora. Haz un  programa en el que dependiendo de la cantidad de luz que recibe la LDR se enciende el led verde (poca luz), el led  amarillo (más luz) o el led rojo (mucha luz). Manda el programa al profesor por correo electrónico con  ejercicio 16 como asunto.

Continuar