Está en la página 1de 17

UNIVERSIDAD DE PIURA

Facultad de Ingeniería
PPAA Ingeniería Mecánico Eléctrica
Curso: Sistemas Digitales
Guía de Laboratorio N°3
Tema: Pantallas LCD 16x2

INTRODUCCIÓN

En este presente laboratorio ponemos a disposición del alumno una herramienta que quizá será
de mucha importancia en la implementación de sus trabajos, nos referimos al uso de pantallas, en
especial a una LCD 16x2, con las que podemos mostrar una serie de valores, medidas, avisos,
alertas, etc. Y que son con las que contamos para este trabajo en laboratorio. Como parte de lo
que ya se ha estado viendo hasta el momento, contaremos con ejemplo introductorio y
seguiremos con dos actividades complementarias.
En los mencionados anteriormente haremos uso también de un sensor de ultra sonido, el cual, a
través de ondas ultrasónicas podemos saber la distancia a la que se encuentra un objeto con
respecto al sensor. Pero cabe aclarar que se puede implementar cualquier tipo de sensor.
Por ultimo también explicaremos un nuevo concepto clave con respecto a la programación en
Arduino, nos estamos refiriendo al uso de “librerías”, las cuales son muy usadas en los diferentes
tipos de proyectos, para este laboratorio en particular, haremos uso de la librería “LiquidCrystal”.

OBJETIVOS

Adentrar más en el uso de Arduino, así como el uso de las pantallas led y el sensor de ultrasonido.
Usar la pantalla LCD y su aplicativo más común, “Hello World”.
Encontrar el sensor de ultra sonido más amigable, demostrar el uso y el interés por su modus
operandi de este.
Este laboratorio será realizado en tres partes, la primera constara de un breve ejemplo aplicativo,
el cual aclarará la idea de a dónde queremos llegar con este laboratorio. La segunda y tercera
constara de una actividad respectivamente, en donde ahora implementaremos el uso del sensor
de ultrasonido HC-SR04.

MARCO TEÓRICO ORIENTADO A ARDUINO

El entorno Arduino puede ser extendido mediante el uso de librerías, al igual que la mayoría de
plataformas de programación, las librerías proporcionan una funcionalidad adicional para su uso
en nuestros Sketches, por ejemplo, trabajando con hardware o manipulando datos.
Para usar una Liberia en un Sketch, la seleccionamos de Sketch > Import Library.
Un número de bibliotecas viene instalado con el IDE, pero también se pueden crear, o crear tus
propias librerías.

1
¿Qué es una librería?

Las librerías are son una colección de código que hace que sea fácil para uno conectarse a un
sensor, pantalla, modulo, etc. Por ejemplo la librería integrada LiquidCrystal la cual hace más fácil
la comunicación con las pantallas LCD.Hay cientos de bibliotecas adicionales disponibles en
Internet para su descarga. Las bibliotecas incorporadas y alguna de estas librerías adicionales son
enumeradas en la referencia. Para usar las librerías adicionales, tú necesitaras instalarlos.

¿Cómo instalamos una Librería?

Para el caso de las librerías que viene incluidas en el IDE de Arduino, seguiremos el siguiente
procedimiento:

Primer método:

Una vez en la ventana principal de Arduino IDE, seleccionamos Programa>Include Library, como se
puede apreciar, ahora se muestra un serie de librerías, en donde están las incluidas en el IDE, y las
que han podidos ser descargadas de internet o creadas por uno mismo, para este caso en
particular seleccionaremos la Librería que se requiere para este laboratorio, la librería
“LiquidCrystal”.

Fig.1.Ventana principal de Arduino IDE-Selección de librería LiquidCrystal

2
Si se ha seguido el paso anterior correctamente en el IDE de Arduino deberia aparecer escrito
“#include <LiquidCrystal.h>

Fig.2.Ventana principal de Arduino IDE- Librería LiquidCrystal

Segundo método:

