#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int pos,ninos,ano,delayt=3000,delaya=400,total,da=150;
char ene= 0xEE;
void setup() {
lcd.begin(16, 2);
randomSeed(analogRead(0));
}
void loop() {
int inicio=1985;
int oax=1988;
int noax=30;
int reg=1993;
int dira=2011;
int nodira=190;
int dirb=2016;
int nodirb=400;
int act=2022;
total=0;
lcd.setCursor(0, 0);
lcd.print(" Maestra Liz");
lcd.setCursor(0, 1);
lcd.print(" de la Fuente");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Comenzo a dar");
lcd.setCursor(0, 1);
lcd.print(" clases en ");
lcd.print(inicio);
delay(delayt);
lcd.clear();
for(inicio;inicio<oax;inicio++){
ano=inicio;
ninos=random(20, 35);
imp(ninos,ano);
delay(delaya);
lcd.clear();
}
lcd.setCursor(0, 0);
lcd.print("En ");
lcd.print(oax);
lcd.print(" se mudo");
lcd.setCursor(0, 1);
lcd.print(" a Oaxaca");
delay(delayt);
lcd.clear();
int ct=0,mx=(noax/4),mn=(noax/6);
for(oax;oax<reg;oax++){
ano=oax;
if(ct==0){
ninos=noax;
ct++;
}
else{
ninos=random(mn, mx);
}
imp(ninos,ano);
delay(delaya);
lcd.clear();
}
lcd.setCursor(0, 0);
lcd.print("Despues, en ");
lcd.print(reg);
lcd.setCursor(0, 1);
lcd.print("regreso al D.F.");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Y en ");
lcd.print(dira);
lcd.print(" volvio");
lcd.setCursor(0, 1);
lcd.print(" con los ni");
lcd.print(ene);
lcd.print("os");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Pero esta vez,");
lcd.setCursor(0, 1);
lcd.print("como Directora!");
delay(delayt);
lcd.clear();
ct=0,mx=(nodira/5),mn=(nodira/7);
for(dira;dira<dirb;dira++){
ano=dira;
if(ct==0){
ninos=nodira;
ct++;
}
else{
ninos=random(mn, mx);
}
imp(ninos,ano);
delay(delaya);
lcd.clear();
}
ct=0,mx=(nodirb/5),mn=(nodirb/7);
for(dirb;dirb<act+1;dirb++){
ano=dirb;
if(ct==0){
ninos=nodirb;
ct++;
}
else{
ninos=random(mn, mx);
}
imp(ninos,ano);
delay(delaya);
lcd.clear();
}
int tiempo=act-1985;
lcd.setCursor(0, 0);
lcd.print(" En ");
lcd.print(tiempo);
lcd.print(" a");
lcd.print(ene);
lcd.print("os de");
lcd.setCursor(0, 1);
lcd.print(" servicio");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ha formado parte");
lcd.setCursor(0, 1);
lcd.print("de la educacion");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" de aprox.");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.print(total);
lcd.print(" ni");
lcd.print(ene);
lcd.print("os!");
delay(delayt);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" A nombre de");
lcd.setCursor(0, 1);
lcd.print(" todos ellos");
delay(delayt);
lcd.clear();
int eq,ye;
while(1==1){
ye=1;
for(int x=0;x<17;x++){
eq=x;
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
image(eq,ye);
delay(da);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
image1(eq,ye);
delay(da);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
image2(eq,ye);
delay(da);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
imagen(eq,ye);
delay(da);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
image3(eq,ye);
delay(da);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Muchas Gracias!!");
image4(eq,ye);
delay(da);
lcd.clear();
}
}
}
void image4(int eq, int ye) {
eq++;
byte image18[8] = {B11100, B11100, B01000, B11100, B01010, B01000, B10100, B10100};
lcd.createChar(0, image18);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
}
void image3(int eq, int ye) {
byte image18[8] = {B11000, B11000, B10000, B11000, B10100, B10000, B01000, B01000};
byte image17[8] = {B00000, B00000, B00000, B00000, B00001, B00000, B00000, B00000};
lcd.createChar(1, image18);
lcd.createChar(0, image17);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
eq++;
lcd.setCursor(eq, ye);
lcd.write(byte(1));
}
void image2(int eq, int ye) {
byte image17[8] = {B00011, B00011, B00001, B00011, B00101, B00001, B00010, B00010};
byte image18[8] = {B00000, B00000, B00000, B00000, B10000, B00000, B00000, B00000};
lcd.createChar(0, image17);
lcd.createChar(1, image18);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
eq++;
lcd.setCursor(eq, ye);
lcd.write(byte(1));
}
void image1(int eq, int ye) {
byte image17[8] = {B00111, B00111, B00010, B00111, B01010, B00010, B00101, B00101};
lcd.createChar(0, image17);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
}
void image(int eq, int ye) {
byte image17[8] = {B01110, B01110, B00100, B01110, B10101, B00100, B01010, B01010};
lcd.createChar(0, image17);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
}
void imagen(int eq, int ye) {
byte image17[8] = {B00001, B00001, B00000, B00001, B00010, B00000, B00001, B00001};
byte image18[8] = {B10000, B10000, B00000, B10000, B01000, B00000, B10000, B10000};
lcd.createChar(0, image17);
lcd.createChar(1, image18);
lcd.setCursor(eq, ye);
lcd.write(byte(0));
eq++;
lcd.setCursor(eq, ye);
lcd.write(byte(1));
}
void imp(int ninos,int ano){
int impreso=0,eq,ye;
lcd.setCursor(0, 0);
lcd.print(ano);
lcd.print(": ");
lcd.print(ninos);
lcd.print(" Ni");
lcd.print(ene);
lcd.print("os");
while(impreso<ninos){
if(impreso==0){
eq=0,ye=1;
}
image(eq,ye);
if(ninos>100){
delay(10);
}
else{
delay(50);
}
eq++;
impreso++;
if(eq==16){
/*if(ye==0){
ye=1;
}
else{
ye=0;
}*/
eq=0;
for(int x=0;x<17;x++){
lcd.setCursor(x, ye);
lcd.print(" ");
}
}
}
total=total+ninos;
}