//autor JUAN ADRIAN OCHOA GALLEGOS
#define EN 4
#define RS 2
char dato=0;
char puertos[]={23,22,1,3,21,19,18,5,4,2};
char config[]={0x27,0x3c,0x0c,0x0F,0x01,0x06,0x02};
//char config2[]={0x01,0x01,0x01,0x0E};
char tiempos[]={15,5,1,1,1,1,1};
//mensj renglon sup
char mensaje1[]={"Ochoa Gallegos "}; //mensj long fija no mayor a 11bits
char mensaje2[]={"18052122  :) &"}; //long.variable


void setup(){
for (char k=0; k<= 9; k++){
    pinMode(puertos[k], OUTPUT);
}
digitalWrite(EN,LOW);
}
void display(unsigned char asci){
char i,j,m ;
m=7;
    for(i=0;i<=7;i++){
    j= pow(2,m);
    digitalWrite(puertos[i], (asci & j));
    m--;
    }
}
void loop(){
    char n;
    //------------------------------------------------------
    //configuración del LCD
    digitalWrite(RS,LOW);
    for(n=0; n<=7; n++){
            delay(tiempos[n]);
            digitalWrite(EN, HIGH);
            display (config[n]);
            digitalWrite(EN, LOW);
            delay(10);


    }
    //cambiar al moodo de datos rsen high, y enviamos mnsje 1
    digitalWrite(RS, HIGH);
    for(n=0;n<=16; n++){
        
        digitalWrite(EN,HIGH);
        display(mensaje1[n]);
        digitalWrite(EN,LOW);
        delay(350);

    }
    delay(1000);
    /*
    hacer que el cursor parpadee

    */
    //_-------------------------------------------------------
    //POSICIONAR EL AC EN EL 2DO RENGLON
    digitalWrite(RS, LOW);
    digitalWrite(EN, HIGH);
    display(0xc0);
    
    digitalWrite(EN, LOW);
    delay(10);
    digitalWrite(EN, HIGH);
    delay(1);
    

    //-------------------------------------------------------------
    //enviar el mensaje 2
    digitalWrite(RS, HIGH);
    char k=0;
    while(1){
        unsigned char caracter= mensaje2[k];
        if(caracter != 38){
            digitalWrite(EN, HIGH);
            display(mensaje2[k]);
            digitalWrite(EN, LOW);
            delay(10);
            k++;
        }
        else {break;}
    }
    //_---------------------------------------------------------
    while(1);
    //borrar todo y reposicionar cursor en el primer renglon
     
   
    //enviar 
delay(5000);
}
$abcdeabcde151015202530354045505560fghijfghij