You are on page 1of 6

I.

-OBJETIVO
Aplicacin para un medidor de combustible.
Aprender una de la muchas aplicaciones del sensor ultrasnico HCSR04.
Aprender a utilizar la librera del lcd.
Instalar fsicamente con el arduino uno.
Aprender a utilizar la librera del HC-SR04 .

II.-MARCO TEORICO
2.1.- cmo funcionan los sensores ultrasnicos?
Los ultrasonidos son seales acsticas cuyas frecuencias de 20 a 400
Khz- estn por encima del rango de frecuencias sensibles al odo humano.
Los sensores de ultrasonidos son capaces de medir la distancia a la que estn
respecto a un objeto por medio de un sistema de medicin de ecos. Los sensores
de ultrasonidos estn formados por un transductor que emite un pulso corto de
energa ultrasnica. Cuando el pulso es reflejado por un objeto, el sensor captura
el eco producido por medio de un receptor, y mediante un sistema de tratamiento
de la seal, calcula la distancia a la que est de dicho objeto. La frmula para
calcular la distancia de un sensor de ultrasonidos es:
d= 1/2 vt
Dnde d es distancia, v es velocidad y t es tiempo.
2.2.-Aplicaciones y ventajas
Debido a sus caractersticas, podemos encontrar sensores de ultrasonidos en
aplicaciones como:

Medicin de nivel en tanques que contienen diferentes productos en


forma lquida-.

Control de colisiones en sistemas de aparcamiento.

Control de posicin en campos como robtica, industria del plstico, etc.

Control de llenado de tanques.


2.3.-Las principales ventajas de estos sensores son:

No necesitan contacto fsico para poder detectar objetos.


Buena relacin calidad-precio
En comparacin con otras tecnologas, los dispositivos basados en
ultrasonidos son compactos y livianos.

2.4.-El HC-SR04
El sensor est formado por un emisor y un receptor de ultrasonidos que opera a
una frecuencia de 40kHz.

2.5.-Pines de conexin
El HC-SR-04 es un sensor de 4 pines, dos de alimentacin VCC y GND- y dos
para capturar la distancia Trig y Echo-.

VCC.

Trig (Disparo del ultrasonido).

Echo (Recepcin del ultrasonido).

GND.
El sensor se alimenta a 5Vdc, por lo que lo podremos alimentar directamente
desde Arduino, y podemos llegar a detectar objetos hasta 5m con una resolucin
de 1cm.
2.6.- Cmo funciona?
Para medir la distancia con el HC-SR04 hay que generar un pulso en el pin Trig de
un ancho o tiempo de 10s como mnimo. Al mismo tiempo hay que monitorizar la
seal que llega al pin de Echo. La distancia calculada por el sensor se
corresponde a la formula:
distancia = (Ancho de Pulso Velocidad Sonido) /2
Seales del HC-SR04.
Sea como sea, en la parte de programacin de este tutorial veremos cmo
funciona con ms detalle, programando rutinas a bajo nivel y despus haciendo
uso de la librera Ultrasonic.
2.7.-LCD 16X2
En esta entrada vamos a explicar el funcionamiento y conexionado de un LCD con
una resolucin de 16x2.
2.8.- Que es un LCD?
El LCD(Liquid Crystal Dysplay) o pantalla de cristal lquido es un dispositivo
empleado para la visualizacin de contenidos o informacin de una forma grfica,
mediante caracteres, smbolos o pequeos dibujos dependiendo del modelo. Est
gobernado por un microcontrolador el cual dirige todo su funcionamiento.
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de
2 filas de 16 caracteres cada una. Los pxeles de cada smbolo o carcter, varan
en funcin de cada modelo.
2.9.- Como es su conexionado?
En la siguiente imagen de Proteus se puede observar la estructura de sus pines.

Lo podemos dividir en los Pines de alimentacin, pines de control y los pines del
bus de datos bidireccional. Por lo general podemos encontrar ademas en su
estructura los pines de Anodo de led backlight y ctodo de led backlight.

Pines de alimentacin:
Vss: Gnd
Vdd: +5voltios
Vee: corresponde al pin de contraste, lo regularemos con un potencimetro de 10K
conectado a Vdd.
2.10.- Pines de control:
RS: Corresponde al pin de seleccin de registro de control de datos (0) o registro
de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de
datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de
control/instruccin. y cuando RS es 1 el dato presente en el bus de datos
pertenece
a
un
registro
de
datos
o
un carcter.
RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un
dato
en
la
pantalla
o
leer
un
dato
desde
la
pantalla.
E: Corresponde al pin Enable o de habilitacin. Si E(0) esto quiere decir que el
LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y
podemos
escribir
o
leer
desde
el
LCD.