Otra forma de incluir las librerías incluidas en el IDE de Arduino a nuestros proyectos en Arduino
es simplemente escribiendo en el IDE: #include <LiquidCrystal.h>.

3
Para el caso de las librerías que han sido descargadas de internet, se debe hacer lo siguiente antes
de realizar los pasos anteriormente explicados.

Nos dirigimos al escritorio y en el icono de acceso directo de Arduino, damos clic derecho,
seguidamente damos clic en “Abrir la ubicación de archivo”

Fig.3.Abrimos la ubicación del archivo.

AL realizar el último paso nos aparcera la siguiente ventana.

Fig.4.Ubicacion de Arduino.

4
El siguiente paso es abrir la carpeta “libraries”, como se puede apreciar en la Fig.4, esta carpeta contiene las
librerías que vienen integradas en el IDE Arduino, como se puede observar, aquí encontramos la carpeta de
la librería “LiquidCrystal”

Fig.5.Ubicacion de la Librerías de Arduino.

Para finalizar la Librería que haya sido descargada de internet ,debe copiarse dentro de la carpeta
“libraries”,seguidamente deberá reiniciar su Arduino IDE ,de esta manera, siguiendo los pasos que
se han hecho para las librerías incluidas dentro del IDE de Arduino ,podrán usar ahora estas nuevas
librerías en sus futuros proyectos con Arduino.

EJEMPLO DE INTRODUCCIÓN: “Hello World”

Antes de realizar las dos actividades propuestas para este laboratorio, se comenzará exponiéndome
un ejemplo básico con referente al uso de pantallas LCD 16x2, el cual puede encontrarse como
ejemplo incluido dentro de la librería “LiquidCrystal”.

MATERIALES

 Pantalla LCD de 2x16:

Los LCDs tienen una interfaz paralela, lo que significa que el microcontrolador tiene que
manipular varios pines de interfaz a la vez para controlar la visualización. La interfaz consta
de los siguientes pines:

5
Un selecto (RS) pin registro que controla donde en la memoria de la pantalla LCD que estás
escribiendo datos. Puede seleccionar el registro de datos, que contiene lo que sucede en la
pantalla, o un registro de instrucción, que es donde el controlador de la pantalla LCD se ve
para obtener instrucciones sobre qué hacer a continuación.

Una lectura / escritura (R / W) pin que selecciona el modo de lectura o el modo de escribir.
Uno habilita pines que permite la escritura a los registros 8 pines de datos (D0 -D7). Los
estados de estos pines (altas o bajas) son los bits que usted está escribiendo a un registro al
escribir, o los valores que usted está leyendo cuando lees.

También hay un pin para el contraste de la pantalla, pines de alimentación (+5V y


GND) y retroiluminación LED (BKLT + y BKLT-) pines que se puede utilizar para alimentar la
pantalla LCD, controlar el contraste de la pantalla, y encender y apagar el LED luz de fondo,
respectivamente.

El proceso de control de la pantalla consiste en colocar los datos que forman la imagen de lo
que desea mostrar en los registros de datos, a continuación, poniendo instrucciones en el
registro de instrucción. La Biblioteca LiquidCrystal simplifica esto para usted para que usted
no necesita saber las instrucciones de bajo nivel.

Los compatibles-Hitachi LCDs pueden ser controlados en dos modos: 4 bits o 8 bits. El modo
de 4 bits requiere siete pines E / S desde el Arduino, mientras que el modo de 8 bits requiere
11 pines. Para mostrar texto en la pantalla, se puede hacer casi todo en el modo de 4 bits,
de modo ejemplo muestra cómo controlar un LCD de 2x16 en el modo de 4 bits.

Fig.6.Salida del boceto en una pantalla LCD de 2x16

 Una tarjeta Protoboard:

El protoboard o breadbord: Es una especie de tablero con orificios, en la cual se pueden


