vale.... me he dado cuenta que se pueden solucionar muchas cosas con google y buscando error por error para encontrar una solución . Ademas siempre encuentro otras cosas que me ayudan para otras cosas.
Pero esto no he podido encontrar nada.. te pido disculpas porque estoy seguro de que es una tontería !
laser:15: error: expected initializer before 'str'
int char buffer str[30};
^
laser:15: error: expected declaration before '}' token
int char buffer str[30};
^
exit status 1
expected initializer before 'str'
/*
Código desarrollado por LEANTEC Robotics & Electronics.
Queda permitido el uso de este código siempre que sea sin ánimo de lucro
*/
// incluir libreria
#include <LiquidCrystal.h>
//Declaramos las variables necesarias
int numero = 0;
int auxnumero = 0;
int valorLDR = 0;
int char buffer str[30};
const byte sensorPinLDR = A0;
const byte pinBOTON1 = 2;
const byte pinBOTON2 = 3;
bool sumo, sumoAnt;
bool resto, restoAnt;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Declaramos los pines que usa nuestra pantalla(RS,E,D4,D5,D6,D7)
void setup() {
pinMode(pinBOTON1, INPUT);
pinMode(pinBOTON2, INPUT);
lcd.begin(16, 2);//Iniciamos la pantalla y le decimos el numero de caracteres y filas
lcd.setCursor(5, 0);//Situamos el lugar donde empezar la escritura
lcd.print("LEANTEC");//Escribimos LEANTEC
delay (2000);//Esperamos dos segundos
lcd.clear();//Limpiamos la pantalla
lcd.setCursor(0, 0);
lcd.print("Robotics &");
delay (2000);
lcd.setCursor(5, 1);
lcd.print("Electronics");
delay (2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CONTADOR CON");
delay (2000);
lcd.setCursor(3, 1);
lcd.print("BARRERA LASER");
delay (3000);
lcd.clear();
}
void loop() {
sumo = digitalRead(pinBOTON1);
if (sumo && !sumoAnt) {
numero++;
}
sumoAnt = sumo;
resto = digitalRead(pinBOTON2);
if (resto && !restoAnt) {
numero--;
}
restoAnt = resto;
valorLDR = analogRead(sensorPinLDR);// Leemos el valor de la LDR y lo guardamos en valorLDR
lcd.setCursor(0, 0);//Situamos el lugar donde escribiremos
sprintf(buffer,"Contador= %3d", numero);
lcd.print(buffer);
auxnumero = 0;//hacemos la variable auxnumero 0. Esta variable nos ayuda a contar solo 1 cada vez que entremos en el bucle de más abajo
while (valorLDR < 600){//Entramos en el bucle si valorLDR es menor de 600. Esto ocurre cuando no da el laser sobre la LDR.
valorLDR = analogRead(sensorPinLDR);// Leemos el valor de la LDR y lo guardamos en valorLDR
if (auxnumero == 0){// Entramos en el if si auxnumero es 0. Esto solo ocurre la primera vez que recorremos el while.
numero++;//Sumamos 1 a la variable numero
auxnumero = 1;//hacemos auxnumero 1, para que solo sume una vez 1 a la variable numero cuando estamos dando vueltas dentro del bucle.
}
}
}
Muchas gracias!