Como hacer un metro digital con Arduino

Como hacer un metro digital con Arduino

Como hacer un metro digital con Arduino


Hola amigos tecnólogos, en nuestra entrada de hoy os presentamos un sencillo pero llamativo proyecto. Haremos un metro digital con Arduino, una pantalla LCD y un sensor de distancia por ultrasonidos.

Materiales necesarios.


arduino uno leantec -Arduino Uno
lcd 16x2 leantec -Pantalla LCD 16x2
hc-sr04 leantec -Sensor HC-SR04



Conozcamos mejor la pantalla LCD 16x2


Esta pantalla es una de las más utilizadas por los aficionados a la electrónica. 
Estas pantallas tienen dos lineas en las que podemos escribir hasta un máximo de 16 caracteres.

La que usaremos es de color azul e incorpora iluminación trasera.

Para trabajar con la LCD, Arduino incluye una librería en su entorno de programación.

Leantec agregar biblioteca Arduino

Basta con incluir esa librería en nuestro trabajo y asignarle los pines correspondientes para poder usarla.
#include <LiquidCrystal.h>// incluimos las librería:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Declaramos los pines que usa nuestra pantalla(RS,E,D4,D5,D6,D7)

Conociendo el sensor HC-SR04


El HC-SR04 es un sensor capaz de medir a la distancia que se encuentran los objetos. Esto lo hace gracias a que un emisor de ultrasonidos emite una serie de pulsos, un receptor percibe los rebotes y nosotros con nuestra electrónica de control medimos el tiempo que transcurre desde que se emite esos pulsos hasta que son recibidos los rebotes.


Caracteristicas.

-Distancia de detección: 
-Tensión de trabajo: 5V
-Angulo de detección: 15 a 20 grados

Descripción de los pines.

-Vcc: 5V
-Tigger: Pin para comenzar la medición
-Echo: Pin que nos indica cuando ha recibido el rebote de ultrasonidos
-Gnd: 0V

Este sensor se puede utilizar con una librería, la cual nos evitaria todos los calculos necesarios. Puedes descargar la librería en el siguiente enlace:

Para más información del HC-SR04, descargar la hoja de datos aquí:


Montaje del metro digital por ultrasonidos

En el siguiente esquema se muestra de que forma se conectan todos los componentes del proyecto entre si.

Esquema lcd 16x2 leantec
leantec hc-sr04

Código


Cargamos el siguiente código en Arduino
// incluimos las librerias:
#include <LiquidCrystal.h>
#include <Ultrasonic.h> 

Ultrasonic sensor(9,8,30000); // (Trig PIN,Echo PIN, microsegundos max "distancia máxima") 30000us = 5 metros

int distancia=0;//Declaramos la variable distancia


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Declaramos los pines que usa nuestra pantalla(RS,E,D4,D5,D6,D7)

void setup() {
  
  lcd.begin(16, 2);//Iniciamos la pantalla y le decimos el numero de caracteres y filas
  
  lcd.setCursor(4, 0);//Situamos el lugar donde empezar la escritura
  lcd.print("LEANTEC");//Escribimos LEANTEC
  delay (2000);//Esperamos dos segundos
  lcd.clear();//Limpiamos la pantalla
  lcd.setCursor(0, 0);
  lcd.print("Robotics &");
  delay (1000);
  lcd.setCursor(5, 1);
  lcd.print("Electronics");
  delay (2000);
  lcd.clear();
  lcd.setCursor(1, 0);
  lcd.print("METRO  DIGITAL");
  delay (1000);
  lcd.setCursor(0, 1);
  lcd.print("POR ULTRASONIDOS");
  delay (2000);
  lcd.clear();
  
  
}

void loop() {
  
  distancia=sensor.Ranging(CM);  // Medimos la distancia y la guardamos en la variable
  lcd.setCursor(0, 0);
  lcd.print("DISTANCIA");
  //////////////////////////////////////////////////////////////////////////////////////////////////////////
  /////////representamos la distancia en la pantalla en la posición que corresponda a su número de digitos
  /////////Así siempre estaremos a la misma distancia de CM.
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
  if(distancia<100){
  if (distancia<10){  
  lcd.setCursor(11, 1);//Si distancia tiene menos de 2 digitos representamos 2 espacios en el caracter 11 fila 1, para borrar la escritura anterior
  lcd.print("  ");
  lcd.setCursor(13, 1);//Representamos distancia en la posición correspondiente para que quede pegado a CM
  lcd.print(distancia);}
  else{
  lcd.setCursor(11, 1);//Hacemos lo mismo para distancia de 2 digitos
  lcd.print(" ");
  lcd.setCursor(12, 1);
  lcd.print(distancia);}
  }
  else{
  lcd.setCursor(11, 1);//Hacemos lo mismo para distancias superiores a 2 digitos.
  lcd.print(distancia);
  }
  lcd.setCursor(14, 1);//Anotamos el lugar donde se representa CM
  lcd.print("CM");//Representamos CM.
  
    }

Video


En este video podemos ver como quedo nuestro proyecto ya terminado




1 Comments

    • Avatar
      Nicolas
      sep 8, 2016

      Que tal. La compilacion del programa me da ERROR no me incluye la libreria Ultrasonic.h

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment:
Type Code

Blog Search

Recent Articles

Latest Comments

Accept Este sitio web hace uso de cookies