insertar componentes electrónicos y cables para armar circuitos. Como su nombre lo indica,
esta tableta sirve para experimentar con circuitos electrónicos, con lo que se asegura el buen
funcionamiento del mismo.

6
Fig.7. Protoboard

 Cables para circuitos eléctricos:

Los conductores son materiales que permiten que la electricidad fluya a través de ellos
fácilmente. Algunos de los componentes eléctricos, tales como las resistencias, que frenan
el flujo de corriente, y los condensadores, que almacenan energía eléctrica, también están
hechos de conductores. El cable de los circuitos está hecho de conductores, y se utiliza en
los circuitos para conectar los diferentes componentes eléctricos y demás conductores.

Fig.8. Jumpers

 Placa Arduino

Las placas Arduino son pequeños ordenadores con los que puedes leer información de
diferentes sensores, así como controlar luces, motores y muchas otras cosas. La gran
mayoría de los sistemas que nos rodean son ordenadores de diferentes tamaños. Los
ordenadores no necesitan tener teclado ni pantalla. Hay ordenadores en el microondas de
la cocina, dentro de los ascensores para detectar qué botón pulsas y, en los coches. Hay más
de 70 ordenadores similares a Arduino, hay ordenadores por todas partes.

7
Fig.9. Arduino Nano

 Cable USB para Arduino

Las placas Arduino se conectan a tu ordenador utilizando un cable USB, al igual que cualquier
otro periférico, como la impresora, el teclado o incluso, un mando de videojuegos. Arduino
necesita estar conectado al ordenador a través del cable USB para cargar un programa. El
cable USB sirve también para suministrar energía a la placa, pero también puedes
alimentarla usando una fuente de energía externa, como una batería o un transformador
apropiado.

Fig.10. Cable de comunicación USB


PROCEDIMIENTO

 Se procede con el armado del circuito, siguiendo como guía la Fig.10.

 Seguidamente se procede a cargar el código, es cual será expuesto a continuación.

8
Fig.11. Montado del circuito para el ejemplo introductorio

CÓDIGO

// Incluimos la librería "LiquidCrystal777”:/


#include <LiquidCrystal.h>

// Inicializamos la biblioteca con los números de los pines de interfaz.


LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

void setup() {
// Establecemos el número de columnas y filas que posee nuestra pantalla.
lcd.begin(16, 2);
// Imprimimos un mensaje a la pantalla LCD.
lcd.print("hello, world!");
}

void loop() {
// Establecemos el cursor a la columna 0, la línea 1.
// (Nota: la línea 1 es la segunda fila, ya que el recuento comienza con
0):
lcd.setCursor(0, 1);
// Imprimimos el número de segundo desde reinicio.
lcd.print(millis() / 1000);
}

La explicación del mismo será expuesta al momento de la realización del laboratorio.

ACTIVIDAD N°1

9
Para esta primera actividad lo que se piensa es, con ayuda del sensor de ultrasonido HC-SR04,
obtener un valor de distancia, que será el medido entre un objeto y el sensor, y a la vez, estas
medidas serán mostradas en las pantallas LCD 16x2.

MATERIALES

Con referente a los materiales que vamos a usar para esta actividad, solo hace falta agregarle el
sensor ultrasonido HC-SR04.

SENSOR DE ULTRASONIDOS

Un complemento imprescindible para muchos de robots o vehículos controlados a distancia es un


sensor que nos permita saber la distancia libre de obstáculos para movernos. Si las distancias van a
ser pequeñas podemos emplear sensores de infrarrojos, pero si queremos movernos en áreas
grandes y poder medir distancias en un rango de varios metros el complemento perfecto es
un sensor de ultrasonidos.

Funciona exactamente igual que un radar, de hecho es un pequeño radar.

El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar
obstáculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un
ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja de
cilindros que compone el sensor (un transductor) y espera a que dicho sonido, rebote sobre un
objeto y vuelva, retorno captado por el otro cilindro.

Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de
3mm.

Fig.12. Sensor HC-SR04

