BRICOLAGE sans fil aéroglisseur (équipe OZ) (10 / 11 étapes)

Étape 10 : Télécharger le programme Arduino

Utilisez un câble USB pour connecter l’Arduino à un ordinateur et un logiciel Arduino permet de télécharger les codes. Vous pouvez également télécharger le code de Github : https://github.com/susanxie123/hovercraft.git

 <p>#include <PS2X_lib.h> <ps2x_lib.h> //for v1.6<br>#include <Servo.h><servo.h> PS2X ps2x; // create PS2 Controller Class Servo ser; //right now, the library does NOT support hot pluggable controllers, meaning //you must always either restart your Arduino after you conect the controller, //or call config_gamepad(pins) again after connecting the controller. int error = 0; byte type = 0; byte vibrate = 0; int oil = 0; float ls=0; float rs=0; void setup(){ ser.attach(3); Serial.begin(57600); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); digitalWrite(4,HIGH); digitalWrite(6,LOW); digitalWrite(7,HIGH); digitalWrite(8,LOW); analogWrite(5,0); analogWrite(9,0); //CHANGES for v1.6 HERE!!! **************PAY ATTENTION************* error = ps2x.config_gamepad(13,11,10,12, true, true); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error if(error == 0){ Serial.println("Found Controller, configured successful"); Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;"); Serial.println("holding L1 or R1 will print out the analog stick values."); Serial.println("Go to www.billporter.info for updates and to report bugs."); } else if(error == 1) Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit www.billporter.info for troubleshooting tips"); else if(error == 2) Serial.println("Controller found but not accepting commands. see readme.txt to enable debug. Visit www.billporter.info for troubleshooting tips"); else if(error == 3) Serial.println("Controller refusing to enter Pressures mode, may not support it. "); //Serial.print(ps2x.Analog(1), HEX); type = ps2x.readType(); switch(type) { case 0: Serial.println("Unknown Controller type"); break; case 1: Serial.println("DualShock Controller Found"); break; case 2: Serial.println("GuitarHero Controller Found"); break; } }</servo.h></ps2x_lib.h></p><p>void loop(){ digitalWrite(4,HIGH); digitalWrite(6,LOW); digitalWrite(7,HIGH); digitalWrite(8,LOW); /* You must Read Gamepad to get new values Read GamePad and set vibration values ps2x.read_gamepad(small motor on/off, larger motor strenght from 0-255) if you don't enable the rumble, use ps2x.read_gamepad(); with no values you should call this at least once a second */ if(error == 1) //skip loop if no controller found return; if(type == 2){ //Guitar Hero Controller ps2x.read_gamepad(); //read controller if(ps2x.ButtonPressed(GREEN_FRET)) Serial.println("Green Fret Pressed"); if(ps2x.ButtonPressed(RED_FRET)) Serial.println("Red Fret Pressed"); if(ps2x.ButtonPressed(YELLOW_FRET)) Serial.println("Yellow Fret Pressed"); if(ps2x.ButtonPressed(BLUE_FRET)) Serial.println("Blue Fret Pressed"); if(ps2x.ButtonPressed(ORANGE_FRET)) Serial.println("Orange Fret Pressed"); if(ps2x.ButtonPressed(STAR_POWER)) Serial.println("Star Power Command"); if(ps2x.Button(UP_STRUM)) //will be TRUE as long as button is pressed Serial.println("Up Strum"); if(ps2x.Button(DOWN_STRUM)) Serial.println("DOWN Strum"); if(ps2x.Button(PSB_START)) //will be TRUE as long as button is pressed Serial.println("Start is being held"); if(ps2x.Button(PSB_SELECT)) Serial.println("Select is being held");</p><p> if(ps2x.Button(ORANGE_FRET)) // print stick value IF TRUE { Serial.print("Wammy Bar Position:"); Serial.println(ps2x.Analog(WHAMMY_BAR), DEC); } }</p><p> else { //DualShock Controller float leftspeed = 0; float rightspeed = 0; if(ps2x.Button(PSB_L2)) { digitalWrite(4,LOW); digitalWrite(6,HIGH); } if(ps2x.Button(PSB_R2)) { digitalWrite(7,LOW); digitalWrite(8,HIGH); } if(ps2x.Button(PSB_L1)) { leftspeed=255; } else { leftspeed=0; } if(ps2x.Button(PSB_R1)) { rightspeed=255; } else { rightspeed=0; } if(ps2x.Analog(PSS_LY)>130) { leftspeed=abs((ps2x.Analog(PSS_LY)-128.0)/128.0*255.0); digitalWrite(4,LOW); digitalWrite(6,HIGH); } if(ps2x.Analog(PSS_LY)<110) { leftspeed=abs((ps2x.Analog(PSS_LY)-128.0)/128.0*255.0); digitalWrite(4,HIGH); digitalWrite(6,LOW); } if(ps2x.Analog(PSS_RY)>130) { rightspeed=abs((ps2x.Analog(PSS_RY)-128.0)/128.0*255.0); digitalWrite(7,LOW); digitalWrite(8,HIGH); } if(ps2x.Analog(PSS_RY)<110) { rightspeed=abs((ps2x.Analog(PSS_RY)-128.0)/128.0*255.0); digitalWrite(7,HIGH); digitalWrite(8,LOW); } analogWrite(5,(int)leftspeed); ls=leftspeed; if(rightspeed>250.0){rightspeed=255.0;} analogWrite(9,(int)rightspeed); rs=rightspeed; ps2x.read_gamepad(false, vibrate); //read controller and set large motor to spin at 'vibrate' speed if(ps2x.Button(PSB_START)) //will be TRUE as long as button is pressed Serial.println("Start is being held"); if(ps2x.Button(PSB_SELECT)) Serial.println("Select is being held"); if(ps2x.Button(PSB_PAD_UP)) { //will be TRUE as long as button is pressed Serial.print("Up held this hard: "); leftspeed=255;rightspeed=255; Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC); if(abs(leftspeed - ls)>10) { analogWrite(5,leftspeed); ls=leftspeed; } if(abs(rightspeed-rs)>10) { rs=rightspeed; } } if(ps2x.Button(PSB_PAD_RIGHT)){ Serial.print("Right held this hard: "); Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC); } if(ps2x.Button(PSB_PAD_LEFT)){ Serial.print("LEFT held this hard: "); Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC); } if(ps2x.Button(PSB_PAD_DOWN)){ Serial.print("DOWN held this hard: "); Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC); } vibrate = ps2x.Analog(PSAB_BLUE); //this will set the large motor vibrate speed based on if (ps2x.NewButtonState()) //will be TRUE if any button changes state (on to off, or off to on) { if(ps2x.Button(PSB_L3)) Serial.println("L3 pressed"); if(ps2x.Button(PSB_R3)) Serial.println("R3 pressed"); if(ps2x.Button(PSB_L2)) Serial.println("L2 pressed"); if(ps2x.Button(PSB_R2)) Serial.println("R2 pressed"); if(ps2x.Button(PSB_GREEN)) Serial.println("Triangle pressed"); } if(ps2x.ButtonPressed(PSB_RED)) { //will be TRUE if butt on was JUST pressed Serial.println("Circle just pressed"); oil=oil+10; } if(ps2x.ButtonPressed(PSB_PINK)) { //will be TRUE if button was JUST pressed Serial.println("square just pressed"); oil=oil-10; } if(ps2x.ButtonPressed(PSB_GREEN)) { //will be TRUE if button was JUST pressed Serial.println("Circle just pressed"); oil=oil+1; } if(ps2x.ButtonPressed(PSB_BLUE)) { //will be TRUE if button was JUST pressed Serial.println("square just pressed"); oil=oil-1; } </p><p> if(ps2x.Button(PSB_L3) || ps2x.Button(PSB_R3)) { ser.write(oil-3); } else { ser.write(oil); } if(ps2x.ButtonReleased(PSB_PINK)) Serial.println("Square just released"); if(ps2x.NewButtonState(PSB_BLUE)) Serial.println("X just changed"); if(ps2x.Button(PSB_L1) || ps2x.Button(PSB_R1)) // print stick values if either is TRUE { Serial.print("Stick Values:"); Serial.print(ps2x.Analog(PSS_LY), DEC); //Left stick, Y axis. Other options: LX, RY, RX Serial.print(","); Serial.print(ps2x.Analog(PSS_LX), DEC); Serial.print(","); Serial.print(ps2x.Analog(PSS_RY), DEC); Serial.print(","); Serial.println(ps2x.Analog(PSS_RX), DEC); } } delay(50); }</p> 

