AnalogReadSerial (serie de lectura analógica)
AnalogReadSerial (serie de lectura analógica)
En este segundo ejercicio vamos a aprender varios conceptos
sobre entradas analógicas.
Este programa consiste en que Arduino lea a través de su
entrada analógica el valor de un potenciómetro.
Elementos necesarios:
- - Placa Arduino
- - Potenciómetro
- - Protoboard
- - Cables para conexionar
Tenemos que saber antes que es:
Potenciómetro: Es una resistencia variable las hay de
diferentes tamaños, forma y tipos de comportamiento, pero son todos básicamente
divisores de tensión. En nuestro
ejemplo vamos a usar un potenciómetro lineal de tres patas como lo muestra la
imagen. Uno puede conectar la alimentación +
y – en A y C o al revés y en el medio B obtenemos el valor que regulemos
con el eje del cursor.
Les dejo en laces para que vean que son los potenciómetros y
que es un divisor de tensión:
Conversor analógico digital (CAD): En la
naturaleza las magnitudes son analógicas para que un dispositivo electrónico
tome esos datos necesita de un sensor este nos dará una variación de tensión o
corriente (depende del tipo de sensor que usemos) proporcional a la magnitud,
esta variación es llevada a un circuito CAD que lo trasforma en una escala
binaria, mientras mas bit tenga ese convertidor mayor será resolución o
interpretación de esa magnitud. Por ejemplo, tenemos un sensor que trabaja de 0
a 15V puede ser que mida humedad, temperatura, presión, etc.; y un convertidor
de 4 bits (con 4 bits tenemos 16 niveles) o sea que 15V/15=1V o sea que puede
detectar variaciones cada 1V que varié esa magnitud. Ahora si usamos
un convertidor de 8 bits tenemos 256 niveles o sea que 15V/256=0.0585…V
(aproximadamente 58.6mV) y si usamos uno de 16 bit tendríamos 65536 niveles
15V/65536= 0.000228…V (aproximadamente 0.228 mV) como verán cuanto mayor numero
de bits es el conversor mayor es su resolución y su interpretación de la
magnitud real.
En mi caso la placa Leonardo tiene un convertidor de 10 bit
o sea que tiene 1024 niveles (resolución) y son 12 pines seis entradas estándar
Arduino de A0 a A5 y las otras 6 corresponden a D4, D6, D8, D9, D10 y D12.
Investiguen la resolución y cuantas E/S analógicas tienen su placa.
Serial.begin(9600)?
Es la velocidad
de datos en bits por segundo (baudios) para la transmisión de datos en serie. También
se pueden usar de estos tipos: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
28800, 38400, 57600 o 115200. Podemos especificar otras tasas - por ejemplo,
para comunicarse a través de los pines 0 y 1 con un componente que requiera una
velocidad de transmisión particular.
Un segundo
argumento opcional configura los datos, la paridad y bits de parada. El valor
por defecto es de 8 bits de datos, sin paridad, un bit de parada.
int?
Es un tipo de
variable que se puede usar en Arduino en este caso significa valores enteros
que pueden ocupar 2 bytes (16 bits), y por lo tanto almacenan número entre 2^-15
y (2^15)-1, es decir, entre -32.768 y 32.767.
https://www.arduino.cc/reference/en/#variables
Nuestro programa sería el siguiente
Monitor serial:
Es una herramienta que nos ayuda a visualizar datos de entrada/salida modificar
la comunicación y enviar datos. Esta en el lado derecho superior y tiene forma
de lupa. Con ella veremos los niveles que interpreta nuestro ADC cuando movemos
el potenciómetro.
Practica:
Una vez que
realizamos el circuito y programamos el Arduino abrimos el monitor serial que
nos mostrara unos números estos son la interpretación del CAD en la entrada A0.
El potenciómetro trabaja como un divisor de tensión, a medida que movemos el
cursor el valor de los números en el monitor cambiaran de 0 a 1023, si en todo
caso no llega este ultimo valor es porque el potenciómetro se encuentra dañado.
El valor del potenciómetro no es de importancia, pero se acostumbra en los
ejemplos a usar uno de 10K.
Aquí esta el vídeo




Comentarios
Publicar un comentario