Muy buenas a todos/as.
Aunque me dedico a otras cosas, a veces me toca lidiar con cosas que no domino del todo bien y, justo, este es el caso.
Despues de mucho investigar sobre un robot kuka que mi jefe quiere que ponga a andar, se me ha encendido una bombillita y creo que puedo comandarlo con un arduino (no os voy a aburrir con los por menores).
El caso es que inocente de mi, me puse a hacer el codigo todo convencido hasta que pense: realmente coge los valores que le respondo a las preguntas o no?. Pues el caso es que no.
Os cuento un poco:
la cosa es que le hago una serie de preguntas:
-largo.
-ancho.
-cortes en largo.
-cortes en ancho.
Pongo los valores, y al imprimirlos por pantalla me dice que el valor "largo" es -1 cuando yo he escrito 1000, y asi con todos.
Os pongo el codigo con los calculos que tiene que hacer despues por si os resultan de utilidad.
El codigo no esta acabado pero compila bien lo que esta y es lo que quiero solucionar.
Gracias por la atencion.
const int pin12 = 12; // Led al pin 12
const int pin1= 1;
int a1f,a2f,a3f;
int a1, a2, a3;
int lectura_largo;
int lectura_ancho;
int lectura_cortes_largo;
int lectura_cortes_ancho;
int marca_datos=0;
int val; //variable para leer el dato
int i;
int preguntas=1;
int hora;
float a,b,c,d;
void setup() {
Serial.begin(9600);
pinMode(pin12, INPUT);
pinMode (pin1, INPUT);
}
void loop() {
lectura_datos();
calculo_posiciones();
inicio();
control();
}
void lectura_datos() {
Serial.println("Introduzca largo del tablero");
while(Serial.available())
Serial.read();
while (Serial.available()<= 0) {
char a=Serial.read();
delay (500);
}
Serial.println("Introduzca ancho del tablero");
while(Serial.available())
Serial.read();
while (Serial.available() <= 0) {
lectura_ancho = Serial.read();
delay (500);
}
Serial.println("Introduzca numero de cortes a lo largo");
while(Serial.available())
Serial.read();
while (Serial.available() <= 0) {
lectura_cortes_largo = Serial.read();
delay (500);
}
Serial.println("Introduzca numero de cortes a lo ancho");
while(Serial.available())
Serial.read();
while (Serial.available() <= 0) {
lectura_cortes_ancho = Serial.read();
delay (500);
}
}
void calculo_posiciones()
{
lectura_cortes_largo=lectura_cortes_largo + 1;
lectura_cortes_ancho=lectura_cortes_ancho +1;
a1f=((lectura_largo/lectura_cortes_largo)/2)/3,6;
a1f=a1;
a2f= ((lectura_ancho/lectura_cortes_ancho)/2)/5;
a2f=a2;
}
void inicio() //SALTO CON PULSACION DE ENTRADA.
{
const byte buttonPin = 2; //direccion sin determinar
pinMode(buttonPin, INPUT_PULLUP);
while (digitalRead(pin12) == HIGH)
{}
while (digitalRead(pin1)==HIGH)
{}
for (int Pin12=true;++i;);
}
void control ()
{
}