Trastejant

Crea, comparte, aprende y disfruta

Lecturas Analógicas con Pinguino

Tutorial III Pinguino: Lecturas Analogicas

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.PIC18F2550

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.

Circuito lectura analogica con Pinguino

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.


También te puede interesar...

No hay temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.