mirror of
https://github.com/DinoMalin/paranoia-1.0.git
synced 2025-10-30 11:06:00 +00:00
feat: side eye and blink
This commit is contained in:
parent
802727e4e5
commit
5a4bec3b02
@ -5,10 +5,87 @@
|
|||||||
|
|
||||||
hd44780_I2Cexp lcd; // auto-detects the I2C address
|
hd44780_I2Cexp lcd; // auto-detects the I2C address
|
||||||
|
|
||||||
|
byte rectangle[8] = {
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
0xff,
|
||||||
|
};
|
||||||
|
|
||||||
|
byte blink[8] = {
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0b11111,
|
||||||
|
0b11111,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define RECTANGLE 0
|
||||||
|
#define BLINK 1
|
||||||
|
|
||||||
|
#define draw_rectangle(x, y) draw_char(x, y, RECTANGLE);
|
||||||
|
#define draw_blink(x, y) draw_char(x, y, BLINK);
|
||||||
|
|
||||||
|
void draw_char(int x, int y, char c) {
|
||||||
|
lcd.setCursor(x,y);
|
||||||
|
lcd.write(byte(c));
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw_eyes(int x) {
|
||||||
|
draw_rectangle(x, 0);
|
||||||
|
draw_rectangle(x+1, 0);
|
||||||
|
draw_rectangle(x+7, 0);
|
||||||
|
draw_rectangle(x+8, 0);
|
||||||
|
draw_char(x, 1, '\n');
|
||||||
|
draw_char(x+1, 1, '\n');
|
||||||
|
draw_char(x+7, 1, '\n');
|
||||||
|
draw_char(x+8, 1, '\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
void do_blink(int x) {
|
||||||
|
draw_blink(x, 0);
|
||||||
|
draw_blink(x+1, 0);
|
||||||
|
draw_rectangle(x+7, 0);
|
||||||
|
draw_rectangle(x+8, 0);
|
||||||
|
draw_char(x, 1, '\n');
|
||||||
|
draw_char(x+1, 1, '\n');
|
||||||
|
draw_char(x+7, 1, '\n');
|
||||||
|
draw_char(x+8, 1, '\n');
|
||||||
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
lcd.begin(16, 2);
|
lcd.begin(16, 2);
|
||||||
lcd.print("lorem ipsum dolor sit amet");
|
lcd.createChar(0, rectangle);
|
||||||
|
lcd.createChar(1, blink);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
draw_eyes(3);
|
||||||
|
delay(1200);
|
||||||
|
lcd.clear();
|
||||||
|
|
||||||
|
do_blink(3);
|
||||||
|
delay(200);
|
||||||
|
lcd.clear();
|
||||||
|
|
||||||
|
draw_eyes(3);
|
||||||
|
delay(1200);
|
||||||
|
lcd.clear();
|
||||||
|
|
||||||
|
// look to the sides
|
||||||
|
draw_eyes(1);
|
||||||
|
delay(800);
|
||||||
|
lcd.clear();
|
||||||
|
draw_eyes(5);
|
||||||
|
delay(800);
|
||||||
|
lcd.clear();
|
||||||
|
|
||||||
|
Serial.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user