Ouvrir | Auteur David Souder - contact

Lien vers cette page : https://docs.google.com/document/d/1PXPrieWcea8-So2YweAG-xF9W61fT3OGppsXfyWcDlg/edit

Projet Technologie Collège

Picaxe© / Arduino 

& EasyGameProg

Réaliser une manette de contrôle Picaxe / Arduino pour piloter 

un jeu vidéo personnalisable EasyGameProg


Version 1.0

 

Par David Souder

Professeur de technologie

Référent TICE* pour le

Conseil général des Hauts-de-Seine

* Technologie de l’Information et de la Communication pour l’Enseignement

            SOMMAIRE GENERAL


           1-INTRODUCTION

   1.1. Présentation rapide du projet

        1.1.1. Côté manette (Piacex ou Arduino)

        1.1.2. Côté jeu (EasyGameProg)

   1.2. Modification du jeu par défaut

   1.3. Autres options disponibles

           2-TECHNOLOGIES UTILISEES

   2.1. Qu’est-ce que Picaxe ou Arduino ? (projet)

   2.2. Compatibilité d’EasyGameProg

   2.3. Communication entre la manette et le jeu (utilité des sous-programmes)

        2.3.1. Informations échangées entre la manette et le jeu

        2.3.2. Sous-programmes de communication entre la manette et le jeu

   2.4. Contenu du kit

           3-VOLUME DE TRAVAIL ÉLÈVE

   3.1. Prise en main des outils Picaxe (ou Arduino)

   3.2. Activité de programmation Picaxe (ou Arduino)

   3.3. Personnalisation du jeu EasyGameProg

   3.4. Conception et usinage de la manette

            4-TRAVAIL A REALISER

1.1. Montage mininal avec Picaxe et EasyGameProg

            Annexes

  5.1. Transmission série - Lien   


             INTRODUCTION


      1.1. Présentation rapide du projet

Le concept-projet “EasyGameProg” s'appuie à 100% sur la technologie Picaxe et

ajoute une possibilité supplémentaire encore inédite, celle de

piloter un jeu vidéo personnalisable avec Picaxe

sans connaissances en informatique

   1.1.1. Côté manette (Picaxe ou Arduino)

Vous programmez votre Picaxe pour qu’il exécute l’un des sous-programmes de communication livrés avec le kit et ce en fonction de l'appui sur l’un des deux boutons poussoirs à prévoir sur la manette.

   1.1.2. Côté jeu (EasyGameProg)

EasyGameProg est une application Processing dont le rôle est de gérer la logique de jeu. Il est déjà préparé à recevoir les ordres de la manette.

Pas d’installation, pas de modifications nécessaires, sélectionnez le n° de port Picaxe et le jeu par défaut fonctionne déjà.


      1.2. Modifications du jeu par défaut

Utilisez le plus élémentaire des logiciels images pour modifier complètement l’apparence du jeu.

Toutes les images sont modifiables

La couleur du fond peut être changée, et ce,

sans connaissances particulières en informatique

   1.3. Autres options disponibles

Vous pouvez aussi ajouter une option :

Il s’agit bien entendu d’un petit moteur générant des vibrations se branchant comme n’importe quel moteur à courant continu. Dans tous les cas, le logiciel :

Libre à vous d’utiliser cette option ou pas.

            Technolohgie à utiliser pour le microcontrôleur


      2.2. Compatibilité d’EasyGameProg ?

Le logiciel EasyGameProg a été entièrement développé sous Processing pour de multiples raisons dont voici les principales :

  1. Les outils Processing sont sous licence OpenSource
  2. L’application finalisée est compatible MAC et PC
  3. L’application finale est portable : donc utilisable sans aucune installation

Même si Processing est naturellement fait pour être utilisé avec Arduino - un autre produit OpenSource - , il est possible de l’utiliser avec les nombreux produits pédagogiques Picaxe en utilisant la liaison série. Cette dernière est d’ailleurs largement exploitée pour communiquer avec Programming Editor.

EasyGameProg peut donc être utilisé avec :

      2.3. Communication entre la manette et le jeu

2.3.1. Informations échangées entre la manette et le jeu

La communication entre la manette de jeu et le logiciel EasyGameProg se fait directement avec l’interface de programmation Picaxe : celle-la même qui est utilisée pour programmer naturellement les puces.

Communication de base

Il y a 2 ordres de base donnés par la manette (en direction d’EasyGameProg) :

1-  “aller à droite”

2-  “aller à gauche”

Il y a une information de base donnée en retour par EasyGameProg (en direction de la manette) :

3- “collision”

PLUS D’INFOS : Annexe sur la liaison série


2.3.2. Sous-programmes de communication entre la manette et le jeu

Sous-Programmes “Aller_a_droite” et “Aller_a_gauche

Un sous-programme est associé à chaque “message” à envoyer. EasyGameProg est préparé pour recevoir et gérer ces messages et donne en retour l’information “collision” entre 2 objets mobiles.


Sous-programme “collision(détectée)

Un sous-programme “collision” permet de demander à EasyGameProg si une collision est en cours. Une fois ce sous-programme exécuté, une variable est modifiée et peut être testée directement dans le programme élève.

Concrètement, il faut que le programme élève :

  1. Lance le sous-programme “collision” => La variable b0 est alors modifiée.
  2. Puis teste la variable pour savoir si la collision est en cours.

         

      2.4. Matériel nécessaire

   2.4.1. Contenu du kit

En plus du matériel Picaxe habituel, à savoir :

  1. Le logiciel Programming Editor (ou supérieur)
  2. Le câble d’interface USB Picaxe
  3. Les pilotes du câble d’interface USB Picaxe
  4. Un microcontrôleur Picaxe : 08M2 ou suppérieur
  5. Une résistance de 10000 ohms et 22000 ohms + prise Jack + petits composants...

Le kit EasyGameProg doit réunir :

  1. Le logiciel EasyGameGrog (portable = sans installation)
  2. Un fichier Programming Editor avec les 3 sous-programmes :
  1. aller_a_droite
  2. aller_a_gauche
  3. récup_info_collision
  1. D’un document d’aide à l’utilisation de Programming Editor

            VOLUME DE TRAVAIL ELEVES


3.1. Prise en main des outils Picaxe (ou Arduino)

La technologie Picaxe (ou Arduino) nécessite une prise en main, généralement courte, mais indispensable pour garantir une certaine “autonomie” des élèves. C’est pourquoi un document d’aide accompagne le kit EasyGameProg, et pour Picaxe et pour Arduino. Ce dernier propose une description simple et condensée des différents capteurs et actionneurs utilisés, des explications précises sur les éléments de langage indispensables pour mettre en oeuvre le programme ainsi que des exemples de câblage.


3.2. Activité de programmation Picaxe (ou Arduino)

Une fois les rudiments techniques propres à Picaxe ou Arduino abordés, les élèves sont amenés  à réaliser en groupe différentes investigations dont les problématiques sont liées à la réalisation finale :

  1. Comment détecter l’appui sur un bouton poussoir ?
  2. Comment allumer une LED lors de l’appui sur un bouton poussoir ?
  3. Comment réaliser une double détection dans un même programme ?
  4. Comment piloter un moteur ?
  5. Comment piloter un moteur par programme ?
  6. Comment intégrer les sous-programmes donnant les ordres au jeu
  7. Comment tester la réception de l’information “Collision” au niveau du jeu ?


3.3. Personnalisation du jeu EasyGameProg

Il y a plusieurs niveaux de personnalisation du jeu EasyGameProg. Le premier niveau consiste simplement à  modifier des images pour donner une nouvelle apparence à l’ensemble, mais la logique du programme reste la même et le “pilotage” est rigoureusement identique.

A charge pour les élèves de trouver un “Univers” de jeu cohérent en fonction des contraintes imposées par EasyGameProg. Dans tous les cas, on retrouve les images ci-dessous :

  1   Les images mobiles (images tombantes + image pilotée par la manette)

  2   Les éléments de décor (Images du bandeau supérieur + couleur du fond)

  3   Les tubes d’images (Bandeau inférieur)

  1   Les images mobiles :

11-Les images tombantes décrivant une trajectoire verticale (objet “tombant du ciel”)

“Ce sont les images qui apparaissent aléatoirement en haut de l’écran et qui tombent”

  • Elles apparaissent d’une manière aléatoire
  • Elles tombent automatiquement
  • Un objet par ligne

12- L’image pilotée par la manette de jeu (cet objet est unique)

“C’est l’image qui est pilotée de droite à gauche par la manette”

  • Elle va à droite quand elle reçoit l’ordre d’aller à droite
  • Inversement
  • Elle peut entrer en collision


  2   Les éléments de décor :

21-Les images du bandeau supérieur

“Ce sont les images fixes placées en haut de la fenêtre”

  • Elles sont fixes
  • Elles sont permanentes
  • Elles sont dupliquées (x10)

22-La couleur de fond 

  • Modifier directement dans le code Processing


  3   Les tubes d’images :

31-Tubes d’images du bandeau inférieur.

“C’est une série de 20 images chronologiques formant un “mini-film”

  • Ce tube est répété 10 fois
  • Chaque tube est indépendant du voisin
  • Chaque colonne affiche une image du seul et unique tube possible.

REMARQUE : principe des tubes à images.

Les tubes à images dont il est question ici représentent une succession continue d’images formant une sorte de mini-film. Ce film se déroule automatiquement et les élèves doivent simplement produire une série chronologique de 20 images en rapport avec le jeu traduisant une évolution.

PAR EXEMPLE : dans le jeu ci-dessus, on passe d’une image à la suivante automatiquement à chaque fois qu’un oeuf arrive en bas. Naturellement, les images doivent être dessinées pour traduire une évolution cohérente mais c’est bien EasyGameProg qui gère le défilement, et ce, sur toutes les colonnes indépendamment.

3.4. Conception et usinage de la manette

La manette fait partie intégrante du projet. C’est pourquoi la conception et la fabrication sont du ressort des élèves. Même si elles peuvent être réalisées simplement avec toute feuille de matière plastique PVC /PMMA.. Je pars du principe qu’un usinage sera réalisé - au moins dans le cadre de la fabrication du prototype final.

Dans tous les cas, il faudra intégrer les éléments suivants :

  1. Le microcontrôleur (Picaxe ou Arduino)
  2. Les capteurs = 2 boutons poussoirs
  3. L’actionneur = mini moteur-vibreur
  4. Une embase (Jack si Picaxe / USB-B si Arduino)

Un exemple de forme usinable donné à titre indicatif


            AUTRES INFORMATIONS


D’autres informations sont disponibles sur le site www.duinoam.com dont voici les principaux.

Une vidéo du jeu en action : http://duinoam.com/crbst_13.html

Le logiciel en version de démonstration (jouable uniquement avec les touches du clavier):

Aides :

 pages


Auteur : David Souder - www.duinoam.com - Réaliser une manette de jeu  

Page  /