Paso 5: Programar el Arduino
Abra el Software de Arduino
Ahora necesita decodificar los datos de Multi FSX. Aquí está el código y explicación para ayudar a empezar.
Recoger el primer carácter del programa Multi FSX y devolverlo
char getChar() {}
while(serial.Available() == 0);
Return((Char)serial.Read());
}
Determinar el tipo de datos está empezando con el primer carácter (? o <)
Si (Serial.available()) {}
CodeIn = getChar();
Si (CodeIn == ' <') {}
LESSTHAN();
}
Si (CodeIn == '?') {
QUESTION();
}
}
}
¿Si es un? el ir a este método
void QUESTION() {}
CodeIn = getChar();
Determinar lo que la letra es para decodificar más
{Switch(CodeIn)}
Luz de aterrizaje
caso 'Y':
En este caso se consigue los siguiente 3 personajes y guardarlos en una variable de cadena
luego coloque la luz de engranaje a activar o desactivar dependiendo de los datos
gearSimple = "";
gearSimple += getChar();
gearSimple += getChar();
gearSimple += getChar();
Si (gearSimple == "2") {}
digitalWrite (2, alto);
}
Else {}
digitalWrite (2, bajo);
}
Este caso será obtener los datos de aceleración y guardar los siguientes 6 caracteres en una cadena
caso 'x':
Rollos = "";
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
la cadena se convierte a un float a utilizar al mover los motores
rollAccel = rollS.toFloat();
Asegúrese de que las variables son ambas las mismas y sin errores
Serial.println (rollos + ":" + rollAccel);
rotura;
}
Con el servo de rotación continua que utilizamos en un diseño pequeño y luego corremos el motor utilizando:
9:50 es la aceleración de vuelo X. Era bastante lento por lo tanto: x2
rollservo.writeMicroseconds (1492 + (rollAccel * 2);