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

Entradas populares