Go Down

Topic: Ayuda con pequeño problema para guardar datos. (Read 67 times) previous topic - next topic

Daniel0017

Hola, mi proyecto es para la escuela, es muy simple, consta de 8 leds que por medio de la función switch hacen diferentes secuencias de variables, el detalle radica en que necesito poner forzosamente al inicio del programa una especie de seguridad la cual consta de pedirle al usuario su nombre y contraseña para poder ingresar a las funciones, y aquí el problema es que me marca problemas de compatibilidad o algo por el estilo, mas especifico al momento de pedirle al usuario su nombre en char la parte de "Serial.read" para guardar y posteriormente comparar con un arreglo de nombres que vienen siendo los usuarios permitidos, anexo la programación y la parte del problema específicamente hasta abajo.



String r;

int opcion=0, outpin[] = {13, 12, 11, 10, 9, 8, 7, 6};
char ud[3][6]={"Janet","Itzel","Elisa"}, ui[6]={" "},cd[3][8]={"versos3","poemas2","elvira1"},ci[8]={" "};// Variable que indica el numero de la secuencia a ejecutarse
int led1=13;
 int i=0,  b=0;
int led2=12;
int led3=11;
int led4=10;
int led5=9;
int led6=8;
int led7=7;
int led8=6;
int k=1;


void setup() {
 
 
   
   

Serial.begin(19200);
int i=0, k=1;
char ud[3][6]={"Janet","Itzel","Elisa"}, ui[6]={" "}, cd[3][8]={"versos3","poemas2","elvira1"},ci[8]={" "};int b=0;
for(i=0; i<8; i++)
pinMode(outpin, OUTPUT);
for(int i=2;i<=9;i++){ //indicamos los pines de salida
pinMode(i, OUTPUT);
pinMode (led1, OUTPUT);
  pinMode (led2, OUTPUT);
  pinMode (led3, OUTPUT);
  pinMode (led4, OUTPUT);
  pinMode (led5, OUTPUT);
  pinMode (led6, OUTPUT);
  pinMode (led7, OUTPUT);
  pinMode (led8, OUTPUT);
}
}

void loop() {int i=0, j=0, k=1; int  b=0; String r;
char ud[3][6]={"Janet","Itzel","Elisa"};
char cd[3][8]={"versos3","poemas2","elvira1"},ci[8]={""}, ui[6]={""};
 Serial.print("\nIngrese su nombre de usuario");
   ui = Serial.read();
    for(i=0;i<3;i++)
    {
        r=strcmp(ui,ud);
        if(r==0)
        {
            b=1;
        }
    }
    if(b==1)
    {
        Serial.print("Usuario encontrado, puede continuar\n");
    }
    else
    {
        Serial.print("Usuario no encontrado\n");
    }
if(opcion==1,2,3,4,5){
 
   while(opcion!=5){
  opcion=Serial.read();
 

  switch(opcion){
case '1':


for(i=0;i<17; i++){
  for(j=0; j<8; j++){
    if((( i >> j) & 1) == 1){
  digitalWrite(outpin[j], HIGH);
}
else digitalWrite (outpin[j], LOW);}
delay(300);}


break;
case'2':

for(int i=6; i<=13;i++){ //leo de 6 a 9
digitalWrite(i, HIGH); // prendo pin actual
 // prendo pin de la diferencia 11-6 = 5
delay(100); //retardo
}
for(int i=13; i>=6;i--){ // Al contrario de lo anterior
digitalWrite(i, LOW);

delay(250);
}


break;
case'3':
digitalWrite (led1, LOW);
digitalWrite (led2, HIGH);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, HIGH);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, HIGH);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, HIGH);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm
break;

case'4':
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, HIGH);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, HIGH);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, HIGH);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, LOW);
delay (500); // retardo de 500mm

digitalWrite  (led1, LOW);
digitalWrite  (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
digitalWrite (led7, LOW);
digitalWrite (led8, HIGH);
delay (500); // retardo de 500mm
break;
case'5': Serial.print("\n fin del programa");


break;

}}}}




void loop() {int i=0, j=0, k=1; int  b=0; String r;
char ud[3][6]={"Janet","Itzel","Elisa"};
char cd[3][8]={"versos3","poemas2","elvira1"},ci[8]={""}, ui[6]={""};
 Serial.print("\nIngrese su nombre de usuario");
   ui = Serial.read();       <------------------------------------------------ ahí es donde me marca  error
    for(i=0;i<3;i++)
    {
        r=strcmp(ui,ud);
        if(r==0)
        {
            b=1;
        }
    }
    if(b==1)
    {
        Serial.print("Usuario encontrado, puede continuar\n");
    }
    else
    {
        Serial.print("Usuario no encontrado\n");
    }

surbyte

Por favor, Lee las Normas del foro.
Coloca el código entre etiquetas


Respecto del código, con tanto delay tienes suerte que algo funcione.

Una pregunta y observa como se ve un código aunque sea una línea nada mas, asi debe quedar el tuyo

Code: [Select]
delay (500); // retardo de 500mm

que son 500mm?

Go Up