Articles Liés

BRICOLAGE sans fil QI chargeur GM camion ou voiture 13 $

BRICOLAGE sans fil QI chargeur GM camion ou voiture 13 $

BRICOLAGE sans fil QI chargeur GM camion ou voiture 13 $vous pouvez le faire en environ 15 minutes avec des outils simples. Il y a aussi une partie 2 qui vous montre comment câbler dans la consoleCela fonctionne sur Chevy Silverado 2014-2016
BRICOLAGE sans fil manette de jeu (jeu sans fil)

BRICOLAGE sans fil manette de jeu (jeu sans fil)

Dans cette instructables, je vais vous montrer comment vous pouvez construire votre propre manette de jeu utilisant un émetteur-récepteur Arduino et RF. J'ai utilisé un module de manette de jeu et 5 boutons. À l'aide de la manette de jeu, vous pouvez
BRICOLAGE sans fil commutateur rc

BRICOLAGE sans fil commutateur rc

Bonjour les gars... !Dans ce instructable je vais vous montrer comment faire le commutateur sans fil...afin que vous puissiez contrôler les appareils AC sans fil (comme ventilateur, lumière, etc...) ...Tout d'abord, je vous dis que ce n'est pas une f
BRICOLAGE sans fil prises avec tous les nouveaux Prota OS

