Skip to content

Software

jimena edited this page Dec 9, 2024 · 6 revisions

Conexiones y Software ðŸ–Ĩïļ

Conexiones ⚡

Las conexiones del proyecto integran todos los componentes electrÃģnicos con el Arduino Uno y la FPGA para asegurar el correcto funcionamiento de Eva. A continuaciÃģn, se detalla cÃģmo se conectan los componentes principales:

  1. Miniservo:

    • Conectado a un pin de la Alhambra II.
    • AlimentaciÃģn directa desde la fuente de alimentaciÃģn.
  2. MÃģdulo OLED:

    • Conectado a los pines SDA y SCL del Arduino para la comunicaciÃģn I2C.
  3. Zumbador:

    • Conectado a un pin digital de la Alhambra II.
    • Configurado para emitir tonos a travÃĐs de la funciÃģn tone().
  4. Fuente de alimentaciÃģn:

    • Proporciona energía tanto al Arduino Uno como a los componentes conectados.

Software ðŸ’ŧ

El software desarrollado tiene como objetivo controlar el mÃģdulo OLED para mostrar imÃĄgenes y animaciones. Se utiliza el Arduino Uno como unidad de control principal.

Requisitos iniciales 🛠ïļ

  • ImÃĄgenes en formato PNG:

    • Escoge imÃĄgenes en formato PNG y redimensiona su resoluciÃģn para adaptarlas al nÚmero de píxeles del display (en este caso, 128x32 px).
    • Nosotros hemos utilizado imÃĄgenes de Free Icon Shop.
  • ConversiÃģn a cÃģdigo:

    • Las imÃĄgenes se convierten a cÃģdigo C++ utilizando la herramienta Image2Cpp.

Librerías necesarias 📚

Para trabajar con el mÃģdulo OLED, es necesario incluir las siguientes librerías:

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Ejemplo de cÃģdigo 📄

El siguiente cÃģdigo muestra cÃģmo cargar y dibujar una imagen en el display:

const unsigned char line_heart [] PROGMEM = {
    0x00, 0x00, 0x00, 0x00, //...
};

display.clearDisplay(); // Borra el buffer
display.drawBitmap(0, 0, line_heart, 128, 32, 1); // Dibuja la imagen
display.display(); // Muestra la imagen
delay(2000); // Mantiene la imagen visible por 2 segundos

Nota: Este ejemplo utiliza un corazÃģn como imagen. AsegÚrate de ajustar el cÃģdigo si utilizas otra imagen.

Animaciones y resultados 🎞ïļ

A continuaciÃģn, se muestra una animaciÃģn generada con este sistema:

Y el movimiento conseguido con el servo:

El cÃģdigo completo para este ejemplo se encuentra aquí.


Si tienes dudas o sugerencias, no dudes en abrir un issue en el repositorio. ÂĄEstamos encantados de recibir tu feedback! 🚀

âœĻ IntroducciÃģn

🔍 Insights

🛠ïļ Para Desarrolladores

Clone this wiki locally