Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Manual LCD Shield Dynaduino

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Descripción

Los sistemas de visualización son parte fundamental en las aplicaciones que


implican un contacto directo o una manipulación por parte de un usuario o un
operario, y las LCD 2x16 son una de las formas más fáciles y económicas de
desplegar mensajes cortos o menús.
La LCD dynaduino 2x16 fue diseñada para que de una forma fácil se realice
una interfase con Arduino y se puedan generar menús o sistemas básicos de
control

Guia
“Generación de menús con LCD dynaduino V2”
Objetivo: Mediante el uso de la LCD dynaduino V2 genere un programa que despliegue un menú en el cual se
pueda navegar por este usando los pulsadores

Elementos a usar:
 LCD DynaduinoV2 Shield
 Arduino UNO
 Cable USB

Se recomienda Usar
 Librería Librería LiquidCrystal.h

Hardware y Conexiones
Conexiones
1. Conecte La Board LCD Dynaduino V2 a la board Arduino Uno
2. Conecte un led entre el pin 9 de Arduino y tierra
3. Conecte el cable USB a la board Arduino y al PC
Programación
La librería LiquidCrystal.h ya esta incluida en el software de Arduino

Nota: La librería LiquidCrystal.h tiene de manera predeterminada el uso de los pines de datos D2, D3 ,D4 y D5, para el
funcionamiento de la LCD dynaduinoV2 se requiere cambiarlos a las posiciones D2, D4 ,D7 y D8

Programación para ver los valores de voltaje de pulsadores en puerto A0

1. #include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 8, 7, 4, 2);
// se inlcuye la libreria de LCD
// se Inicializa la libreria con los pines de uso
byte a=0;
int contador=0;

void setup() {
lcd.begin(16, 2); // Configuracion del numero de columnas y filas
// (nota: tenga en cuenta que la fila 1 es la segunda fila ya que el conteo inicia desde 0)
lcd.setCursor(5, 0); // Inicio de el cursor
lcd.print("Dynamo "); // Entre comillas va el mensaje a desplegar en la LCD
lcd.setCursor(3, 1); // Inicio de el cursor
lcd.print("Electronics "); // Entre comillas va el mensaje a desplegar en la LCD
delay(2000);
lcd.clear();
}

void loop() {
lcd.setCursor(0, 0);
lcd.print(analogRead(A0)); // despliegue en la pantalla
delay(500);
}

Programación de menús
/*
Ejemplo uso board LCD dynaduino 2x16

Este ejemplo muestra el uso de un display 2x16


haciendo uso de la libreria de Arduino LiquidCrystal
(la cual es compatible con las LCD alfanumericas que tenga
integrado el controlador Hitachi HD44780), y la board
LCD dynaduino 2x16 V2

los pines a usar son

LCD RS -- Arduino D12


LCD Enable -- ArduinoD11
LCD D4 -- Arduino D8
LCD D5 -- Arduino D7
LCD D6 -- Arduino D4
LCD D7 -- Arduino D2
LCD R/W -- Arduino GND
Contraste -- Potenciometro
Backlight -- Arduino D9 (Logica inversa)
*/

#include <LiquidCrystal.h> // se inlcuye la libreria de LCD

LiquidCrystal lcd(12, 11, 8, 7, 4, 2); // se Inicializa la libreria con los pines de uso
byte a=0;
int pantalla=1;

void setup() {

pinMode(9, OUTPUT); // Pin 8 declarado como salida, este pin controla el Backligth (Bajo= Encendido, Alto= apagado)
lcd.begin(16, 2); // Configuracion del numero de columnas y filas
digitalWrite(9, LOW); // Encendido de la luz de fondo o Backligth

// (nota: tenga en cuenta que la fila 1 es la segunda fila ya que el conteo inicia desde 0)
lcd.setCursor(5, 0); // Inicio de el cursor
lcd.print("Dynamo "); // Entre comillas va el mensaje a desplegar en la LCD
lcd.setCursor(3, 1); // Inicio de el cursor
lcd.print("Electronics "); // Entre comillas va el mensaje a desplegar en la LCD
delay(2000);
lcd.clear();
}

