Crea, comparte, aprende y disfruta
Lecturas Analógicas con Pinguino
Seguimos aprendiendo poco a poco a utilizar las placas de Pingüino, en esta ocasión vamos a aprender otra de sus funciones más útiles: Tomar lecturas analógicas.
Los valores analógicos son aquellos que pueden tomar un gran número de valores, a diferencia de los valores digitales que únicamente pueden ser 0 o 1. Esta capacidad para tomar valores nos va a permitir, por ejemplo, utilizar sensores de temperatura LM35, que devuelven 10mV por cada grado de temperatura.
Pingüino cuenta con con cinco pines capaces de realizar lecturas analógicas, estos son los pines del 13 al 17, ambos inclusive. Estos pines además tienen la peculiaridad de que no es necesario declarar en el setup() si son entradas o salidas, ya que siempre se comportan cómo entradas.
Para leer uno de estos pines solamente necesitamos emplear analogRead() y entre los paréntesis colocar el pin analógico que queremos leer. Generalmente se asigna este valor a una variable, por lo que la estructura completa sería
1 | lecturaAnalogica = analogRead(13); |
Con esto estaríamos leyendo el pin 13 y almacenando su valor en la variable lecturaAnalogica. Para probar la lectura analógica de nuestra placa Pingüino vamos a utilizar un pequeño y sencillo circuito, se trata únicamente de una resistencia variable que ira conectada a una de las patillas analógicas de pingüino,también tendrá conectado un led con su correspondiente resistencia. Después cargaremos en Pingüino un programa que leerá el valor de la resistencia y en función de esa lectura cambiará la velocidad de parpadeo del Led.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | //Llamamos al pin 10 LED #define LED 10 //Llamamos al pin 13 pot #define POT 13 //Creamosu una variable para almacenar el valor del potenciómetro int lectura = 0; void setup(){ //definimos el pin LED cómo una salida pinMode(LED, OUTPUT); } void loop(){ //leemos el pin del potenciómetro lectura = analogRead(POT); //Encendemos el LED digitalWrite(LED, HIGH); //Esperamos un tiempo equivalente al valor del potenciómetro delay(lectura); //Apagamos el Led digitalWrite(LED, LOW); //Volvemos a hacer una pausa equivalente a la lectura del potenciómetro delay(lectura); } |
Cómo hemos mencionado antes, el potenciómetro puede ser sustituido por un sensor de temperatura cómo el LM35, una LDR, giroscopios.. cualquier tipo de sensor que devuelva una salida analógica.
Deja una respuesta