
Je réutilise mes connaissances
|
Objectif |
Programmer la commande du jeu snake 3D |
|
Logiciel |
IDE Arduino - jeu snake 3D |
|
Matériel |
1 joystick deux axes - 1 carte Arduino Uno |
Livio du BTS CIEL a adapté un jeu snake 3D pour qu'il puisse être piloté à partir d'un joystick et d'un programme Arduino :

Livio précise les caractéristiques suivantes du jeu snake :
|
Taille de la fenêtre |
1280 x 720 |
|
Commande du joystick |
par liaison série via USB en transmettant la direction de déplacement du snake (haut, bas, gauche, droite) |
|
Caractéristique de la liaison série |
8-E-1 115200 |
|
Format de la commande |
Appeler la fonction game.sendJoystickValues(); qui permet d'envoyer les commandes de direction pour le déplacement du snake |
|
Taux de rafraîchissement de la commande |
géré directement par le jeu |
|
Jeu snake 3D à télécharger |
|
|
Squelette de code Arduino pour démarrer |
Documentation de la fonction game.sendJoystickValues() :
void sendJoystickValues(const byte start, byte msb_x, byte lsb_x, byte msb_y, byte lsb_y, const byte stop)
|
Paramètres |
Valeurs |
Commentaires |
|
const byte start |
constante égale à 128 |
|
|
const byte stop |
constante égale à 129 |
|
|
byte msb_x et byte lsb_x |
Il faut vérifier la relation suivante : (128 x msb_x) + lsb_x = position_x avec msb_x et lsb_x entiers et lsb_x < 128 |
position_x : positon du joystick selon l'axe x renvoyée par analogRead(); |
|
byte msb_y et byte lsb_y |
Il faut vérifier la relation suivante : (128 x msb_y) + lsb_y = position_y avec msb_x et lsb_x entiers et lsb_x < 128 |
position_y : positon du joystick selon l'axe y renvoyée par analogRead(); |
Écrire un programme qui permette de contrôler le déplacement du snake.
Indice : pour déterminer les valeurs de msb_x, msb_y, lsb_x et lsb_y il faudra utiliser les opérateurs / (division) et % (modulo), voir le lien suivant :
Montrer le résultat final au prof.

Créé avec HelpNDoc Personal Edition: Générateur de documentations PDF gratuit