BRICOLAGE sans fil prises avec tous les nouveaux Prota OS

Bonjour, à thé !Nous avons récemment publié une nouvelle version de notre système d'exploitation de Prota pour Raspberry Pi avec nombreuses mises à jour importantes à la version précédente.Nous serions ravis de vous de le vérifier, nous avons décidé
Chargeur sans fil bricolage + NFC Dock pour votre voiture

Chargeur sans fil bricolage + NFC Dock pour votre voiture

C'est assez incroyable combien plus facile, c'est d'utiliser nos smartphones GPS ces jours-ci ! Mais quiconque fait cela régulièrement il saura vraiment drains votre batterie, il faut toujours garder sur charge quand vous êtes au volant.Ce projet vou
RÉNOVATION DE BATTERIES POUR OUTILS SANS FIL !

RÉNOVATION DE BATTERIES POUR OUTILS SANS FIL !

Je possède un nouveau combo sans fil 18 volts (forage et lampe de poche). J'ai aussi une perceuse âgée de 16,8 v avec deux batteries expirées. (Nous savons tous le prix élevé des batteries de remplacement.)J'ai eu à me poser quelques questions :1. ne
Autonome, sans fil contrôlée aéroglisseur

Autonome, sans fil contrôlée aéroglisseur

il s'agit d'une instructable qui vous emmène à travers un ensemble mois et demi de travail, concevoir et créer un wirelessly contrôlée aéroglisseur modulaire, qui peut être contrôlé avec un contrôleur RC, ou fait totalement autonome. Je vais vous gui
Sans fil contrôlé aéroglisseur (Wonder4)

Sans fil contrôlé aéroglisseur (Wonder4)

L'aéroglisseur est le dispositif qui peut voyager par voie terrestre sans roues. En raison de l'enthousiasme pour le génie et l'exigence du parcours Vg100, nous, quatre étudiants de UM-SJTU Joint Institute, a formé l'équipe Wonder4 et nos propres aér
BRICOLAGE 2G / 3G / 4G: le téléphone cellulaire sans fil de signal booster

BRICOLAGE 2G / 3G / 4G: le téléphone cellulaire sans fil de signal booster

Avant de commencer. Où dormir est un domaine rural., réception de signal de téléphone cellulaire est un cauchemar. 1 bar ou pas de service, le mieux que je peux obtenir est de 2 bars. Après une longue recherche pour une solution, essais et erreurs. D
BRICOLAGE piles de téléphone sans fil

BRICOLAGE piles de téléphone sans fil

mon téléphone à la maison est maintenant plus de 1,5 ans, j'ai trois récepteurs sans fil. Le téléphone à l'étage (voir les photos) a été le récepteur le plus souvent utilisé. Récemment, bien qu'il soit sur le chargeur toute la journée, le récepteur t
Comment réparer batterie Rebuild bricolage énergie verte énergie maison pour perceuse sans fil

Comment réparer batterie Rebuild bricolage énergie verte énergie maison pour perceuse sans fil

Comment réparer batterie Rebuild bricolage énergie verte énergie maison pour perceuse sans filPerceuses sans fil atteint leur vitesse de croisière lorsque les fabricants introduit la batterie lithium-ion il y a plusieurs années. Ces batteries combine
Bricolage Comment installer conduit de lumière zénithale avec télécommande sans fil

Bricolage Comment installer conduit de lumière zénithale avec télécommande sans fil

Lumière zénithale bricolage Howto Install LED avec télécommande sans fil
Comment faire une perceuse électrique sans fil MODED / Tutorial / bricolage

Comment faire une perceuse électrique sans fil MODED / Tutorial / bricolage

https://www.youtube.com/watch?v=CBQyrM_kJpw&feature=youtu.beÉtape 1: Faire une perceuse électrique sans fil MODED vous devez ! Aujourd'hui, on améliorera un tournevis électrique ancien, fidèle et inoubliable pouvant vous servir toujours fidèlement, e
Comment faire un casque filaire sans fil bricolage

Comment faire un casque filaire sans fil bricolage

De nos jours, everthing est sans fil tous les gadgets comme les souris, clavier, casque, haut-parleurs etc.. Si j'avais eu une idée pour faire un casque filaire / écouteurs sans fil à domicile, à peu d'argent avec le vieux casque. Casque sans fil est