10
¿Qué recibimos en el sensor?

El tiempo que transcurre entre el envío y la recepción del ultrasonido.

¿Cómo vamos a traducir dicho tiempo en distancia?

Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034
cm/microsegundos (ya que trabajaremos con centímetros y microsegundos). Para calcular la
distancia, recordaremos que v=d/t (definición de velocidad: distancia recorrida en un determinado
tiempo). De la fórmula anterior despejamos d, obteniendo d=v·t, siendo v la constante
anteriormente citada y t el valor devuelto por el sensor a la placa Arduino.

También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y
vuelta.

PROCEDIMIENTO

 Se procede con el armado del circuito, siguiendo como guía la Fig.10.

 Seguidamente se procede a cargar el código, el cual será expuesto a continuación.

Fig.13. Montado del circuito para la actividad Nº1

CÓDIGO

#include <LiquidCrystal.h>//Incluimos la librería para pantalla.


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// Inicializamos la biblioteca con los
números de los pines de interfaz.
long distancia;//Declaramos una variable que almacenera el valor de distancia.

11
long tiempo;//Declaramos una variable que almacenara el valor del tiempo.
const int trig=6;//Pin de Arduino conectado a la patilla Trigger,en el sensor
del ultrasonido.
const int echo=7;//Pin de Arduino conectado a la patilla Echo, en el sensor del
ultrasonido.
void setup()
{
lcd.begin(16,2);
//Declaramos a trig y led como salidas, echo será declarada como entrada.
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
//Inicializamos la comunicación serial.
Serial.begin(9600);
}

void loop()
{
//Escribimos en la parte superior de la pantalla Distancia.
lcd.setCursor(0,0);
lcd.print("Distancia");
digitalWrite(trig,LOW);//Por cuestión de estabilización del sensor.
delayMicroseconds(5);
digitalWrite(trig,HIGH);// envío del pulso ultrasónico.
delayMicroseconds(10);
tiempo=pulseIn(echo,HIGH);/* Función para medir la longitud del pulso entrante.
Mide el tiempo que transcurrido entre el envío
del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que
el pin 7 empieza a recibir el rebote, HIGH, hasta que deja de hacerlo, LOW, la
longitud del pulso entrante*/
distancia=int(0.017*tiempo);/*fórmula para calcular la distancia obteniendo un
valor entero*/
/*Líneas de código para visualizar en nuestras pantallas la distancia a la que
se encuentra un cuerpo con respecto a nuestro sensor */
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Distancia");
lcd.setCursor(0,1);
lcd.print(distancia);
lcd.setCursor(4,4);
lcd.print("cm");
/*Para que en el monitor serial muestre la distancia a la que se encuentra el
sensor*/
Serial.println("Distancia");
Serial.print(distancia);
Serial.println("cm");
delay(500);
}

La explicación del mismo se expondrá en la plena realización del laboratorio.

12
ACTIVIDAD N°2-Alarma de proximidad

Para esta segunda actividad le daremos una pequeña aplicación al uso del sensor de ultrasonido y
la pantalla LCD 16x2, lo que haremos es una alarma, conformada por un led que se activará cuando
el sensor detecte a un cierta distancia un obstáculo, el mismo aumentara la velocidad de parpadeo
a medida que la distancia de alarma se vaya acortando, señal de que el obstáculo está cada vez más
cerca.

PROCEDIMIENTO

 Se procede con el armado del circuito, siguiendo como guía la Fig.11.

 Lo que ahora hay que agregarle a nuestro circuito es el LED, procedemos a conectar el catado
del led al pin digital 8 de nuestro Arduino, no sin antes colarse una resistencia de 220Ω tal
como se puede apreciar en la figura, y por ultimo no olvidar conectar la tierra como también
se aprecia.

 Por último, lo que se procede a realizar es cargar nuestro código, el cual será detallado a
continuación.

Fig.14. Montado del circuito para la actividad Nº2

CÓDIGO

