Paso 10: Felicitaciones! Que ha terminado su propio aerodeslizador bricolaje!
Comentarios:
Tenga cuidado al hacer un giro a su aerodeslizador porque propulsión demasiado fuerte puede hacer que el aerodeslizador ir fuera de control. Ajuste la dirección poco a poco.
Apéndice A:
Códigos para Arduino Mega 2560:
//-----------------------------------------------------------------------------------------------------------------------------
#include //for v 1.6
#include
PS2X ps2x;
Servo myservo;
Servo dservo;
Servo1 servo;
error de int = 0;
int p, q = 0;
int i = 0, d = 0, m = 0;
tipo byte = 0;
vibrar de byte = 0;
map1 int = 48 mapp1 = 64;
map2 int = 34, mapp2 = 78;
int estable = 144;
int val = 56, val2 = 56;
void setup() {}
servo1.Attach(4);
myservo.Attach(3);
dservo.Attach(5);
Delay(1000);
myservo.Write(133);
Delay(1000);
para (i = 0; i < 180; i ++) {}
dservo.Write(i);
Delay(20);
}
Serial.Begin(57600);
error = ps2x.config_gamepad (13,11,10,12, true, true); //
tipo = ps2x.readType();
{Switch(Type)}
caso 0:
Serial.println ("tipo de controlador desconocido");
rotura;
caso 1:
Serial.println ("controlador DualShock encontrado");
rotura;
caso 2:
Serial.println ("GuitarHero controlador encontrado");
rotura;
}
servo1.Write(143);
}
void loop() {}
error = ps2x.config_gamepad (13,11,10,12, true, true);
if(error == 3|| error == 1) / / si no encuentra ningún controlador de bucle
retorno;
if(Type == 2) {//Guitar mando de Hero
ps2x.read_gamepad(); leer control
if(ps2x. ButtonPressed(STAR_POWER))
Serial.println ("Star Power comando");
if(ps2x. Button(UP_STRUM)) {//will ser verdadero como es el pulsador
Serial.println ("para arriba rasgueo");
}
if(ps2x. Button(DOWN_STRUM))
Serial.println ("abajo rasgueo");
if(ps2x. Button(PSB_START)) //will ser verdadero como es el pulsador
Serial.println ("Start se celebra");
if(ps2x. Button(PSB_SELECT))
Serial.println ("Select se celebra");
if(ps2x. Button(ORANGE_FRET)) / / imprimir palo valor si verdadero
{
Serial.Print ("Wammy Bar posición:");
Serial.println (ps2x. Analog(WHAMMY_BAR), DEC);
}
}
Else {//DualShock controlador
ps2x.read_gamepad (false, vibración);
if(ps2x. Button(PSB_START))
Serial.println ("Start se celebra");
if(ps2x. {Button(PSB_SELECT))}
Serial.println ("Select se celebra");
}
if(ps2x. {Button(PSB_RED))}
servo1.Write(stable);
Delay(20);
p = 0;
q = 0;
}
if(ps2x. {Button(PSB_PINK))}
estable = estable + 1;
servo1.Write(stable);
}
if(ps2x. {Button(PSB_GREEN))}
estable: estable-1;
servo1.Write(stable);
}
if(ps2x. Button(PSB_PAD_UP)) {//will ser verdadero como es el pulsador
Serial.Print ("Up celebrado este duro:");
Serial.println (error);
}
if(ps2x. {Button(PSB_PAD_RIGHT))}
Serial.Print ("derecho lugar duro:");
Serial.println (error);
}
if(ps2x. {Button(PSB_PAD_LEFT))}
Serial.Print ("izquierda llevó a cabo esta difícil:");
Serial.println (error);
}
if(ps2x. {Button(PSB_PAD_DOWN))}
Serial.Print ("DOWN celebró este duro:");
Serial.println (error);
}
vibración = ps2x. Analog(PSAB_BLUE);
Val = mapa (ps2x. Analog(PSS_LY),0,255,map1,mapp1);
myservo.Write(Val);
Delay(20);
val2 = mapa (ps2x. Analog(PSS_LY),0,255,MAP2,mapp2);
dservo.Write(val2);
Delay(20);
if(ps2x. Button(PSB_L1)) {}
servo1.Write(stable-16); }
if(ps2x. Button(PSB_L2)) {}
p = p + 1;
servo1.Write(stable+5*(q-p)); }
if(ps2x. {Button(PSB_R1))}
servo1.Write(stable+16); }
if(ps2x. {Button(PSB_R2))}
q = q + 1;
servo1.Write(stable+5*(q-p)); }
}
Delay(50);
}
//-----------------------------------------------------------------------------------------------------------------------------
Apéndice B:
Referencia:
Taller de Geek [Internet]. C2012 [actualizado 2012December4; citado el 30 de junio 2014]. Disponible desde: http://www.geek-workshop.com/thread-172-1-1.html