You are on page 1of 11

2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.

co Aprender

TUTORIALES

Home Tutoriales Arduino avanzado T03AA LCD 162 Men

Arduino avanzado T03AA LCD 162


Men
Categories Date
TUTORIALES (HTTP://APRENDER.TDROBOTICA.CO/TUTORIALES/) 30 NOVIEMBRE, 2011

Comments
0 COMMENT (HTTP://APRENDER.TDROBOTICA.CO/ARDUINO-AVANZADO-T03AA-LCD-16X2-
MENU/#RESPOND)

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 1/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

(http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/)

Este tutorial tiene la nalidad de explicar la aplicacin de una pantalla LCD en nuestros
proyectos, adems profundizaremos en la manipulacin de datos en la LCD y crearemos
un men para ampliar el control!!!! y como practica vamos a realizar un men para leer
entradas, encender salidas e imprimir mensajes, Aspiramos que esta informacin te sirva
para futuros proyectos

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 2/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

Lista de materiales

Kit Arduino Avanzado (http://www.tiendaderobotica.com/producto/454?cPath=77&)


Gua bsica de Arduino (http://aprender.tdrobotica.co/guia-basica-de-arduino/)

Tutorial Arduino Avanzado T03AA LCD 16x2 "Men"

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 3/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

Estructuras de programacin

Para comprender este cdigo es recomendable que estemos familiarizados con


programacin estructurada ya que nos facilita la organizacin del programa, este tipo de
programacin nos trae muchas ventajas en cuanto a depuracin organizacin y
comprensin de un cdigo. El componente fundamental de la programacin estructurada
son las funciones, por ejemplo delay(); esta instruccin en realidad es una funcin en la
cual podemos cargar valores a un contador dicho valor se carga dentro de los corchetes
por ejemplo delay(500); cargamos 500 en el contador, en realidad esta funcin delay(valor
del contador); esta estructurada as :

delay(contador) {

while (contador interno < contador) {

contador interno = cantador interno+1;

return;

y como puedes ver con la programacin estructurada podemos omitir algunos detalles y
acortar el programa principal (void loop). En esencia es lo que vamos a explicar en este
tutorial; por otro lado vamos a explorar ms instrucciones que nos pueden servir para
nuestros posteriores proyectos!!!!.

Recordemos adems los tipos de datos char en los que podemos almacenar los
caracteres ASCII as como cadenas de caracteres ASCII denominados String estos van

directamente relacionados a los Arreglos; Los arreglos son variables con muchas
http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 4/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

posiciones una analoga seria un carro con sus asientos convirtiendo el carro en la
variable y los puestos en las posiciones, todo con el n de organizar y poder controlar
datos con valores indispensables dentro del las instrucciones de la LCD.

/*
--------------------------------------
LCD 16x2 - Menu
--------------------------------------

La LCD que vamos a utilizar es de caracteres (16x2) esto corresponde


a 16 columnas y 2 filas y funciona gracias a un Hitachi HD44780 driver.

En este tutorial vamos a hacer un Menu para controlar salidas leer

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 5/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

entradas e imprimir Anuncios.

El circuito:
* LCD RS pin va conectado al digital pin 12
* LCD Enable pin conectado al digital pin 11
* LCD D4 pin conectado al digital pin 5
* LCD D5 pin conectado al digital pin 4
* LCD D6 pin conectado al digital pin 3
* LCD D7 pin conectado al digital pin 2
* LCD R/W pin conectado a ground
* los dos ultimos a +5V and ground
* El cable de la LCD VO va conectado a la referencia del potenciometro

*/
int menu;
int salida; //Conexion led, buzzer.
int fotocelda; //Conexion Fotocelda
String AnuncioMenu; //Anuncio de impresion LCD

//Funciones
void Estado(); //Funcion Estado de las salidas
void Anuncio(); //Funcion para visualizar Mensaje
void Menu (); //Funcion para visualizar el Menu

#include <LiquidCrystal.h> //incluimos la libreria LCD


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//inicializamos los pines

//------------------------------------
//Funcion principal
//------------------------------------

void setup() {

pinMode (13,OUTPUT); //Led como salida


pinMode (6,OUTPUT); //Buzzer como salida
lcd.begin (16, 2); //Configuramos el tamao de la LCD
digitalWrite(15,HIGH); //Resistancia de PullUp A1 pulsador
}

//------------------------------------
//Funcion ciclicla
//------------------------------------

void loop() {

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 6/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender
menu = analogRead (0); //iguardamos la posicion del potencio
menu = map(menu,0,1023,0,3); //Escalamos el valor para que sea Menu

switch (menu) { //Valoramos el estadp del Menu SEARCH

case 0 : //si el valor de escala es igual a 0: Buscar


Preguntas? 300 560 6931 (tel:300 560 6931) ventas@tdrobotica.co (mailto:ventas@tdrobotica.co) Login (http://aprender.tdrobotica.co/account/)
AnuncioMenu = "LED"; //cargamos la impresion
Menu(); //Vamos al la funicion Menu
salida = 13; //Seleccionamos al led como salida
Estado (); //Vamos al la funicion Estado
TIENDA (HTTP://WWW.TDROBOTICA.CO) CURSOS
break; //Retorno CATEGORAS
case 1 : //si el valor de escala es igual a 1:
ARDUINO
AnuncioMenu = "Buzzer"; EVENTOS
//cargamos la DE TECNOLOGA (HTTP://APRENDER.TDROBOTICA.CO/EVENTOS/)
impresion
(HTTP://APRENDER.TDROBOTICA.CO/TUT
Menu(); //Vamos al la funicion Menu
TUTORIALES/)
salida = 6; //Seleccionamos al buzzer como salida
Estado (); //Vamos al la funicion Menu NOTICIAS (HTTP://APRENDER.TDROBOTICA.CO/BLOG/)
BLOG
break; //Retorno
(http://aprender.tdrobotica.co/) (HTTP://APRENDER.TDROBOTICA.CO/BLOG

case 2 : //si el valor de escala es igual a 2: NOTICIAS


CONTACTO (HTTP://APRENDER.TDROBOTICA.CO/CONTACT/)
AnuncioMenu = "Fotocelda"; //cargamos la impresion (HTTP://APRENDER.TDROBOTICA.CO/NOT
Menu(); //Vamos al la funicion Menu
fotocelda = analogRead (2); //Cargamos el valor de la fotocelda PROYECTOS
(HTTP://APRENDER.TDROBOTICA.CO/PRO

lcd.setCursor(0, 1); //Asignamos la posicion de impresion ROBTICA


(HTTP://APRENDER.TDROBOTICA.CO/TUT
TUTORIALES/)
lcd.print(fotocelda); //imprimimos el valor de la fotocelda
TUTORIALES
(HTTP://APRENDER.TDROBOTICA.CO/TUT

LATEST COURSES

lineBot Seguidor de
lnea
(http://aprender.tdrobotica.
seguidor-de-linea/)

Free

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 7/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender
Raspberry Pi
break; //Retorno
(http://aprender.tdrobotica.
case 3 : //si el valor de escala es igual a 3: pi/)
AnuncioMenu =" Tutorial T03AA ";//cargamos la impresion Free
Menu(); //Vamos al la funicion Estado
Anuncio(); //Vamos al la funicion anincio
break; //Retorno Gua bsica de Arduino
} (http://aprender.tdrobotica.
arduino/)
delay(300); //Retardo entre impresiones
Free
lcd.clear(); //Borramos todo de la pantalla
}

void Menu () { //Funcion de Impresion del Menu

lcd.setCursor(0, 0); //Asignamos la posicion de impresion


lcd.print(AnuncioMenu); //imprimimos el Menu
} LATEST POSTS

void Estado() { //Funcion de valoracion ON/OFF salidas Usando Raspberry Pi 3, La


Revolucin de las Mini PC
int buton = digitalRead(15); //A1 como entada digital del pulsador
y La Computacin Fsica
(http://aprender.tdrobotica.
if (buton == HIGH) { //Valoracion estado del pulsador
raspberry-pi-3-la-
digitalWrite(salida,HIGH); //Encendemos la salida revolucion-de-las-mini-
lcd.setCursor(5, 1); //Asignamos la posicion de impresion pc-y-la-computacion-
lcd.print("ON"); //Impresion del estado de la salida sica/)
}
30 Jun 2016
else {
Wizard la revolucin de
digitalWrite(salida,LOW); //Apagamos la salida
las competencias de
lcd.setCursor(0, 1); //Asignamos la posicion de impresion
lcd.print("OFF"); //Impresion del estado de la salida minisumo
} (http://aprender.tdrobotica.
} la-revolucion-de-las-
competencias-de-
void Anuncio() { minisumo/)

lcd.setCursor(0, 1); //Asignamos la posicion de impresion 25 Abr 2016


lcd.print(" Menu LCD ;D"); //imprimimos en la LCD
}

//Fin programa
http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 8/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender
Buenas prcticas de
De seguro quedaste con ganas de ver ms Tutoriales de Arduino, visita nuestraextensa medicin con el
lista y elige (http://tdrobotica.co/tutoriales/arduino) Multmetro
(http://aprender.tdrobotica.
practicas-de-medicion-

con-el-multimetro/)

16 Dic 2015

Tag: 16x2 (http://aprender.tdrobotica.co/tag/16x2/), arduino


(http://aprender.tdrobotica.co/tag/arduino/), curso
(http://aprender.tdrobotica.co/tag/curso/), display
(http://aprender.tdrobotica.co/tag/display/), lcd (http://aprender.tdrobotica.co/tag/lcd/),
menu (http://aprender.tdrobotica.co/tag/menu/)

Share:

Tdrobotica
(Http://Aprender.Tdrobotica.Co/Author/Tdrobotica/)

Previous post Next post

VEX Robotics Colombia 2011 Arduino avanzado T00AA -


(http://aprender.tdrobotica.co/vex- Control de un servomotor con
robotics-colombia-2011/) PWM
30 Noviembre, 2011
(http://aprender.tdrobotica.co/arduino-

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 9/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

avanzado-t00aa-control-de-un-
servomotor-con-pwm/)
4 Diciembre, 2011

LEAVE A REPLY

Tu direccin de correo electrnico no ser publicada. Los campos obligatorios estn


marcados con *

Comment *

Name * Email * Website *

POST COMMENT

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 10/11
2/12/2017 Arduino avanzado T03AA LCD 162 Men tdrobotica.co Aprender

COMPAA LINKS

Acerca de Events

(http://aprender.tdrobotica.co/about-
(http://aprender.tdrobotica.co/events/)
300 560 6931 (tel:300 560 6931)
us/) FAQs
ventas@tdrobotica.co
(mailto:ventas@tdrobotica.co) Blog (http://aprender.tdrobotica.co/faqs/)

(http://aprender.tdrobotica.co/blog/)


Contacto

(http://aprender.tdrobotica.co/contact/)

tdrobotica.co (www.tdrobotica.co) Sitemap

http://aprender.tdrobotica.co/arduino-avanzado-t03aa-lcd-16x2-menu/ 11/11

You might also like