/*
Nombre del Archivo: Pelota por toda la pantalla
Autor: Lázaro Salinas
Fecha: 26/03/2025
Objetivo:
Este programa está diseñado para hacer que una pelota se mueva por toda la pantalla sin salirse
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Tamaño de la pantalla OLED
#define ANCHO_PANTALLA 128
#define ALTO_PANTALLA 64
// Inicializar pantalla OLED
Adafruit_SSD1306 oled(ANCHO_PANTALLA, ALTO_PANTALLA, &Wire, -1);
// Posición y tamaño de la pelota
int x = ANCHO_PANTALLA / 2;
int y = ALTO_PANTALLA / 2;
int radio = 3; // Tamaño de la pelota
void setup() {
Serial.begin(9600);
// Inicializar pantalla OLED
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("Falla conexión con SSD1306 OLED");
while (1);
}
oled.clearDisplay();
oled.display();
}
void loop() {
// Generar desplazamientos aleatorios en X e Y
int dx = random(0, 128);
int dy = random(0, 64);
// Nueva posición
x = dx;
y = dy;
// Evitar que la pelota salga de la pantalla
if (x - radio < 0) x = radio;
if (x + radio > ANCHO_PANTALLA) x = ANCHO_PANTALLA - radio;
if (y - radio < 0) y = radio;
if (y + radio > ALTO_PANTALLA) y = ALTO_PANTALLA - radio;
// Limpiar pantalla y dibujar la pelota
oled.clearDisplay();
oled.fillCircle(x, y, radio, WHITE);
oled.display();
delay(500); // Pequeña pausa para ver el movimiento
}