#include <LiquidCrystal.h>//Incluimos la librería para pantalla.


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// Inicializamos la biblioteca con los
números de los pines de interfaz.
long distancia;//Declaramos una variable que almacenera el valor de distancia.
long tiempo;//Declaramos una variable que almacenara el valor del tiempo.

13
const int trig=6;//Pin de Arduino conectado a la patilla Trigger,en el sensor
del ultrasonido.
const int echo=7;//Pin de Arduino conectado a la patilla Echo, en el sensor del
ultrasonido.
const int led=8;//Pin conectado al led que indicara la alarma.
void setup()
{
lcd.begin(16,2);
//Declaramos a trig y led como salidas, echo será declarada como entrada.
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
pinMode(led,OUTPUT);
//Inicializamos la comunicación serial.
Serial.begin(9600);
}

void loop()
{
//Escribimos en la parte superior de la pantalla Distancia.
lcd.setCursor(0,0);
lcd.print("Distancia");
digitalWrite(trig,LOW);//Por cuestión de estabilización del sensor.
delayMicroseconds(5);
digitalWrite(trig,HIGH);// envío del pulso ultrasónico.
delayMicroseconds(10);

tiempo=pulseIn(echo,HIGH);/* Función para medir la longitud del pulso entrante.


Mide el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el
sensor recibe el rebote, es decir: desde que el pin 50 empieza a recibir el
rebote, HIGH, hasta que deja de hacerlo, LOW, la longitud del pulso entrante*/
distancia=int(0.017*tiempo);/*fórmula para calcular la distancia obteniendo un
valor entero*/
/*Monitorización en centímetros por el monitor serial*/
/*Condiciones lo cual se activara la alarma y lectura en todo momento de la
distancia a la que
se encuentra el sensor*/
if(distancia < 350)
{
/*Si cumple con las condiciones asignadas de alarma en la pantalla me mostrara
un mensaje de alarma*/
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Alarma");
lcd.setCursor(0,1);
lcd.print(distancia);
lcd.setCursor(4,4);
lcd.print("cm");
digitalWrite(led,HIGH);
delay(distancia*10);
digitalWrite(led,LOW);
delay(distancia*10);
}

/*Si no se cumple con la condiciones de alarma la pantalla seguirá mostrando la


distancia a la que se encuentra el sensor*/
else
{
lcd.setCursor(0,1);
lcd.print(distancia);
lcd.setCursor(4,4);
lcd.print("cm");
digitalWrite(led,LOW);
delay(1000);

14
}
/*Para que en el monitor serial muestre la distancia a la que se encuentra el
sensor*/
Serial.println("Distancia:");
Serial.print(distancia);
Serial.println(" cm");
}

La explicación del mismo se expondrá en la plena realización del laboratorio.

CUESTIONARIO

1. ¿Por qué usar resistencia con los leds?


2. ¿Por qué no jalar directamente el valor obtenido del potenciómetro?

BIBLIOGRAFÍA

 https://www.arduino.cc/
 http://elcajondeardu.blogspot.pe/2014/03/tutorial-sensor-ultrasonidos-hc-sr04.html

15
Informe de laboratorio

NOTA
Curso: Sistemas Digitales

Tema: __________________________

Nombre del alumno: _____________________________________________________

Grupo: ________________________________________________________________

Jefe de laboratorio: ____________________________________________________

Fecha de realización: ____________________________________________________

Fecha de entrega: ______________________________________________________

EVALUACIÓN Puntaje
Puntualidad (1 punto)
Control de lectura inicial (5 ptos.)
Participación en el laboratorio (6 ptos.)
Cuestionario del informe (4 ptos.)
Conclusiones y recomendaciones (4 ptos.)

16
Informe

La redacción del informe deberá contemplar los siguientes puntos:

Tablas de resultados (cuando corresponda)


Respuestas al cuestionario
Simulaciones (cuando corresponda)
Conclusiones y recomendaciones.

17

También podría gustarte