2.11.- Pines de Bus de datos:


El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la
comunicacin con el LCD podemos hacerlo utilizando los 8 bits del bus de
datos(D0 a D7) o empleando los 4 bits mas significativos del bus de datos(D4 a
D7). En este caso vamos a explicar la comunicacin con el bus de 4 bits.
2.12.- DDRAM y CGROM?
Son las dos zonas de memoria del LCD.

La memoria DDRAM(Data Display Ram): corresponde a una zona de memoria


donde se almacenan los caracteres que se van a representar en pantalla. Es decir
es la memoria donde se almacenan los caracteres a mostrar con su
correspondiente posicin.
La memoria CGROM es una memoria interna donde se almacena una tabla con
los caracteres que podemos visualizar en el lcd. En la imagen podemos ver un
ejemplo de la tabla con un contenido de 192 caracteres.

La memoria CGRAM (Character Generator Ram): en ella se pueden almacenar


nuestros propios caracteres.
2.13.- La librera del LCD:
Para poder visualizar los caracteres o smbolos en el LCD es necesario que en el
programa de cdigo fuente a emplear, incluyamos la librera de este.
En este caso empleamos la librera "lcd.c", la cual hemos modificado. Siempre que
utilicemos una librera de este tipo tendremos que analizarla para saber cuales
son los pines de control y los pines para el Bus de datos, en este caso podemos
observar
que
estn
definidos
al
comienzo
de
la
misma.

#define LCD_ENABLE_PIN_PIN_D0
#define LCD_RS_PIN_PIN_D1
#define LCD_RW_PIN_ PIN_D2
#define LCD_DATA4PIN_D4
#define LCD_DATA5PIN_D5
#define LCD_DATA6PIN_D6
#define LCD_DATA7PIN_D7
En el resto de la librera se puede encontrar todas las estructuras necesarias as
como
las
funciones
que
nos
permiten
utilizar
nuestro
LCD.

Podemos

encontrar

funciones

como

lcd_init: inicializa
el
lcd.
lcd_gotoxy: establece
la
posicion
de
escritura
en
el
lcd.
lcd_putc: nos muestra un dato en la siguiente posicin del lcd, podemos emplear
funciones como \f para limpiar el display, \n cambio a la segunda lnea, \b mueve
una
posicin
atrs.
lcd_getc(x,y): devuelve
caracteres
a
la
posicin
x,y.
Otras funciones: lcd_send_nibble(BYTE n), lcd_send_byte(BYTE address, BYTE
n).
III.-PROGRAMACION
#include<Ultrasonic.h>
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
Ultrasonic ultrasonic1(7,6);
Ultrasonic ultrasonic2(9,8);
float cm1,cm2;
//float v,vp;//donde v es volumen y vp es el promedio.
void setup()
{ lcd.begin(16,2);
lcd.setCursor(3,0);
lcd.print(" UNAC-FIEE");
lcd.setCursor(4,1);
lcd.print(" MEDIDOR");
delay(5000);
lcd.setCursor(3,0);
lcd.print("

");

lcd.setCursor(4,1);
lcd.print("
delay(10);
}
void loop()

");

{ cm1=15-ultrasonic1.Ranging(CM);
delay(100);
cm2=15-ultrasonic2.Ranging(CM);
delay(100);
if(cm1==cm2 && cm1>=0&&cm1<=15){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("VOl=");
lcd.print(0.22698*cm1,5);
lcd.print("L");
lcd.setCursor(0,1);
lcd.print("VOl=");
lcd.print(0.05997*cm1,5);
lcd.print("GAL");
delay(100);
}
else{
lcd.clear();
lcd.setCursor(4,0);
lcd.print(" ESTA EN");
lcd.setCursor(3,1);
lcd.print("MOVIMIENTO");
delay(400);
} }

IV.- CONCLUSIONES
El sensor ultrasnico de distancia es una sencilla solucin para aplicaciones en
que sea requerido estimar distancias o esquivar obstculos. El mdulo HC-SR04
facilita considerablemente la implementacin de este tipo de funcionalidad ya que
nos permite centrarnos en la parte de medicin de tiempos en vez de los detalles
tcnicos de la generacin de la seal y el procesamiento del eco recibido.

You might also like