{"id":25342980,"url":"https://github.com/masterpluster/rp2040-geek-micropython","last_synced_at":"2026-02-08T18:02:29.809Z","repository":{"id":243072380,"uuid":"811390189","full_name":"masterPlusTer/rp2040-GEEK-micropython","owner":"masterPlusTer","description":"Intento de libreria novato friendly  para el rp2040-GEEK - MICROPYTHON","archived":false,"fork":false,"pushed_at":"2025-11-08T22:08:04.000Z","size":154,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-08T22:08:35.062Z","etag":null,"topics":["library","micropython","rp2040","waveshare"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/masterPlusTer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-06T14:00:32.000Z","updated_at":"2025-11-08T22:08:08.000Z","dependencies_parsed_at":"2024-12-29T05:21:15.670Z","dependency_job_id":"daa3073e-32b8-4fdb-9904-b49d4aea8482","html_url":"https://github.com/masterPlusTer/rp2040-GEEK-micropython","commit_stats":null,"previous_names":["masterpluster/rp2040-geek"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/masterPlusTer/rp2040-GEEK-micropython","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masterPlusTer%2Frp2040-GEEK-micropython","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masterPlusTer%2Frp2040-GEEK-micropython/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masterPlusTer%2Frp2040-GEEK-micropython/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masterPlusTer%2Frp2040-GEEK-micropython/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/masterPlusTer","download_url":"https://codeload.github.com/masterPlusTer/rp2040-GEEK-micropython/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masterPlusTer%2Frp2040-GEEK-micropython/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29239275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T14:18:14.570Z","status":"ssl_error","status_checked_at":"2026-02-08T14:18:14.071Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","micropython","rp2040","waveshare"],"created_at":"2025-02-14T10:03:19.651Z","updated_at":"2026-02-08T18:02:29.797Z","avatar_url":"https://github.com/masterPlusTer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Interface novato friendly para el RP2040-GEEK (micropython). \n\nel codigo va mejorando con ayuda de chatgp, Y AHORA YA SE PUEDE USAR LA SD AL MISMO TIEMPO QUE TODAS LAS DEMAS FUNCIONES!!!  y mostrar la data de la misma en el display, ademas se pueden dibujar figuras y escribir texto.\n\nHe logrado corregir el temita de los colores, por algun motivo el codigo de ejemplo proporcionado por Waveshare venia con el display inicializado en BRG ( si, no es un typo, BRG, primero azul, luego rojo y luego verde) yo no se si esto fue por un error o si habia detras una intencion muy bien orquestada para dominarnos a todos, quizas sea lo segundo pero era muy incomodo trabajar con los colores asi, ademas me parecia un desperdicio de recursos tener que estar convirtiendo a nivel de bits cada vez que habia que hacer algo con los colores, entonces aqui esta, RGB como Dios manda.\n\nen principio con descargar todo este paquete y subirlo a la raiz del RP2040-GEEK en micropython deberia funcionar.\n\nEn el main.py hay varios ejemplos de funciones posibles , descomenta y comenta lineas y mira lo que pasa, ademas hay un intento de documentacion mas abajo.... \nesto esta en construccion, sepan disculpar el desorden...\n\n################################################################################################################################################################\n\n\n# Librería para el Control de Pantalla en RP2040-GEEK\n\nEsta librería ha sido desarrollada para controlar la pantalla, dibujar gráficos y escribir texto en el dispositivo RP2040-GEEK utilizando el lenguaje de programación MicroPython. A continuación, se explica el uso de cada módulo y sus funciones.\n\n## Módulos Importados\nLa librería se divide en varios módulos principales:\n\n### 1. `display`\nEste módulo maneja la inicialización y configuración de la pantalla del RP2040-GEEK.\n\n- **`init_display()`**: Inicializa el display. Debe llamarse antes de cualquier otra operación en la pantalla.\n- **`fill_screen(color)`**: Llena toda la pantalla con un color dado. El color debe proporcionarse en formato RGB565.\n- **`set_rotation(rotation)`**: Configura la rotación de la pantalla. Los valores posibles son 0 (normal), 1 (90 grados), 2 (180 grados) y 3 (270 grados).\n\n### 2. `draw`\nEste módulo proporciona funciones para dibujar en la pantalla, como píxeles, líneas, círculos y polígonos.\n\n- **`draw_pixel(x, y, color)`**: Dibuja un píxel en las coordenadas `(x, y)` con el color especificado en formato RGB565.\n- **`draw_line(x0, y0, x1, y1, color)`**: Dibuja una línea entre los puntos `(x0, y0)` y `(x1, y1)` con el color especificado en formato RGB565.\n- **`draw_rectangle(x0, y0, x1, y1, color, filled=False)`**: Dibuja un rectángulo. Si `filled=True`, el rectángulo se rellena con el color dado.\n- **`draw_circle(x, y, radius, color, filled=False)`**: Dibuja un círculo. Si `filled=True`, el círculo se rellena con el color dado.\n- **`draw_polygon(color, filled=False, *vertices)`**: Dibuja un polígono usando una lista de vértices. Si `filled=True`, el polígono se rellena.\n\n### 3. `write`\nEste módulo proporciona funciones para escribir texto en la pantalla.\n\n- **`text(x, y, text, color, bg_color, size=8)`**: Dibuja un texto en la posición `(x, y)` usando la fuente especificada. El tamaño de la fuente puede ajustarse a 8x8, 10x10 o 12x12, con un valor predeterminado de 8x8.\n\n### 4. `image`\nEste módulo permite mostrar imágenes BMP en la pantalla.\n\n- **`show_bmp(file_path, x_offset=0, y_offset=0)`**: Muestra un archivo BMP en la pantalla. El archivo BMP debe estar en formato de 24 bits (RGB888). Los valores `x_offset` y `y_offset` permiten ajustar la posición de la imagen en la pantalla.\n\n## Uso Básico\n### Inicialización de la Pantalla\nAntes de comenzar a dibujar, debemos inicializar la pantalla y configurarla:\n```python\nimport display\n\n# Inicializar el display\ndisplay.init_display()\n\n# Llenar la pantalla con un color (azul en este caso)\ndisplay.fill_screen(0b0000000000011111)  # Color azul (RGB565)\n```\n\n### Configuración de Colores\nLos colores deben ser especificados en formato RGB565 (5 bits para el rojo, 6 bits para el verde y 5 bits para el azul). Ejemplo:\n```python\nred = 0b1111100000000000    # Rojo puro\ngreen = 0b0000011111100000  # Verde puro\nblue = 0b0000000000011111   # Azul puro\nyellow = 0b1111111111100000 # Amarillo\nblack = 0b0000000000000000  # Negro\nwhite = 0b1111111111111111  # Blanco\n```\n\n### Dibujar en la Pantalla\nUsamos el módulo `draw` para dibujar formas como píxeles, líneas, rectángulos, círculos y polígonos:\n```python\nimport draw\n\n# Dibujar píxeles en la pantalla\ndraw.draw_pixel(134, 0, red)  # Esquina superior derecha\ndraw.draw_pixel(120, 150, blue)  # Un punto en el medio\n```\n\n### Escribir Texto\nEl módulo `write` se utiliza para escribir texto en la pantalla:\n```python\nimport write\n\n# Escribir texto en la pantalla\nwrite.text(10, 20, 'Hola Mundo!', white, black)\n```\n\n### Mostrar una Imagen BMP\nPara mostrar una imagen BMP en la pantalla, usamos el módulo `image`:\n```python\nimport image\n\n# Mostrar una imagen BMP desde un archivo\nimage.show_bmp('/RP2040-GEEK.bmp', x_offset=0, y_offset=0)\n```\n\n## Fuentes de Texto\nLa librería incluye tres tamaños de fuente (8x8, 10x10 y 12x12). El tamaño de la fuente puede especificarse en la función `write.text` utilizando el parámetro `size`. El valor predeterminado es 8x8, pero puede configurarse como 10x10 o 12x12 para un texto más grande:\n```python\nwrite.text(10, 60, 'Texto 10x10', white, black, size=10)\nwrite.text(10, 100, 'Texto 12x12', white, black, size=12)\n```\n\n## Conclusión\nEsta librería permite controlar la pantalla del RP2040-GEEK de manera sencilla, ofreciendo herramientas para dibujar gráficos y mostrar texto con diferentes fuentes y tamaños. Es útil para proyectos interactivos donde se necesita una interfaz visual con gráficos y texto.\n\n## Archivos del Proyecto\nLos archivos que debes incluir en tu proyecto son:\n- `display.py`: Controla la pantalla y sus configuraciones.\n- `draw.py`: Funciones para dibujar en la pantalla.\n- `write.py`: Funciones para escribir texto en la pantalla.\n- `image.py`: Función para mostrar imágenes BMP en la pantalla.\n\n\n## he incluido un ejemplo de interface interfaceUI.py\n\n\nrecuerda que la orientacion se configura con display.set_rotation() y acepta parametros del 0 al 3\n\n\n\n![IMG_1882](https://github.com/user-attachments/assets/df68ff27-4022-4d0e-901a-21abf9b9b07e)\n![IMG_1881](https://github.com/user-attachments/assets/cd6c3893-b11c-4a10-a58c-c938ec3d052f)\n![IMG_1879](https://github.com/user-attachments/assets/e176c2e7-3a4a-4ce4-924d-26effd9efd2a)\n![IMG_1878](https://github.com/user-attachments/assets/de036cd3-ae57-4a32-ad78-3d5947d1dcdc)\n\n\n\n\n¡Disfruta programando tu RP2040-GEEK!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterpluster%2Frp2040-geek-micropython","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasterpluster%2Frp2040-geek-micropython","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterpluster%2Frp2040-geek-micropython/lists"}