Hola, estoy haciendo un proyecto de ajedrez mecánico y uso una Arduino Uno como "cerebro" del proyecto.
El problema surge cuando intento hacer un mapeo digital del tablero, osea a cada casilla del tablero la marco como un entero(int), con "A1", "A2", "A3", etc, me había surgido el problema de que la Arduino usaba esos nombres variables para las entradas analógicas, pero lo pude resolver modificando un archivo de la Arduino.
Ahora el problema que me surge es cuando quiero definir con el nombre de "B1", con "B2", "B3" y para adelante no tengo problema, pero con "B1" si.
Me salta este error:
error: expected unqualified-id before numeric constant
Si alguien sabe que usa la Arduino como B1 y sabe donde esta el archivo para modificarlo o sabe de que manera puedo solucionarlo me vendria de mucha ayuda
¿Y por qué en vez de complicarte tanto no agregas otra letra o palabra antes de tu variable?
No es muy recomendado cambiar los nombres de las variables usadas por el sistema, en un futuro te puedes enfrentar a otro problema y no vas a saber el por qué.
int TAB_A1;
int TAB_A2;
int TAB_A3;
int TAB_B1;
int TAB_B2;
Si alguien sabe que usa la Arduino como B1 y sabe donde esta el archivo para modificarlo o sabe de que manera puedo solucionarlo me vendria de mucha ayuda
Como te dice gepd, no te compliques.
Y si alteras eso luego tendrás problemas a futuro con otras cosas que vayan a usar B1 y resulta que tu lo cambiaste.
Sigue la sugerencia y adelante con el proyecto.
Si, la cosa era que luego lo comparaba con unos datos que ingresaba y me era mas facil ya eran iguales, pero bueno lo intentare de otra manera
Muchas gracias por responder
si de usar B1, B2, B3... etc. Mejor utiliza un array unidimencional, o vector como le quieras llamar ejemplo:
int B[4]={1,2,3,4}; //inicias un array o vector con una longitud de 4 datos, del dato 0 al 3, el array lleva por
//nombre B[i], donde "i" es la longitud que desees.
//De llado derecho al array asignas valores a cada "casilla del vector", cada casilla llevara un
//entero por que asi fue defonido el array completo.
//Los valores de cada casilla pueden ser definidos de esta manera o dentro del codigo asi :
//B[3]=546;
Serial.println("B1=" +B[1]); //en esta zona solo regresamos el valor de cada casilla del array y lo imprimimos en
Serial.println("B2=" +B[2]); //pantalla.
Serial.println("B3=" +B[3]);
Serial.println("B4=" +B[4]);
Seria buen idea intentarlo con tu programa, existen arrays tambien bi y tridimencionales, te aorrarias definir tantas variables.