Go Down

Topic: ERROR de compilacion extraño (Read 2500 times) previous topic - next topic

sinhue

Buen dia a todos espero puedan ayudarme me surgio este error en un programa que realice pero lo curioso es que el problema anteriormente no me daba problemas, expongo lo que aparece:

Arduino:1.6.9 (Windows 10), Tarjeta:"Arduino/Genuino Uno"

La Librería no puede usar ambas carpetas 'src' y 'utilidad'. Doble marcado C:\Users\jagua_000\Arduino\libraries\Keypad
Se encontraron múltiples librerías para "LiquidCrystal_I2C.h"
Usado: C:\Users\jagua_000\Arduino\libraries\LiquidCrystal_I2C
 No usado: C:\Users\jagua_000\Arduino\libraries\arduino_649337
Se encontraron múltiples librerías para "Servo.h"
Usado: C:\Users\jagua_000\Arduino\libraries\Servo
 No usado: C:\Users\jagua_000\arduino-1.6.9\libraries\Servo

Error compilación en tarjeta Arduino/Genuino Uno.

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

y el código es el siguiente

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Key.h>
#include <Keypad.h>
#include <Servo.h>
#include <EEPROM.h>

int comp (char v[]);
void warning();
void newcontrasena();

const byte filas= 4;
const byte columnas= 4;

char keys[filas][columnas]= {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte filaspins[filas]= {9,8,7,6};
byte columnaspins[columnas]= {5,4,3,2};

Keypad teclado= Keypad(makeKeymap(keys), filaspins, columnaspins, filas, columnas);
LiquidCrystal_I2C lcd(0x27,16,2);

Servo cerradura;

char pass1[]= {'1','2','3','4'};
char pass2[5];
char aux;

void setup() {
  lcd.begin(16,2);
  lcd.init();
  lcd.backlight();
  cerradura.attach(11);
  Serial.begin(9600);

 /* for (int i=0; i < 4; i++) {
    EEPROM.write(i, pass1);
  }*/

  for (int j= 0; j < 4; j++) {
    pass1[j]= EEPROM.read(j);
  }

}

void loop() {
  int i=0, j=0, f=0, a=0, k=0;

  cerradura.write(90);
  lcd.setCursor(4,0);
  lcd.print("*CERRADO*");

  aux= teclado.getKey();
 
  if (aux != NO_KEY) {
    switch(aux) {
      case 'A':

      while (f < 3 && aux != 'D') {
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Ingrese clave");
        lcd.setCursor(6,1);

        for (j=0; j < 4; j++) {
          pass2[j]= teclado.waitForKey();
          lcd.print("*");
          delay(100);
        }

        a = comp(pass2);

        switch(a) {
          case 4:

          lcd.clear();
          lcd.setCursor(1,0);
          lcd.print("CLAVE CORRECTA");
          digitalWrite(10,HIGH);
          aux= teclado.waitForKey();
          lcd.clear();

          if (aux == 'D') {
            lcd.clear();
            lcd.setCursor(0,1);
            lcd.print("ACCESO PERMITIDO");
            cerradura.write(15);
            delay(7000);
            digitalWrite(10,LOW);
            lcd.clear();
          }

          break;

        }

        if ( a < 4) {
          lcd.clear();
          lcd.setCursor(1,0);
          lcd.print("ERROR DE CODIGO");
          lcd.setCursor(0,1);
          lcd.print("INTENTE DE NUEVO");
          f++;
          delay(1000);
          lcd.clear();
         
        }

      }

      break;

      case 'C':

      newcontrasena();

      break;
     
    }

  }

    if (f == 3) {
      warning();
    }
  }
 

 


int comp (char v[]) {
  int k=0,w=0;

  for (k=0; k < 4; k++) {
    if (pass1[k] == v[k]) {
      w++;
    }
  }

  return w;
}

void newcontrasena () {
  int x=0,j;

  lcd.setCursor(0,0);
  lcd.print("Anterior Clave");
  lcd.setCursor(6,1);

  for (j=0; j < 4; j++) {
    pass2[j] = teclado.waitForKey();
    lcd.print("*");
    delay(100);
  }

  x= comp(pass2);

  if (x== 4) {
    lcd.clear();
    lcd.setCursor(1,0);
    lcd.print("Nueva Clave");
    lcd.setCursor(6,1);

    for (int i=0; i < 4; i++) {
      pass1= teclado.waitForKey();
      lcd.print("*");
      EEPROM.write(i, pass1);
      delay(100);
    }

    lcd.clear();
  }

  else {
    lcd.clear();
    lcd.setCursor(1,0);
    lcd.print("ERROR DE CODIGO");
    lcd.setCursor(0,1);
    lcd.print("INTENTE DE NUEVO");
    lcd.clear();
    delay(1000);
   
  }
 
}

void warning () {
  lcd.setCursor(4,0);
  lcd.print("Alerta ");
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
  delay(30000);
  digitalWrite(13, LOW);
  digitalWrite(12,LOW);
 
}

quisiera saber como solucionar este problema y desde ya agradezco cualquier ayuda que me puedan brindar

irvingtg

Tengo el mismo problema, error al transferir a Arduino, al parecer es cuando trabaja en conjunto el LCD y Servo /Motor a Pasos, separo el código del Servo/Motor PaP con el código del LCD trabaja normal pero no lo he solucionado. Compila correctamente pero no transfiere.

nefta

Hola,

Llevo toda la tarde con el mismo error. He encontrado poco al respecto pero después de darle vueltas lo he resuelto borrando la libreria y volviendo a instalarla. En mi caso era SD. Da la sensación de ser un bug, aunque tampoco he investigado más una vez se ha resuelto. Supongo que en tu caso la libreria podría ser otra. Te sugiero que pruebes con las que utilizas una a una para ver si es alguna de ellas.

Suerte

Un saludo

Jnavarro89

Buenos dias,

Tengo un problema para poder hacer funcionar la placa arduino con el ordenador no la reconoce y me da error

El Sketch usa 3018 bytes (9%) del espacio de almacenamiento de programa. El máximo es 32256 bytes.
Las variables Globales usan 257 bytes (12%) de la memoria dinámica, dejando 1791 bytes para las variables locales. El máximo es 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.


Si por favor alguien me puede ayudar.

Un saludo.

surbyte

#4
Feb 28, 2017, 05:15 pm Last Edit: Feb 28, 2017, 05:16 pm by surbyte
Antes de escribir tenías una advertencia Warning  que desobedeciste.

Por favor crea un hilo nuevo con tu inquietud. Pero no respondas hilos que tengan mas de 4 meses sin cambios.

Lee las normas del foro.

Gracias.


Go Up