-
Notifications
You must be signed in to change notification settings - Fork 0
Software
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:
-
Miniservo:
- Conectado a un pin de la Alhambra II.
- AlimentaciÃģn directa desde la fuente de alimentaciÃģn.
-
MÃģdulo OLED:
- Conectado a los pines SDA y SCL del Arduino para la comunicaciÃģn I2C.
-
Zumbador:
- Conectado a un pin digital de la Alhambra II.
- Configurado para emitir tonos a travÃĐs de la funciÃģn
tone().
-
Fuente de alimentaciÃģn:
- Proporciona energÃa tanto al Arduino Uno como a los componentes conectados.
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.
-
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.
Para trabajar con el mÃģdulo OLED, es necesario incluir las siguientes librerÃas:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>- Adafruit_GFX.h: Para primitivas grÃĄficas como puntos, lÃneas y cÃrculos.
- Adafruit_SSD1306.h: Para controlar el mÃģdulo OLED.
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 segundosNota: Este ejemplo utiliza un corazÃģn como imagen. AsegÚrate de ajustar el cÃģdigo si utilizas otra imagen.
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