void loop() {

if (pantalla==1) // se despliega los siguientes mensajes letrero 1


{
letrero1();
if (analogRead(A0)>500 && analogRead(A0)<520)
{ if (a==0)
{ digitalWrite(9, HIGH); // Encendido de la luz de fondo o Backligth
a=1;
}
else
{ digitalWrite(9, LOW); // apagado de la luz de fondo o Backligth
a=0;
}
delay(500);
}

}
else if (pantalla==2) // se despliega los siguientes mensajes letrero 2
{
letrero2();
if(analogRead(A0)>500 && analogRead(A0)<520)
{
potenciometro();
}

}
else // se despliega los siguientes mensajes letrero 3
{
letrero3();
if(analogRead(A0)>500 && analogRead(A0)<520)
dynamoinfo();
}

if (analogRead(A0)<690 && analogRead(A0)>590) // El pulsador P1 genera un voltaje entre LCD 204 y 409
{ delay(5); // retardo evita rebotes
lcd.clear(); // Se limpia la LCD
while (analogRead(A0)<690 && analogRead(A0)>590); // Se espera hasta que el pulsador deje de ser precionado

if (pantalla==1)
pantalla=3;
else if (pantalla==2)
pantalla=1;
else if (pantalla==3)
pantalla=2;

}
else if (analogRead(A0)<420 && analogRead(A0)>400) // El pulsador P2 genera un voltaje entre LCD 410 y 614
{ delay(5); // retardo eviata rebotes
lcd.clear(); // Se limpia la LCD
while (analogRead(A0)<420 && analogRead(A0)>400); // Se espera hasta que el pulsador deje de ser precionado
{
if (pantalla==1)
pantalla=2;
else if (pantalla==2)
pantalla=3;
else if (pantalla==3)
pantalla=1;
}
lcd.clear(); // se limpia la LCD
}

void letrero1(void)
{
lcd.setCursor(0, 0); // Inicio de el cursor
lcd.print("P1 ON/OFF BL "); // Letrero desplegado
lcd.setCursor(0, 1); // Inicio de el cursor
lcd.print("P2 ver Pot "); // Letrero desplegado
}
void letrero2(void)
{
lcd.setCursor(0, 0); // Inicio de el cursor
lcd.print("P2 ver Joystick "); // Letrero desplegado
lcd.setCursor(0, 1); // Inicio de el cursor
lcd.print("P3 Descripcion "); // Letrero desplegado
}

void letrero3(void)
{
lcd.setCursor(0, 0); // Inicio de el cursor
lcd.print("P3 Descripcion "); // Letrero desplegado
lcd.setCursor(0, 1); // Inicio de el cursor
lcd.print("P1 ON/OFF BL "); // Letrero desplegado
}

void potenciometro(void)
{

lcd.setCursor(0, 0); // Inicio de el cursor


lcd.print(" Potenciometro"); // Letrero desplegado
lcd.setCursor(0, 1); // Inicio de el cursor
lcd.print(" Mover "); // Letrero desplegado
lcd.setCursor(10, 1); // Inicio de el cursor
lcd.print(analogRead(A2)); // Se despliega la variable A2 esta varia de 1024 a 0
lcd.print(" "); // se despliegan espacios para limpiar el dato
delay(600);
}

void dynamoinfo (void)


{
lcd.setCursor(0, 0);
lcd.print("Board LCD Dynamo");
lcd.setCursor(0, 1);
lcd.print(" Descripcion ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Pot superior ");
lcd.setCursor(0, 1);
lcd.print("Contraste LCD ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Pot Lateral Azul");
lcd.setCursor(0, 1);
lcd.print("Entrada A2 ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Pulsadores ");
lcd.setCursor(0, 1);
lcd.print("Entrada A0 ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Entradas Analoga");
lcd.setCursor(0, 1);
lcd.print("A5,A4,A3 pines ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("I/O digitales ");
lcd.setCursor(0, 1);
lcd.print("D6,D9,D10 pines ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Pines Arduino ");
lcd.setCursor(0, 1);
lcd.print("accesibles ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("Luz de fondo ");
lcd.setCursor(0, 1);
lcd.print("Programable D8 ");
delay(3000);
lcd.setCursor(0, 0);
lcd.print("www.dynamoelectr");
lcd.setCursor(0, 1);
lcd.print(" ");
delay(400);
lcd.setCursor(0, 0);
lcd.print("ww.dynamoelectro");
delay(400);
lcd.setCursor(0, 0);
lcd.print("w.dynamoelectron");
delay(400);
lcd.setCursor(0, 0);
lcd.print(".dynamoelectroni");
delay(400);
lcd.setCursor(0, 0);
lcd.print("dynamoelectronic");
delay(400);
lcd.setCursor(0, 0);
lcd.print("ynamoelectronics");
delay(400);
lcd.setCursor(0, 0);
lcd.print("namoelectronics.");
delay(400);
lcd.setCursor(0, 0);
lcd.print("amoelectronics.c");
delay(400);
lcd.setCursor(0, 0);
lcd.print("moelectronics.co");
delay(400);
lcd.setCursor(0, 0);
lcd.print("oelectronics.com");
delay(400);
lcd.setCursor(0, 0);
lcd.print("moelectronics.co");
delay(400);
lcd.setCursor(0, 0);
lcd.print("amoelectronics.c");
delay(400);
lcd.setCursor(0, 0);
lcd.print("namoelectronics.");
delay(400);
lcd.setCursor(0, 0);
lcd.print("ynamoelectronics");
delay(400);
lcd.setCursor(0, 0);
lcd.print("dynamoelectronic");
delay(400);
lcd.setCursor(0, 0);
lcd.print(".dynamoelectroni");
delay(400);
lcd.setCursor(0, 0);
lcd.print("w.dynamoelectron");
delay(400);
lcd.setCursor(0, 0);
lcd.print("ww.dynamoelectro");
delay(400);
lcd.setCursor(0, 0);
lcd.print("www.dynamoelectr");
delay(500);

Pruebas
1. Copie el programa y Descargarlo en la Board Arduino UNO
2. Oprima el pulsador superior o el inferior y el menú debe cambiar
3. Oprima el pulsador central y éste ejecutará la función seleccionada

LInks de interes
1. Hoja de datos LCD
2. Controlador LCD

También podría gustarte