Étape 10 : Félicitations ! Vous avez terminé votre aéroglisseur DIY !
Vos commentaires :
Soyez prudent lors d’un virage à votre aéroglisseur car propulsion trop forte peut faire l’aéroglisseur aller hors de contrôle. Ajuster la direction peu à peu.
Annexe a :
Codes pour Arduino Mega 2560 :
//-----------------------------------------------------------------------------------------------------------------------------
#include //for v 1.6
#include
PS2X ps2x ;
Servo myservo ;
Servo dservo ;
Servo servo1 ;
erreur d’int = 0 ;
int p, q = 0 ;
int i = 0, d = 0, m = 0 ;
type d’octets = 0 ;
vibrer octets = 0 ;
map1 int = 48, mapp1 = 64 ;
map2 int = 34, mapp2 = 78 ;
int stable = 144 ;
int val = 56, val2 = 56 ;
void setup() {}
SERVO1.Attach(4) ;
myservo.Attach(3) ;
dservo.Attach(5) ;
Delay(1000) ;
myservo.Write(133) ;
Delay(1000) ;
pour (i = 0; i < 180; i ++) {}
dservo.Write(i) ;
Delay(20) ;
}
Serial.Begin(57600) ;
erreur = ps2x.config_gamepad (13,11,10,12, true, true) ; //
type = ps2x.readType() ;
{Switch(type)}
case 0 :
Serial.println ("type de contrôleur inconnu") ;
rupture ;
cas 1 :
Serial.println ("manette DUALSHOCK trouvé") ;
rupture ;
cas 2 :
Serial.println ("GuitarHero contrôleur trouvé") ;
rupture ;
}
SERVO1.Write(143) ;
}
void loop() {}
erreur = ps2x.config_gamepad (13,11,10,12, true, true) ;
if(Error == 3|| erreur == 1) / / boucle si aucun contrôleur de trouvé
retour ;
if(type == 2) {//Guitar Hero contrôleur
ps2x.read_gamepad() ; lu contrôleur
if(ps2x. ButtonPressed(STAR_POWER))
Serial.println ("Star Power Command") ;
if(ps2x. Button(UP_STRUM)) {//will être vrai tant que le bouton est enfoncé
Serial.println ("Strum") ;
}
if(ps2x. Button(DOWN_STRUM))
Serial.println ("DOWN Strum") ;
if(ps2x. Button(PSB_START)) //will être vrai tant que le bouton est enfoncé
Serial.println ("Start a lieu") ;
if(ps2x. Button(PSB_SELECT))
Serial.println ("Select a lieu") ;
if(ps2x. Button(ORANGE_FRET)) / / print bâton valeur si vrai
{
Serial.Print ("Position de la barre de Wammy:") ;
Serial.println (ps2x. Analog(WHAMMY_BAR), DEC) ;
}
}
else {//DualShock contrôleur
ps2x.read_gamepad (false, vibreur) ;
if(ps2x. Button(PSB_START))
Serial.println ("Start a lieu") ;
if(ps2x. {Button(PSB_SELECT))}
Serial.println ("Select a lieu") ;
}
if(ps2x. {Button(PSB_RED))}
SERVO1.Write(stable) ;
Delay(20) ;
p = 0 ;
q = 0 ;
}
if(ps2x. {Button(PSB_PINK))}
stable = stable + 1 ;
SERVO1.Write(stable) ;
}
if(ps2x. {Button(PSB_GREEN))}
stable = stable-1 ;
SERVO1.Write(stable) ;
}
if(ps2x. Button(PSB_PAD_UP)) {//will être vrai tant que le bouton est enfoncé
Serial.Print ("Up, qui s’est tenue ce dur:") ;
Serial.println (erreur) ;
}
if(ps2x. {Button(PSB_PAD_RIGHT))}
Serial.Print ("droit tenue c’est dur:") ;
Serial.println (erreur) ;
}
if(ps2x. {Button(PSB_PAD_LEFT))}
Serial.Print ("gauche tenue c’est dur:") ;
Serial.println (erreur) ;
}
if(ps2x. {Button(PSB_PAD_DOWN))}
Serial.Print (« DOWN, qui s’est tenue ce dur: ") ;
Serial.println (erreur) ;
}
vibrer = ps2x. Analog(PSAB_BLUE) ;
Val = carte (ps2x. Analog(PSS_LY),0,255,Map1,mapp1) ;
myservo.Write(Val) ;
Delay(20) ;
val2 = carte (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) ;
}
//-----------------------------------------------------------------------------------------------------------------------------
Annexe b :
Référence :
Geek-atelier [en ligne]. C2012 [mise à jour de 2012December4 ; consulté 2014 le 30 juin]. Disponible à: http://www.geek-workshop.com/thread-172-1-1.html