Sei sulla pagina 1di 19

Ing.

Sistemas Computacionales

Lenguaje de interfaz

M.C. Edna Mariel Mil Chontal

Ibraim Abner Barrios Cruz (14E20265)


Flavio Andrs Arcos Vzquez (14E20261)
Randy Fernando Mendoza Lopez (14E20291)
Pascual Lopez Vzquez (14E20287)
Leonardo Daniel Cruz de la Cruz (14E20269)
6 A

Proyecto Final: Game desde el LCD 16 x2

con Arduino Uno.

A 23 de Mayo de 2017
1
NDICE
INTRODUCCIN ......................................................................................................................................... 3
OBJETIVO ...................................................................................................................................................... 4
Caractersticas de los pines de la LCD 16 X2 ...................................................................... 5
PROCEDIMIENTOS DE LA PRCTICA .............................................................................................. 6
Explicacin del cdigo .................................................................................................................... 6
El mtodo LiquidCrystal () ........................................................................................................... 7
Diagrama del circuito del juego de arduino LCD .......................................................... 12
MATERIALES Y REACTIVOS .............................................................................................................. 14
RESULTADO .............................................................................................................................................. 15
CONCLUSIN ............................................................................................................................................ 18
REFERENCIAS BIBLIOGRFICAS .................................................................................................... 19

2
INTRODUCCIN
La pantalla de cristal lquido o comnmente conocida como LCD, es un tipo de
pantalla delgada y plana formada por un nmero de pxeles colocados delante de
una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrnicos de
pilas, ya que utiliza cantidades muy pequeas de energa elctrica. Estas pantallas
se pueden utilizar en diferentes artefactos como por ejemplo relojes, calculadoras,
electrodomsticos, impresoras, etc.

En el reporte que se muestra a continuacin se hizo uso de una pantalla LCD de


16x2 caracteres para poder visualizar un pequeo escenario donde se simula que
un sujeto va saltando obstculos, esto se hizo mediante la programacin del
Arduino. Para llevar a cabo el circuito se tuvo que colocar un pulsador el cual permite
que el sujeto haga un pequeo brinco cuando este se presione. De igual manera se
describe detalladamente como es que se fue armando el circuito para que pudiera
funcionar de manera correcta y no presentara errores.

Adems el reporte incluye detalladamente cuales fueron los puertos utilizados de la


pantalla LCD para llevar acabo el pequeo juego, en la parte de la codificacin se
describe de manera general cuales fueron las sentencias utilizadas para realizar
dicha accin como de igual forma se muestra el resultado final cumpliendo con el
objetivo planteado.

3
OBJETIVO
Programar en Arduino un pequeo juego en el cual se haga uso de la pantalla LCD
para poder visualizar y mediante un pulsador poder manipular al sujeto e ir indicando
cuando brincar para que vaya avanzando en un escenario donde se presentan
constantes obstculos.

4
Caractersticas de los pines de la LCD 16 X2
La pantalla de cristal lquido o LCD (Liquid Crystal Display) es un dispositivo
controlado de visualizacin grafico para la presentacin de caracteres, smbolos o
incluso dibujos, es este caso dispone de 2 filas de 16 caracteres y cada carcter
dispone de una matriz de 5x7 puntos (pixeles).

Este dispositivo est gobernado internamente por un microcontrolador y regula


todos los parmetros de presentacin, este modelo es el ms comnmente usado
y esta informacin se basar en el manejo de este u otro LCD compatible.

Descripcin de los pines del LCD:


PIN N SMBOLO DESCRIPCIN
1 Vss Tierra de alimentacin
GND
2 Vdd Alimentacin de +5v CC
3 V0 Contrastes del cristal
lquido. (0 a +5v)
4 RS Seleccin del registro del
control/registro de datos:
RS=0 Seleccin registro
RS=1 Seleccin registro
de datos
5 R/W Seal de lectura /
escritura:
R/W =0 Escritura (write)
R/W =1 Lectura (read)
6 E Habilitacin del mdulo:
E=0 Modulo
desconectado
E=1 Modulo conectado
7 -14 D0-D7 Bus de datos
Bidireccional
15 LED + nodo de la
retroiluminacin (R + 5V)
16 LED - Ctodo de la
retroalimentacin (GND)

