Arduino Forum

International => Español => Software => Topic started by: sinhue on May 27, 2016, 07:41 am

Title: ERROR de compilacion extraño
Post by: sinhue on May 27, 2016, 07:41 am
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
Title: Re: ERROR de compilacion extraño
Post by: irvingtg on Aug 06, 2016, 12:16 am
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.
Title: Re: ERROR de compilacion extraño
Post by: nefta on Aug 22, 2016, 08:58 pm
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
Title: Re: ERROR de compilacion extraño
Post by: Jnavarro89 on Feb 28, 2017, 10:57 am
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.
Title: Re: ERROR de compilacion extraño
Post by: surbyte on Feb 28, 2017, 05:15 pm
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.