start:arduino:manette_ps2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
start:arduino:manette_ps2 [2022/05/09 16:47] – [Interfaçage de la manette PS2 avec Arduino] gerardadmin | start:arduino:manette_ps2 [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 35: | Ligne 35: | ||
Nous avons interfacé la manette PS2 avec un Arduino. À chaque pression sur un bouton, l' | Nous avons interfacé la manette PS2 avec un Arduino. À chaque pression sur un bouton, l' | ||
+ | === Détails de connexion :=== | ||
+ | La ligne CLK et les lignes ATT du récepteur PS2 sont maintenues normalement hautes. L'ATT fonctionne comme la ligne Slave Select sous SPI. Vous le tirez vers le bas pour dire au contrôleur que vous lui parlez, puis le renvoyez vers le haut une fois qu'un cycle de communication est terminé. CMD est la ligne de données vers le contrôleur et DATA est les données provenant du contrôleur. Ici, dans notre application, | ||
+ | <code c PS2_Arduino.ino> | ||
+ | #include < | ||
+ | PS2X ps2x; /* create PS2 Controller Class*/ | ||
+ | byte Type = 0; | ||
+ | byte vibrate = 0; | ||
+ | int rx=0, | ||
+ | void setup(){ | ||
+ | | ||
+ | | ||
+ | Type = ps2x.readType(); | ||
+ | | ||
+ | |||
+ | Serial.println(" | ||
+ | | ||
+ | Serial.println(" | ||
+ | delay(1000); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | void loop(){ | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | ly = ps2x.Analog(PSS_LY); | ||
+ | lx = ps2x.Analog(PSS_LX); | ||
+ | ry = ps2x.Analog(PSS_RY); | ||
+ | rx = ps2x.Analog(PSS_RX); | ||
+ | |||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | Serial.print(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | Serial.print(" | ||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | Serial.println(" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | if(ps2x.Button(PSB_START)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_SELECT)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_PAD_UP)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_PAD_RIGHT)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_PAD_LEFT)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_PAD_DOWN)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_L1)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_R1)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_L2)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_R2)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_L3)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_R3)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_GREEN)) | ||
+ | | ||
+ | if(ps2x.Button(PSB_BLUE)) | ||
+ | | ||
+ | | ||
+ | | ||
+ | if(ps2x.Button(PSB_PINK)) | ||
+ | | ||
+ | delay(700); | ||
+ | } | ||
+ | else; | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Liens Manette PS2 <--> Arduino | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | ===== PS2 - Touches ===== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Les fonctions les plus pratiques de cette librairie sont : | ||
+ | |||
+ | ***ps2x.config_gamepad(clock, | ||
+ | La fonction définit la broche du contrôleur et la sensibilité à la pression et aux vibrations des moteurs. Si vous voulez que les touches soient insensibles à la pression ou que les moteurs n' | ||
+ | |||
+ | ***ready(); | ||
+ | La fonction détermine le type de contrôleur détecté. 0 signifie que le contrôleur n'est pas détecté correctement, | ||
+ | |||
+ | ***read_gamepad(boolean motor1, byte motor2); | ||
+ | La fonction commencer à lire l' | ||
+ | |||
+ | ***Button (but type); | ||
+ | la fonction renvoie 1 lorsque la touche spécifique de l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ===== Robot Arduino avec manette PS2 (Joystick PlayStation 2) ===== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===== Radiocommande PS2 arduino nrf24l01 ===== | ||
+ | |||
+ | [[https:// |
/home/chanteri/www/fablab37110/data/attic/start/arduino/manette_ps2.1652107661.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)