Dinosaur Game

Objectif : réaliser un robot de jeu pour le célèbre Dinosaur Game de Google

Présentation

Le jeu du dinosaure (Dinosaur Game) est un jeu développé par Google et intégré au navigateur web Google Chrome. Le joueur guide un t-rex pixelisé (The Lonely T-Rex) dans un paysage à défilement latéral, en évitant les obstacles pour augmenter son score.

Pendant le jeu, le dinosaure se déplace continuellement de gauche à droite dans un paysage désertique en noir et blanc, le joueur essayant d’éviter les obstacles tels que les cactus et les ptérosaures en sautant ou en se baissant (en appuyant sur Espace ou )

Principe de fonctionnement

Le robot de jeu est un système matériel et logiciel qui permet de jouer seul au jeu du dinosaure.

 

 

Matériel nécessaire

  • Un Arduino UNO
  • Un servomoteur
  • Une photorésistance
  • Une résistance de 10kΩ

Et pour l’assemblage, du ruban adhésif (double face de préférence).

 

Le jeu en ligne

Si vous n’utilisez pas Google Chrome, il existe de très nombreuses versions sur Internet :

  • https://dinosaur.game/fr/

 

 

Travail demandé

Détection des obstacles

En suivant les informations de la page Photorésistance :

Câbler la photorésistance et sa résistance de 10kΩ dans un pont diviseur de tension.

Petits conseils :

  • Plier délicatement les « pattes » de la photorésistance pour les aligner avec la surface de la photorésistance,
  • Utiliser des câbles suffisamment long (en mettre plusieurs bout à bout s’il le faut),
  • Fixer les connecteurs à l’aide de ruban adhésif,

 

Réaliser un petit programme permettant de visualiser, dans le moniteur série, la valeur brute obtenue sur le port analogique.

 

Coller au ruban adhésif la photorésistance sur l’écran de l’ordinateur, là où apparaîtront les obstacles du jeu, quelques centimètres devant le Lonely T-Rex.

 

Déterminer la valeur de seuil de luminosité permettant de détecter la présence d’obstacle..

Petits conseils :

  • Agrandir un peu la fenêtre du navigateur (Ctrl+) : 130% environ
  • Utiliser du ruban adhésif transparent
  • Ne pas éclairer directement le capteur : il ne doit détecter que la luminosité de l’écran

 

 

 

Action sur la touche Espace

 

Câbler le servomoteur tel que décrit sur la page dédiée aux servomoteurs.

 

Fixer le servomoteur sur le clavier de l’ordinateur à l’aide de ruban adhésif double face afin qu’il puisse agir sur la touche Espace.

Petits conseils :

  • Choisir un bras suffisamment long,
  • Placer le point d’action du bras au centre de la touche Espace.

 

Réaliser un petit programme permettant de mettre en mouvement le servomoteur.

 

Déterminer les valeurs de position du servomoteur permettant d’appuyer et relâcher la touche Espace.

Petits conseils :

  • Choisir des valeurs suffisamment proches pour limiter la course du bras et ne pas trop forcer sur la touche Espace (10° à 20° d’amplitude devraient suffire),
  • Tester l’efficacité en vérifiant que la touche est correctement actionnée/relâchée avec ces valeurs.

Voici ce qu’il faut obtenir :

 

 

Finalisation du programme

Pour que le programme soit facile à régler, il est conseillé de mettre toutes les constantes en début de code :

int SERVO_PIN = 9; // port numérique du servomoteur
int LUX_PIN = A0;  // port analogique du capteur de luminosité

int POS_ON = 60;   // angle servomoteur permettant d'actionner la touche
int POS_OFF = 40;  // angle servomoteur permettant de relâcher la touche

int SEUIL_OBST = 820;  // seuil de luminosité (valeur brute) permettant de détecter les obstacles

Les valeurs ci-dessus ne fonctionneront pas sur votre montage ! Il faut les déterminer par l’expérimentation.

 

Et voila le travail :

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *