[7:32 p.m., 15/10/2024] Yamile Martinez: #include <ESP32Servo.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_SDA 16
#define OLED_SCL 17
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
Servo servo1;
Servo servo2;
void setup() {
servo1.attach(5);
servo2.attach(19);
Wire.begin(OLED_SDA, OLED_SCL);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
}
void loop() {
moverServos(90, true);
moverServos(0, false);
moverServos(45, true);
moverServos(0, false);
}
void moverServos(int angulo, bool ojoAbierto) {
servo1.write(angulo);
servo2.write(angulo);
mostrarOjos(ojoAbierto);
delay(1000);
}
void mostrarOjos(bool abierto) {
display.clearDisplay();
if (abierto) {
// Dibuja ojos más grandes
display.fillCircle(64, 32, 15, WHITE); // Parte superior del ojo
display.fillCircle(64, 32 + 10, 15, WHITE); // Parte inferior del ojo
display.fillCircle(64, 32, 6, WHITE); // Pupila
} else {
// Dibuja un ojo cerrado
display.drawLine(49, 32, 79, 32, WHITE); // Ojo cerrado
}
display.display();
}
ojos más grande
[7:49 p.m., 15/10/2024] Yamile Martinez: #include <ESP32Servo.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_SDA 16
#define OLED_SCL 17
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
Servo servo1;
Servo servo2;
void setup() {
servo1.attach(5);
servo2.attach(19);
Wire.begin(OLED_SDA, OLED_SCL);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
}
void loop() {
moverServos(90, true);
moverServos(0, false);
moverServos(45, true);
moverServos(0, false);
}
void moverServos(int angulo, bool ojoAbierto) {
servo1.write(angulo);
servo2.write(angulo);
mostrarOjos(ojoAbierto);
delay(1000);
}
void mostrarOjos(bool abierto) {
display.clearDisplay();
if (abierto) {
// Dibuja ojos grandes y alegres
display.fillCircle(64, 32, 15, WHITE); // Parte superior del ojo
display.fillCircle(64, 32 + 10, 15, WHITE); // Parte inferior del ojo
display.fillCircle(64, 32, 6, WHITE); // Pupila
} else {
// Dibuja un ojo cerrado con líneas
display.drawLine(49, 32, 79, 32, WHITE); // Línea del ojo cerrado
display.drawLine(49, 31, 79, 31, WHITE); // Línea superior
display.drawLine(49, 33, 79, 33, WHITE); // Línea inferior
}
display.display();
}