Metodología - marcos-allen/TE2003B_OLED GitHub Wiki

Diseño de la solución propuesta

La metodología que se usó en este proyecto fue la siguiente:

  1. Preparación del entorno de trabajo:

    • Se verificará que Raspberry Pi 4 estuviera correctamente alimentada y funcional.
    • Se instalarán las herramientas necesarias en la Raspberry Pi (por ejemplo, para el uso de Python con PIL1 se utiliza pip install pillow).
  2. Conexión física de los dispositivos:

    • Se conectará la pantalla OLED a la Raspberry Pi utilizando jumpers con los pines designados para I2C.
  3. Lectura de datos en la Raspberry Pi 4:

    • Se desarrollará el código en Python para enviar los mensajes por I2C a la pantalla OLED.
    • Se imprimirán en la pantalla OLED los nombres de los integrantes del equipo.
    • Se recibirá el mensaje que desee imprimir el usuario.
    • Se imprimirá en la pantalla OLED el mensaje enviado por el usuario.
  4. Verificación de la comunicación:

    • Se monitoreará la salida a través de la visualización de los nombres y el mensaje en la pantalla OLED para confirmar que los mensajes se transmitieran correctamente.

Entradas y Salidas

Entradas (Raspberry)

  • Mensaje: el usuario a través del teclado de la computadora conectado a la Raspberry, puede enviar un mensaje no mayor a 50 caracteres.

Salidas (Raspberry)

  • Nombres: enviar desde la Raspberry el nombre de los integrantes de su equipo de trabajo a la pantalla.
  • Mensaje del usuario: enviar a imprimir el mensaje ingresado por el usuario.

Visualización (Pantalla OLED)

  • Visualización de los nombres y mensajes enviados de la Raspberry a la pantalla OLED en orden, sin errores de transmisión.

Condiciones de operación del experimento

Las condiciones de operación del experimento son aquellas que se necesitan para operar y ejecutar de manera correcta el programa realizado. Estas son las siguientes:

  • Se debe tener instaladas las herramientas necesarias para la ejecución del código en la Raspberry Pi 4.
    • Estas son las siguientes: Python 3, y las librerías PIL 1 , adafruit_ssd1306 2, board3 y busio 4
  • En la Raspberry Pi, debe estar habilitada la interfaz I2C.
  • La conexión física entre la Raspberry Pi y la pantalla OLED debe realizarse correctamente usando jumpers, conectando los pines SDA y SCL de la pantalla a los pines GPIO correspondientes de la Raspberry Pi.
  • También se puede hacer el uso de comandos para verificar la correcta detección del dispositivo I2C: bash $ i2cdetect -y 1
    • El cual muestra la dirección correspondiente a la pantalla OLED
  • El comando para ejecutar el script de Python: $ python oled.py
  • Se necesita acceso a la terminal donde se ejecutará el programa.
  • Se debe garantizar que la resolución de la pantalla OLED sea de 128x64 píxeles y que sea compatible con la librería adafruit_ssd1306 .

Especificaciones del sistema

  • Dispositivo: Raspberry Pi 4
  • Sistema operativo: Raspbian Raspberry Pi OS (Legacy, 32-bit) Full, Debian Bullseye.
  • Modo del sistema operativo: 32 bits
  • Arquitectura del procesador: ARMv8
  • Lenguaje usado en Raspberry: Python 3
  • Interfaz habilitada: I2C.
  • Pantalla OLED de 128x64 píxeles con comunicación I2C.
  • Librerías empleadas: PIL, adafruit_ssd1306, board, busio, time.

1 PIL conocida actualmente como Pillow es una librería gratuita que permite la edición de imágenes directamente desde Python. En este proyecto, se utiliza para generar imágenes en blanco y negro que contienen texto, las cuales son posteriormente enviadas a la pantalla OLED para su visualización.

2 adafruit_ssd1306 es una librería específica para pantallas OLED que utilizan el controlador SSD1306. Básicamente lo que hace es comunicar con el microcontrolador para obtener los datos y enviarlos a la pantalla OLED para que dibuje esos datos.

3 board es una librería que proporciona acceso a las definiciones estándar de pines de la Raspberry Pi (como SCL, SDA, D4, etc.), facilitando la escritura de código y legibilidad al evitar el uso de números de pin directamente. En este proyecto, se usa para identificar los pines I2C.

4 busio es una librería que forma parte de Adafruit para controlar protocolos de comunicación como I2C. Se utiliza para inicializar y gestionar la conexión I2C entre la Raspberry Pi y la pantalla.

⚠️ **GitHub.com Fallback** ⚠️