//Make Sure Address is Correct
#define OLED_ADDRESS 0x3C
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
static const uint8_t image_data_Saraarray[1024] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xa0, 0x00, 0x39, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x71, 0x8e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x20, 0x00, 0x61, 0x1c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x20, 0x00, 0xe3, 0x38, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x01, 0xc3, 0x71, 0x80, 0x00, 0x00, 0x00, 0x03, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x80, 0x01, 0x86, 0x71, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x80, 0x03, 0x86, 0xe3, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x03, 0x0d, 0xc2, 0x0f, 0x80, 0x07, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x07, 0x09, 0xc4, 0x1c, 0xc1, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x86, 0x1b, 0x8c, 0x30, 0x7f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x03, 0xc6, 0x33, 0x98, 0x67, 0xc0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x06, 0x4c, 0x63, 0xb0, 0xfc, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0xce, 0x0e, 0xcd, 0x87, 0x60, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0xbe, 0x0d, 0x8f, 0x07, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3f, 0xce, 0x1f, 0x0e, 0x07, 0x83, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xc7, 0x8c, 0x38, 0x3c, 0x07, 0x06, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1e, 0x0f, 0x1c, 0x38, 0x7c, 0x07, 0x0c, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0xe0, 0x0e, 0x18, 0x5f, 0x9c, 0x07, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1e, 0x00, 0x1e, 0x38, 0x80, 0x0c, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xc0, 0x00, 0x1c, 0x31, 0x80, 0x0e, 0x33, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x78, 0x00, 0x00, 0x00, 0x73, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1f, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x00, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000); // Pause for 2 seconds
display.setRotation(0); // 1 - 90 degrees, 2 - 180 degrees, 3 - 270 degrees
// Clear the buffer.
display.clearDisplay();
// Draw bitmap on the screen
display.drawBitmap(0, 0, image_data_Saraarray, 128, 64, 1);
display.display();
delay(2000);
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDRESS);
display.setRotation(0);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(33, 15);
display.println("BANZAI");
display.setCursor(43, 35);
display.println("2023");
display.display();
delay(2000);
display.clearDisplay();
sleep();
wakeUp();
}
void loop() {
int randomNum = random(5);
if (randomNum == 1) {
regEyes();
randomNum = random(5);
}
if (randomNum == 2) {
heart();
randomNum = random(5);
}
if (randomNum == 3) {
carrotEyes();
randomNum = random(5);
}
if (randomNum == 4) {
sideEye();
randomNum = random(5);
}
if (randomNum == 5) {
sideEye();
randomNum = random(5);
}
}
void sleep() {
display.clearDisplay();
//blink
display.fillRect(30, 7, 20, 23, WHITE);
display.fillRect(75, 7, 20, 23, WHITE);
//small mouth
display.fillRect(48, 45, 32, 8, WHITE);
display.fillCircle(48, 48, 3, WHITE);
display.fillCircle(80, 48, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//yawn
//blink
display.fillRect(30, 7, 20, 23, WHITE);
display.fillRect(75, 7, 20, 23, WHITE);
display.fillCircle(63, 48, 12, WHITE);
display.display();
delay(2000);
display.clearDisplay();
//blink
display.fillRect(30, 7, 20, 23, WHITE);
display.fillRect(76, 19, 20, 11, WHITE);
//small mouth
display.fillRect(48, 45, 32, 8, WHITE);
display.fillCircle(48, 48, 3, WHITE);
display.fillCircle(80, 48, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//yawn
//blink
display.fillRect(30, 12, 21, 10, WHITE);
display.fillRect(75, 12, 21, 10, WHITE);
display.fillCircle(62, 43, 12, WHITE);
display.display();
delay(2000);
}
void wakeUp() {
display.clearDisplay();
//blink
display.fillRect(36, 28, 20, 8, WHITE);
display.fillRect(76, 28, 20, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//left wink
display.fillCircle(46, 32, 8, WHITE);
display.fillRect(76, 28, 20, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(2000);
display.clearDisplay();
//blink
display.fillRect(36, 28, 20, 8, WHITE);
display.fillRect(76, 28, 20, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(1000);
display.clearDisplay();
//right wink
display.fillRect(36, 28, 20, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(2000);
display.clearDisplay();
//blink
display.fillRect(36, 28, 20, 8, WHITE);
display.fillRect(76, 28, 20, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(1000);
display.clearDisplay();
// eyes
display.clearDisplay();
display.fillCircle(48, 32, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//blink
display.fillRect(36, 28, 20, 4, WHITE);
display.fillRect(76, 28, 20, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(50);
// eyes
display.clearDisplay();
display.fillCircle(48, 32, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(1000);
display.clearDisplay();
//blink
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(50);
}
void regEyes() { //Regular eyes with Blinking
// eyes
display.clearDisplay();
display.fillCircle(48, 32, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//blink
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(100);
//open
display.clearDisplay();
display.fillCircle(48, 32, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
//blink
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
display.display();
delay(100);
}
void sideEye() {
// eyes
display.clearDisplay();
display.fillCircle(48, 32, 8, WHITE);
display.fillCircle(80, 32, 8, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//blink
display.fillRect(32, 28, 10, 4, WHITE);
display.fillRect(96, 28, 10, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(100);
display.clearDisplay();
//side eye
display.fillCircle(32, 32, 8, WHITE);
display.fillCircle(96, 32, 8, WHITE);
//mouth
display.fillRect(32, 55, 64, 8, WHITE);
display.fillCircle(32, 58, 3, WHITE);
display.fillCircle(96, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//blink
display.fillRect(32, 28, 10, 4, WHITE);
display.fillRect(96, 28, 10, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(100);
display.clearDisplay();
//side eye
display.fillCircle(32, 32, 8, WHITE);
display.fillCircle(96, 32, 8, WHITE);
//mouth
display.fillRect(32, 55, 64, 8, WHITE);
display.fillCircle(32, 58, 3, WHITE);
display.fillCircle(96, 58, 3, WHITE);
display.display();
delay(3000);
display.clearDisplay();
//blink
display.fillRect(32, 28, 10, 4, WHITE);
display.fillRect(96, 28, 10, 4, WHITE);
//small mouth
display.fillRect(48, 55, 32, 8, WHITE);
display.fillCircle(48, 58, 3, WHITE);
display.fillCircle(80, 58, 3, WHITE);
display.display();
delay(100);
display.clearDisplay();
}
void heart() {
display.clearDisplay();
int x1 = 44;
int y1 = 27;
int radius1 = 10;
// Draw the left heart
display.fillTriangle(x1 - radius1, y1, x1, y1 + radius1, x1 + radius1, y1, WHITE);
display.fillCircle(x1 - 5, y1, 5.5, WHITE);
display.fillCircle(x1 + 5, y1, 5.5, WHITE);
int x2 = 84;
int y2 = 27;
int radius2 = 10;
// Draw the right heart
display.fillTriangle(x2 - radius2, y2, x2, y2 + radius2, x2 + radius2, y2, WHITE);
display.fillCircle(x2 - 5, y2, 5.5, WHITE);
display.fillCircle(x2 + 5, y2, 5.5, WHITE);
//smile
display.fillCircle(64, 50, 12, WHITE); // full smile
display.fillRect(0, 38, 128, 12, BLACK); // hide top half of smile
display.display();
delay(4000);
//blink
display.clearDisplay();
//smallest mouth
display.fillRect(54, 54, 22, 4, WHITE);
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
display.display();
delay(100);
display.clearDisplay();
//smile
display.fillCircle(64, 50, 12, WHITE); // full smile
display.fillRect(0, 38, 128, 12, BLACK); // hide top half of smile
// Draw the left heart
display.fillTriangle(x1 - radius1, y1, x1, y1 + radius1, x1 + radius1, y1, WHITE);
display.fillCircle(x1 - 5, y1, 5.5, WHITE);
display.fillCircle(x1 + 5, y1, 5.5, WHITE);
// Draw the right heart
display.fillTriangle(x2 - radius2, y2, x2, y2 + radius2, x2 + radius2, y2, WHITE);
display.fillCircle(x2 - 5, y2, 5.5, WHITE);
display.fillCircle(x2 + 5, y2, 5.5, WHITE);
display.display();
delay(4000);
//blink
display.clearDisplay();
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
//smallest mouth
display.fillRect(54, 54, 22, 4, WHITE);
display.display();
delay(100);
display.clearDisplay();
// Draw the left heart
display.fillTriangle(x1 - radius1, y1, x1, y1 + radius1, x1 + radius1, y1, WHITE);
display.fillCircle(x1 - 5, y1, 5.5, WHITE);
display.fillCircle(x1 + 5, y1, 5.5, WHITE);
// Draw the right heart
display.fillTriangle(x2 - radius2, y2, x2, y2 + radius2, x2 + radius2, y2, WHITE);
display.fillCircle(x2 - 5, y2, 5.5, WHITE);
display.fillCircle(x2 + 5, y2, 5.5, WHITE);
//smile
display.fillCircle(64, 50, 12, WHITE); // full smile
display.fillRect(0, 38, 128, 12, BLACK); // hide top half of smile
display.display();
delay(4000);
//blink
display.clearDisplay();
display.clearDisplay();
display.fillRect(44, 28, 10, 4, WHITE);
display.fillRect(76, 28, 10, 4, WHITE);
//smallest mouth
display.fillRect(54, 54, 22, 4, WHITE);
display.display();
delay(100);
display.clearDisplay();
}
void carrotEyes() { // ^ shape eyes
display.clearDisplay();
int centerX = 42;
int centerY = 32;
int lineLength = 10;
// Draw the left ^ symbol
display.drawLine(centerX - lineLength, centerY + lineLength, centerX, centerY - lineLength, WHITE);
display.drawLine(centerX, centerY - lineLength, centerX + lineLength, centerY + lineLength, WHITE);
int centerXl = 90;
int centerYl = 32;
// Draw the right ^ symbol
display.drawLine(centerXl - lineLength, centerYl + lineLength, centerXl, centerYl - lineLength, WHITE);
display.drawLine(centerXl, centerYl - lineLength, centerXl + lineLength, centerYl + lineLength, WHITE);
//smile
display.fillCircle(64, 50, 12, WHITE); // full smile
display.fillRect(0, 38, 128, 12, BLACK); // hide top half of smile
display.display();
delay(4000);
display.clearDisplay();
//blink
//smallest mouth
display.fillRect(54, 54, 22, 4, WHITE);
display.fillRect(38, 32, 10, 4, WHITE);
display.fillRect(84, 32, 10, 4, WHITE);
display.display();
delay(50);
display.clearDisplay();
// Draw the left ^ symbol
display.drawLine(centerX - lineLength, centerY + lineLength, centerX, centerY - lineLength, WHITE);
display.drawLine(centerX, centerY - lineLength, centerX + lineLength, centerY + lineLength, WHITE);
// Draw the right ^ symbol
display.drawLine(centerXl - lineLength, centerYl + lineLength, centerXl, centerYl - lineLength, WHITE);
display.drawLine(centerXl, centerYl - lineLength, centerXl + lineLength, centerYl + lineLength, WHITE);
//smile
display.fillCircle(64, 50, 12, WHITE); // full smile
display.fillRect(0, 38, 128, 12, BLACK); // hide top half of smile
display.display();
delay(5000);
display.clearDisplay();
//blink
//smallest mouth
display.fillRect(54, 54, 22, 4, WHITE);
display.fillRect(38, 32, 10, 4, WHITE);
display.fillRect(84, 32, 10, 4, WHITE);
display.display();
delay(100);
display.clearDisplay();
}