5
PROCEDIMIENTOS DE LA PRCTICA
Explicacin del cdigo
El cdigo desarrollado para el funcionamiento del videojuego se cre en el programa
especialmente para programaciones en Arduino, el cdigo es un poco extenso,
porque se necesit hacer la configuraciones, condiciones, ambos para que se dibuje
la interfaz en el Arduino, todo ello se tuvo que hacer por el cdigo, as se pueda
visualizar en el display.

Para poder realizar la funcin del Arduino, en la parte del display se usa la siguiente
librera que se importa empleando el comando #include como se puede observar
en la imagen 1. Esta librera contiene todo lo necesario para gestionar un display
con Arduino. La librera LiquidCrystal nos permite crear un objeto que representa
al display LCD y que contiene todas las operaciones de bajo nivel para que resulte
fcil la programacin de este dispositivo.

Imagen 1: Agregado de libreras.

Ahora se procede definir en qu pines estarn conectados las salidas, entradas, y


para que pueda dibujarse la interfaz del juego definiendo cada uno de los pines en
el Arduino, como tambin donde estar conectado el pulsador para que hacer que
salte el objeto de los bloques de obstculos, para definir es similar al lenguaje C,
pero es muy diferente la sintaxis, a como tambin se importa la librera es similar en
C.

Imagen 2: Definicin de funciones y puertos.

6
El comando #define es un componente C til que permite al programador dar un
nombre a un cierto valor constante antes de que se compila el programa. Las
constantes definidas en Arduino no ocupan ningn espacio de memoria de
programa en el chip. El compilador de reemplazar las referencias a estas constantes
con el valor definido en tiempo de compilacin. Se declara la funcin que realizara
y el valor constante. Cuando se define cada una de ellas.

Cuando se escribi #define PIN_BUTTON 2, est especificando la funcin que


realizar, es decir es el pulsador que funcionara al conectarlo en el pin del display
al Arduino y conectado entre el Protoboard cuando es requerido puentear, a como
se muestra todos los otros que se definieron en la imagen 2 cada uno tendr su rol
y accin en el programa usando los pines.

Imagen 3: Mtodo de configuracin de pines.

El mtodo LiquidCrystal ()
Es el constructor de la clase LyquidCrystal. Permite crear un objeto de esta clase,
que se usar para gestionar el display LCD. Como argumentos recibe una serie de
nmeros que se refieren a pines concretos de la placa Arduino, conectados a
diferentes pines del display. Como se puede observar en la imagen 3 En general,
esta configuracin es la ms simple y tpica, porque solo se declara el mtodo y el
nombre, y los pines donde estarn conectados.

As mismo debajo de este mtodo, se declaran algunos tipos de datos lo cual nos
sirve para crear variables que son visibles a una sola funcin. Sin embargo a
diferencia de las variables locales que se crean y destruyen cada vez que se invoca
una funcin, las variables estticas persisten ms all de la llamada a la funcin, la
preservacin de sus datos entre llamadas a funciones.

Las variables declaradas como static slo se crean e inicializa la primera vez que
una funcin se llama. En esta se usa el char y el booleano, como indicando arriba
y abajo, as tambin indicando que se presionara el pulsador.

7
Imagen 4: Mtodo Graphics.

Como se ilustra en la imagen 4 este mtodo se identifica para hacer el trazado o


cuales el diseo que tendr en el display, por eso se declara ese mtodo, de igual
manera un static byte, esto se hace porque para realizar la interfaz se usa lo que
son numero en binarios por eso como se puede ver se inicia con una B y el numero
en binario para saber de dnde para dibujar la interfaz de los bloques y el muequito
que estar saltando, los binarios que se pueden observar esta es una de ellas lo
cual para que se ejecuten la posiciones en el display, en que momento salta y toca
el suelo.

