Paso 4: Programar el Arduino
Aquí está la programación para controlar servomotores pequeños ya volar un avión en tiempo real. Se moverán al girar. Esta programación también controla un led indicador para el tren de aterrizaje, un orador para una advertencia de parada y un botón cambiar también el tren de aterrizaje.Depende de usted para programar los actuadores de tamaño completo!
#include
#include
Servo pitchservo;
int rollVal = 0;
Servo rollservo;
int pitchVal = 0;
int CodeIn;
int flapsINT;
int rollInt;
int pitchInt;
int gForceInt;
int stallInt = 0;
Cadena de KoldpinStateSTR, KpinStateSTR, Kstringnewstate, Kstringoldstate;
Cadena de gearSimple, aletas, flapsOld, rodillos, todas, gForceS, puestos;
void setup()
{
pinMode (2, salida); engranaje de nariz LED
pinMode (5, salida); engranaje de nariz en transición LED
pinMode(12,OUTPUT); ADVERTENCIA de parada
rollservo.Attach(8);
pitchservo.Attach(11);
Serial.Begin(115200);
}
void loop() {}
Serial.println(stallInt);
stallInt = 0;
pitchVal = mapa (pitchInt, -25, 25, 0, 179);
Si (rollInt > -90 y rollInt < 90)
{rollVal = mapa (rollInt, -10, 10, 0, 179);}
Else {rollVal = 90;}
pitchservo.Write(pitchVal);
rollservo.Write(rollVal);
Si (puestos == "1")
{tone(12,140);}
Else{noTone(12);}
Si (Serial.available()) {}
CodeIn = getChar();
Si (CodeIn == ' <') {LESSTHAN();}
Si (CodeIn == '?') {QUESTION();}
}
}
char el getChar()
{
while(serial.Available() == 0);
Return((Char)serial.Read());
}
void LESSTHAN() {}
CodeIn = getChar();
{Switch(CodeIn)}
caso 'F':
gForceS = "";
gForceS += getChar();
gForceS += getChar();
gForceS += getChar();
gForceInt = gForceS.toInt();
rotura;
de caso ':
Puestos = "";
Puestos = "";
Puestos = "";
Puestos += getChar();
Serial.Print ("String:" + puestos);
stallInt = stallS.toInt();
Serial.println ("Int:" + stallInt);
rotura;
}
}
void QUESTION() {}
CodeIn = getChar();
{Switch(CodeIn)}
caso 'Y':
gearSimple = "";
gearSimple += getChar(); / / obtener primer carácter (engranaje de nariz)
Si (gearSimple == "2") {digitalWrite (2, alto);} Else {digitalWrite (2, LOW);}
Si (gearSimple == "1") {digitalWrite (5, alto);} Else {digitalWrite (5, LOW);}
caso 'y':
Todas = "";
Todas += getChar();
Todas += getChar();
Todas += getChar();
Todas += getChar();
Todas += getChar();
Todas += getChar();
pitchInt = pitchS.toInt();
rotura;
caso 'x':
Rollos = "";
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
Rollos += getChar();
rollInt = rollS.toInt();
rotura;
}
} / / fin del vacío de la pregunta