Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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”.
2
Si se ha seguido el paso anterior correctamente en el IDE de Arduino deberia aparecer escrito
“#include <LiquidCrystal.h>
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.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”
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.
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
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.
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.
6
Fig.7. Protoboard
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
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.
8
Fig.11. Montado del circuito para el ejemplo introductorio
CÓDIGO
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);
}
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
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.
10
¿Qué recibimos en el sensor?
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
CÓDIGO
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);
}
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
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.
CÓDIGO
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);
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");
}
CUESTIONARIO
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: __________________________
Grupo: ________________________________________________________________
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
17