En este mismo mtodo se crea un ciclo para que se est repitiendo la interfaz
haciendo una y otra vez, se observara a continuacin, tambin se usa las variables
que se declaran anteriormente para que se visualice en el display.

Imagen 5: Ciclo del mtodo Graphics.

8
Imagen 6: fragmento de cdigo para mostrar la salida en el display.

Esta parte es cuando enviar la seal al display para mostrar lo que se est
ejecutando usando los pines que se especificaron al principio y de haber hecho el
grafico, como tambin indicando cuando se oprimir el pulsador para que el objeto
salte sobre los bloc, as mismo termine de cruzar y contine avanzando.

Imagen 7: Mtodo de instruccin del pulsador.

Este es el mtodo de instruccin que se mencion anteriormente que al momento


de pulsar el botn enviara un valor verdadero y as brinque el mueco.

Imagen 8: Mtodo setup.

9
Observando la imagen 8, este es un mtodo que por determinado crea Arduino
cuando queremos empezar un proyecto, entonces esto es muy requerido, y es la
primera funcin en ejecutarse dentro de un programa en Arduino. Es, bsicamente,
donde se setean las funciones que llevar a cabo el microcontrolador. En esta parte
es donde establecemos algunos criterios que se requieren en una ejecucin nica.

Usamos el pinMode para indicarle a Arduino que funcionar como salida usando el
parmetro OUTPUT y cul es el pin de entrada, con INPUT. El digitalWrite es para
Escribir una ALTA o BAJA valor a un pin digital, as cada uno tanto el pinMode y
digitalWrite hay que configurar tanto bajo y alto. De la misma forma volver a declarar
que el pin dos es donde se enviara la seal para que brinque. Se inicializa el
Graphics desde el LCD se especifica con .begin para indicarle al programa que
vamos a iniciar la comunicacin serial.

Imagen 9: Mtodo loop.

Este mtodo tiene la funcin para que se ejecute un nmero infinito de veces. Al
encenderse el Arduino se ejecuta automticamente el cdigo del setup y
posteriormente se entra al mtodo loop y que se repite de forma indefinida hasta
que se apague o se reinicie el microcontrolador.

10
Se puede ver las condiciones, que al presionar el boton, supongamos que cuando
pierde el juego se tiene que reiniciar presionando el pulsador, y se inicia todo el
grfico, as el juego estar corriendo infinidad de veces, enviado valores booleanos
verdadero y falso.

Aqu se ingresa un tiempo, lo cual es el delay con 250 milisegundos, asimismo en


esta parte se declaran algunas variables para poder reconocer desde los mtodo y
as se ejecuten y se reconozca en todo el programa.
Igualmente al final de todo el cdigo se tiene un tiempo de cmo se estar
ejecutando el juego, en que estar caminando el objeto y los bloques que ser los
obstculos, para esto se tiene una variedad de condiciones cuando est caminando,
cuando salta, viene los bloques de arriba y abajo.
La ltima lnea de cdigo es el siguiente; para el tiempo.

Imagen 10: Condiciones para el saltado de obstculos.

En esta imagen se observa las condiciones de dibujar el hroe u hombrecito que


estar recorriendo, cuando choca y sigue caminando al reiniciar y as, al final un
tiempo de 100 milisegundos, teniendo todo esto ya se puede compilar para cargarlo
en el Arduino, entretener con el pequeo juego diseado.

11
Diagrama del circuito del juego de arduino LCD
En el siguiente circuito se explicara y mostrar detalladamente todo el procedimiento
optado para cumplir con el principal objetivo de desarrollar un video juego con el
uso del arduino uno genrico, display LCD 16x2 y un pulsador. Anteriormente se
explic el cdigo, ahora se deriva el respectivo circuito.
Procedimientos a seguir:
Vss del LCD a GND del arduino:

Para realizar esta conexin, de acuerdo a que se necesita una tierra de


alimentacin GND para el display, se debe sacar un cable de ambas pines.
Vdd- 5v:

Para hacer esto, se deber puentear con un cable a la lnea (+) del
protoboard.
Luego haciendo uso de esta misma lnea extendemos un cable (rojo) que
vaya hacia la placa Arduino en el puerto (5v) que se refirindose fuente de
corriente.
Esto conectar la pantalla principal de la pantalla, lo que permitir que
funcione al voltaje requerido.

V0 GND de arduino:
Para que la pantalla LCD pueda dar contraste, es necesario que el pin
correspondiente V0 del display este unido al pin GND del arduino, de esta
manera observaremos las tareas a realizar en dicho componente. De no ser
conectada no se lograra observar nada al respecto.

RS pin 11 de arduino:
El selector de registro de la LCD se conect al pin 11 (arduino) para poder
mostrar los caracteres o el enviar comandos de control. Por medio de este
selector es donde se podr cambiar posiciones del cursor o borrar datos de
la pantalla.

E (enable) pin 9 arduino:


Se conect el pin enable de la pantalla LCD al arduino, de tal forma que el
funcionamiento que realizara es el habilitar la pantalla para recibir informacin en el
momento que se requiera del arduino, siempre y cuando el usuario se encuentre
dando uso de dicho pulsador a la vez enviando datos representados en caracteres.

12
D4 - D7 a las lneas digitales (arduino):
Son las nicas lneas manipulas para establecer la comunicacin, es decir por
donde se trasfieren los datos.

Pulsador: a travs de un pulsador, se generar la inicializacin del videojuego. Ser


el encargado de llevar el proceso de saltar los obstculos que se presenten.

Conexin entre la pantalla a los pines del arduino


LCD VSS VDD V0 RS RW E D4 D5 D6 D7 A K
Arduino GND 5v GND 11 GND 9 6 5 4 3 5V GND

Resistencia de 220
ohm
Pulsador

Paso 1
Display LCD 16X2 1602A
Pines - arduino
(Vss, Vdd, v0, RS, R/W, E, D0, D1, D2, D3,
D4, D5 D6, D7, A, K)

Imagen 11: Diagrama del circuito.

13
MATERIALES Y REACTIVOS
1. Una tarjeta Arduino Uno-R3 o Arduino Mega 328P.
2. Pantalla LCD (16 X 2 caracteres)
3. Un cable USB impresora.
4. Una computadora DELL.
5. Cables para el montaje del circuito.
6. 1 boton pulsador
7. 1 resistencia elctrica de 220 ohm.
8. Tarjeta Protoboard.

Imagen 12: Cables Imagen 13: Cables USB Imagen 14: Resistencias de Imagen 15: Arduino uno genrico.
para la conexin del impresora. 330 ohm.
circuito.

Imagen 16: Protoboard. Imagen 17: Computadora Imagen 18: Boton pulsador. Imagen: 19 LCD 1602.
DELL.

14
RESULTADO
Para empezar a armar el proyecto, se tuvieron que conocer algunas partes
esenciales del display, como por ejemplo el PIN 3(Vo) para definir el contraste del
display, el PIN 4(RS), el que controla la memoria del LCD, en ello se obtienen los
datos para mostrar en pantalla e instrucciones que necesitan para actuar, el PIN
5(R/W), el pin de lectura y escritura que dir si se escribe en memoria o si se lee en
cada momento, y el PIN 6(E), para habilitar los registros. Todos estos pines se
fueron aplicando en el montaje del circuito en el Arduino con el display, tal y como
se muestra en la imagen 20.

Imagen 20: Conectando el display, pulsador, en el protoboard y placa Arduino.

Al terminar de armar el circuito con todos los materiales que se hizo mencin
anteriormente, y por supuesto haber realizado la programacin con Arduino,
compilado y cargado el programa en la placa Arduino, se obtuvo lo siguiente como
se muestra en la imagen 21.

Imagen 21: Diseo del circuito LCD Game.

15
En este proyecto se dio el uso de un pulsador, entonces cuando no se mantiene
pulsado, quiere decir que no est mandando ningn valor, por lo tanto se imprime
el siguiente mensaje JUGAR :) tal y como se muestra en la siguiente Imagen.

En el display para mostrar el mensaje, se tuvo que definir la posicin, como si fuesen
arreglos, en este caso fue en la posicin (1,0) y para los puntos desde la posicin
(16-1,0).

Imagen 22: Mensaje en el Display.

Pero que sucede si el pulsador se mantiene presionado, empieza a ejecutarse el


juego, creando las escenas del videojuego, se crea un personaje, cuadros
pixeleados las cuales son obstculos que tendr que evadir el personaje para
avanzar el juego e ir incrementando el puntaje del juego.

El dibujar los obstculos son de forma aleatorio ya que pueden venir de arriba o
abajo, tal y como se ve en la imagen 23. Pero para ello se da uso TERRAIN en el
cdigo Arduino.

Imagen 23: Comenzado a jugar LCD GAME.

16
Este es un juego de saltos de desplazamiento lateral, mientras se vayan evadiendo
los bloques, el puntaje del juego se va a ir incrementado, y para evadir los bloques
se tiene que presionar el pulsador cada vez que se acerque un bloque de
obstculos, y si se termina el juego (pierde), muestra el puntaje final y nuevamente
el mensaje. Vase la imagen 24.

Imagen 24: Finalizando de jugar.

17
CONCLUSIN
Utilizando el arduino uno y el entorno de desarrollo IDE de arduino, se elabor un
proyecto, el cual consisti en crear un videojuego visual en un una pantalla LCD de
16 pines montada en un protoboard en conjunto con un pulsador, la pantalla muestra
la interaccin visual de los objetos en el videojuego, el pulsador permite interactuar
en el videojuego (en este caso realizando saltos). Intuitivamente el juego se adapta
al jugador creando un ambiente de evocacin mental de ideas, adquiriendo as
conocimiento sin necesidad de emplear un anlisis.
La creacin del juego consisti en tres fases:

Construccin y distribucin del circuito utilizando arduino uno.


Diseo y programacin del juego en el entorno IDE de arduino.
Cargar programa y pruebas del juego.

Factiblemente el proyecto videojuego cumpli con las expectativas planteadas por


el grupo de trabajo, capaz de evitar obstculos realizando saltos recurrentes en una
trayectoria.

El principal factor del haber realizado este proyecto es la adquisicin de informacin


de nuevos comandos de programacin en el entorno de arduino y ms conocimiento
de ensamblado y estructuracin de circuitos electrnicos.

18
REFERENCIAS BIBLIOGRFICAS
1. Curso Arduino. (2016). Display LCD. Obtenido de
http://cursoarduino.proserquisa.com/2016/10/05/tutorial-9-display-lcd/
2. Minitronica. (2017). Usar pantalla LCD 16x2 Con Arduino. Obtenido de
http://www.minitronica.com/blog/usar-pantalla-lcd-16x2-con-arduino-
1602a/
3. Dreamdealer. (2012). Connecting a 1602A LCD Display And a Light.
Obtenido de
http://www.dreamdealer.nl/tutorials/connecting_a_1602a_lcd_display_
and_a_light_sensor_to_arduino_uno.html
4. Jovanna Yepez. (2013). Caractersticas de los Pines de la LCD 16X2.
Obtenido de
https://jovannayepez.wordpress.com/2014/03/24/caracteristicas-de-los-
pines-de-la-lcd-16x2/
5. Lucho Rosero. (2010). LCD 16X2. Obtenido de
https://es.scribd.com/doc/44252680/LCD-16X2

19

Potrebbero piacerti anche