La librería GEEK.py está diseñada para facilitar el control de pantallas LCD en dispositivos basados en el microcontrolador RP2040, como la Raspberry Pi Pico. Incluye funciones avanzadas para dibujar figuras, mostrar imágenes BMP y realizar operaciones de bajo nivel con el display.
Esta guía está orientada a usuarios principiantes y proporciona instrucciones claras sobre cómo empezar a usar la librería.
-
Microcontrolador - rp2040-GEEK de Waveshare.
-
Conexiones SPI configuradas según los pines especificados:
- BL (Backlight): Pin 25
- DC (Data/Command): Pin 8
- CS (Chip Select): Pin 9
- SCK (Serial Clock): Pin 10
- MOSI (Master Out, Slave In): Pin 11
- RST (Reset): Pin 12
- MicroPython instalado en el RP2040 - GEEK.
- Librería GEEK.py.
-
Descargar la librería: Copia el archivo
GEEK.pyen tu dispositivo RP2040 utilizando herramientas como Thonny o cualquier editor compatible con MicroPython. -
Probar la configuración inicial: Abre el entorno de desarrollo y escribe el siguiente código para verificar que la pantalla esté funcionando:
from GEEK import LCD_1inch14 LCD = LCD_1inch14() LCD.draw_pixel(10, 10, lcd.red) # Dibuja un pixel rojo en (10, 10) LCD.show()
Para inicializar la pantalla, crea una instancia de la clase LCD_1inch14:
from GEEK import LCD_1inch14
LCD = LCD_1inch14()La librería proporciona múltiples funciones para dibujar:
LCD.draw_pixel(x, y, color)Dibuja un píxel en la posición (x, y) con el color especificado.
LCD.draw_line(x1, y1, x2, y2, color)Dibuja una línea entre los puntos (x1, y1) y (x2, y2).
LCD.draw_circle(x0, y0, radius, color, fill=False)Dibuja un círculo con centro en (x0, y0) y radio radius. Usa fill=True para rellenarlo.
LCD.draw_square(x0, y0, side, color, fill=False)Dibuja un cuadrado con esquina superior izquierda en (x0, y0) y lado de longitud side.
LCD.draw_rectangle(x0, y0, width, height, color, fill=False)Dibuja un rectángulo con esquina superior izquierda en (x0, y0) y dimensiones width x height.
LCD.draw_triangle(x1, y1, x2, y2, x3, y3, color, fill=False)Dibuja un triángulo conectando los puntos (x1, y1), (x2, y2) y (x3, y3).
LCD.draw_shape(points, color, fill=False)Dibuja una figura definida por la lista de puntos points.
La librería permite cargar y mostrar imágenes BMP.
.drLCDaw_bmp('imagen.bmp')Asegúrate de que el archivo BMP esté en la memoria del dispositivo y sea de 24 bits.
Los colores deben especificarse en formato RGB565. Algunos colores predefinidos son:
- Rojo:
LCD.red - Verde:
LCD.green - Azul:
LCD.blue - Negro:
LCD.black
El siguiente ejemplo dibuja varias formas y muestra un mensaje:
from GEEK import LCD_1inch14
LCD = LCD_1inch14()
LCD.fill(lcd.white) # Limpia la pantalla con color blanco
# Dibujar formas
LCD.draw_circle(60, 60, 30, lcd.blue, fill=True)
LCD.draw_rectangle(100, 50, 50, 30, lcd.green, fill=True)
LCD.draw_triangle(150, 70, 170, 120, 130, 120, lcd.red)
# Mostrar texto (requiere función adicional para texto)
# LCD.draw_text(10, 10, "Hola Mundo", lcd.black)
LCD.show()- Usa colores en formato RGB565 para garantizar la compatibilidad.
- Limpia la pantalla antes de dibujar nuevas figuras usando
LCD.fill(color). - Revisa las conexiones del hardware si experimentas problemas.
Es probable que encuentres errores debido a que este proyecto se encuentra en construccion. Si tienes sugerencias, no dudes en abrir un issue en el repositorio de la librería.
Esta librería está bajo la licencia MIT. Puedes usarla y modificarla libremente siempre y cuando incluyas la licencia original.