En esta actividad se abarcará lo siguiente:
- Qué es una pantalla LCD?
- Qué es una pantalla táctil?
- Cómo se conecta la LCD al STM32?
- Cómo se conecta la pantalla táctil al STM32?
- Cómo utilizar libopencm3-plus (con GFX) para "dibujar" en la pantalla?
- Dibujar círculos, puntos, líneas, texto
- Cómo obtener la posición de contacto de la pantalla táctil?
- Actualice el repositorio libopencm3-plus-examples
cd ~/local/src/repos/gitlab/libopencm3-plus-examples
git pull
- Ingrese al directorio con los ejemplos básicos de LCD y compile el primer ejemplo:
cd examples/stm32/f4/stm32f429idiscovery/lcd_touch_cdcacm
make
- Conecte su STM32 a los dos puertos USB
- Compile y pruebe!
make flash
Debe utilizar minicom para este demo. En minicom debe enviar un "enter" para que el demo continue.
Presione la pantalla táctil para probar el demo
E: Realice un video del funcionamiento de este demo
- Edite el archivo "Makefile" y cambie "draw_points" por "planets"
- Compile nuevamente
E: Realice un video del funcionamiento de este demo
- Edite el archivo "Makefile" y cambie "planets" por "print_touched_coord"
- Compile nuevamente
Presione la pantalla táctil para probar el demo
E: Realice un video del funcionamiento de este demo
P: Describa y explique lo que se muestra en pantalla
P: Qué indican/significan los números mostrados en pantalla?
- Encuentre, examine y estudie los archivos gfx.h, lcd-spi.h y lcd-serial-touch.h
P: En qué directorio de libopencm3-plus se encuentran dichos archivos?
P: Qué funciones generales desempeña cada uno.
P: Qué función utilizaría para dibujar un rectángulo relleno?
P: Qué función utilizaría para dibujar una línea?
- Copie el programa draw_points.c a mi_grafico.c y ajuste el Makefile para que compile este programa
- Compile y carga el programa. Compruebe que funciona correctamente.
- Edite el programa para que realice lo siguiente:
- El programa reciba uno de los siguientes comandos desde minicom:
c <diámetro> <0/1> (circulo) (grupos 1-5)
u <lado> <0/1> (cuadrado) (grupos 6-10)
r <lado1> <lado2> (rectángulo) (grupos 11-15)
Las medidas entre <> son en "pixeles"
0/1 significa vacío (color de fondo) o relleno (color distinto). Use su color de preferencia distinto al fondo.
- Y con ellos dibuje la correspondiente figura en la LCD.
- Todavía con la figura geométrica al fondo, debe también imprimir en la pantalla LCD "Grupo X", correspondiente a su grupo, en el lugar donde la pantalla táctil sea presionada.
- El programa debe actualizar la pantalla cada vez que reciba un nuevo comando de minicom (debe estar siempre "escuchando" nuevos comandos) o si la pantalla táctil es nuevamente presionada.
- "Grupo X" debe mostrarse en el centro de la pantalla antes de ser presionada la pantalla la primera vez.
E: realice un video que muestre el funcionamiento correcto de este programa.
E: Entregue el código fuente del programa