Felix Maocho

Para quien le interese lo que a nosotros nos interesa

2º Ejercicio de comunicaciones – Voltímetro

Por Félix Maocho
30/7/2017
.

Conocimientos que se precisan

Para realizar este ejercicio tal como aquí se resuelve solo se necesitan los conocimientos que se han ido explicando hasta el capítulo “Transmisión de Comunicaciones asíncronas “ que podemos resumir en los siguientes puntos:

Saber establecer una comunicación entre la Tarjeta Arduino y el PC y conocer los mandatos Serial.beguin, Serial.print y Serial.println

Enunciado del ejercicio

Mediante un potenciómetro vamos a poder variar manualmente el voltaje de una linea. Ese voltaje se detectará en una de las entradas analógicas y convenientemente normalizados se envían a la Pantalla de Comunicaciones Asíncronas en el PC.

Material necesario

Tarjeta Arduino y cable de conexiones.

  • Tarjeta “protoboard”
  • 3 Cables (preferiblemente uno gris, uno rojo y otro verde)
  • Potenciómetro

Objetivo

  • Practicar el manejos de los mandatos Serial.beguin, Serial.print y Serial.println
  • Aprender a controlar cualquier sensor y como se informa de ello

Especificaciones

Mediante un potenciómetro vamos a poder variar manualmente el voltaje que hay en una de una linea eléctrica. Ese voltaje se puede detectar mediante una de las entradas analógicas con valores que varían entre 1023 para los 5 voltios y 0 para cero voltios.

Comunicar a la tarjeta Arduino el voltaje de esa linea con dos decimales de precisión, con una frecuencia aproximada de 2 segundos y a partir de ella a la pantalla del PC.

Hardware

Basta un sencillo montaje como el que se indica en la imagen, una resistencia variable o potenciómetro interfiere el paso de la energía, al girar el potenciómetro variamos el voltaje que atraviesa la línea que parte del pin 5V, (cable rojo), y acaba en el pin GND, (cable negro).

Del mismo potenciómetro surge un tercer cable, (cable verde), que directamente acaba en el pin A0 donde se lee el voltaje de la linea y en función de él genera un número, (“num”), comprendido entre 0 y 1023, proporcional al voltaje medido, del que se puede deducir el voltaje, (“voltios”), mediante una regla de tres, pues será de 5V cuando el pin marque el valor 1023 y de 0V cuando el pin entregue el valor 0., y en todo el campo intermedio un valor proporcional.

Análisis funcional

Realizamos la lectura del pin A0
Efectuamos la regla de tres y calculamos los voltios con dos decimales
Enviamos el mensaje “Voltaje – x,xx voltios”
Hacemos una parada de 15 segundos
Repetimos el loop

El programa será pues en principio como sigue, aunque aun esta sujetos a cambios que surjan al profundizar mas en el avance del análisis :

/*Sketch 9.12 Voltímetro
* Realizamos la lectura del pin A0
* Efectuamos la regla de tres y calculamos los voltios con dos decimales
* Enviamos el mensaje “Voltaje – x,xx voltios”
* Hacemos una parada de 2 segundos
* Repetir el ciclo*/
// Área de declaración de variables y parámetros
int num = 0; // para guardar a lectura de A0 valores entre 0 y 1023
byte pinanalog = 0 ;
float maxnum = 1023 ; // 1023, en tipo flotante 6 dígitos significativos
float maxvoltios = 5 ; // 5, en tipo flotante 6 dígitos significativos
float voltios = 0; // variable que llevará el voltaje 6 signo significativos
// Función setup
void setup () {´´
Serial.begin(9600) ; // empezar la trasmisión, velocidad igual a pantalla del PC
}
void loop() {
num = analogRead(pinanalog);
voltios = (num*maxvoltios)/maxnum ;
Serial.print(“Voltaje: “);
Serial.println(voltios,2); // nueva linea
delay (2000);

La pantalla de comunicaciones Asíncronas ira recibiendo los voltajes que se registran a medida que se gira el potenciómetro.

Observen

El cuidado que hemos puesto para no cometer overflow, todos los parámetros y variables que interviene en esa ecuación los hemos declarado como “float” para soportar bien los decimales y al hacer el Serial.print de “voltios” he utilizado el segundo parámetro optativo, o tipo, para indicar que quiero transferir dos decimales.

Este ejemplo al igual que el anterior es muy sencillo pero vale para que observen como se realiza una lectura de un sensor,

Sea cual sea lo que mida el sensor, en este caso voltaje, en otros, distancias, temperatura, volumen de sonido, … siempre hay un campo de lectura del sensor donde se espera que se produzcan encuentren los fenómenos que nosotros queremos controlar, la temperatura, la humedad, la fuerza del viento, …

Cada sensor tiene un valor máximo y otro mínimo, en este caso lee entre 5 voltios y 0 Volts. Esa es la “ventana” donde va ocurrir el fenómeno a controlar y la respuesta de ese sensor será,(normalmente), un voltaje entre 5 voltios y cero. Una regla de tres nos devuelve la medida que estamos buscando.

Félix Maocho

indice

Anuncios

30 junio 2017 - Posted by | Curso de Arduino, Robotica | , ,

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: