====== Platine Arduino version 1 ====== **Note de départ** , le récent post sur [[http://www.crunchgear.com/2011/05/10/google-releases-the-android-open-accessory-toolkit-for-adding-devices-to-tablets-and-phones/|un arduino pour android]] nous fait penser que le choix arduino reste prometteur! Nous allons voir se multiplier de nouvelle carte sur cette base.[[http://www.rt-net.jp/shop/index.php?main_page=product_info&cPath=3_4&products_id=1]], mais pour le moment c'est beaucoup trop cher ! bon , sans changer le reste il est vrai que quand on voit le projet [[http://www.raspberrypi.org|raspberry py]] à moins de 25€ ... ça laisse à réfléchir. Donc wait and see december... Revenons à nos moutons : **Modules :** * GPS * mini afficheur * liaison radio * boutons ou clavier * option SD * option sortie audio * option communication par contact * option rfid ===== Micro-controleur ===== Choix en cours * Arduino Mega 2560 ( http://www.zartronic.fr/arduino-mega-atmega2560-p-167.html )? ou [[http://www.lextronic.fr/P22486-module-chipkit-max32.html|chipkit-max32]] * [[http://www.cutedigi.com/product_info.php?cPath=277&products_id=4458| BUTTERFLY ONE (PAPILIO ONE)]] 250K Arduino-FPGA version en emulation arduino piste http://www.gadgetfactory.net/index.php?main_page=product_info&products_id=18 je pense faire le choix en fonction du premier développement des modules, la taille total donnant un peu l'idée de la mémoire flash nécessaire . raspberry py ?? ===== mini afficheur ===== ? * http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=12&zenid=545cc2280076bd52107121b2613c1d46 * http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=10&zenid=545cc2280076bd52107121b2613c1d46 ===== liaison radio ===== Zigbee parait être le plus simple à utiliser ? http://www.lextronic.fr/P5310-module-oem-jennic-jn5139-001-m04.html ===== liaison par contacts ===== Les Données se transmettent de joueur à joueur par la connexion d'un conducteur. Le geste de poser la main sur l'épaule de l'autre joueur établi une transmission. ===== GPS ===== Reprise des ateliers sur la question de [[http://la-fabrique.du-libre.org/spip.php?article214]] teste ? http://store.diydrones.com/MediaTek_MT3329_GPS_10Hz_p/mt3329-01.htm ===== SD ===== Un shield arduino relativement standard pour la lecture et l'écriture sur une carte SD, qui pourra faire 2, 4 ou 8Go ! ====== Logiciels ====== De part la limitation drastique de la mémoire du micro-contrôleur, il parait intéressant de lire et d'écrire sur une SD toutes les données de scripts, de personnage etc. Pour ce faire nous écrirons un interpréteur ultra simple de jeux. En partant de [[http://www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR|AVRSH]], nous allons définir les fonctions essentielles du jeu, et d'autres scriptables si besoin. Cet interpréteur lit des evennements venant du GPS, de boutons,rfid , de communications radio ou filaire et les fait correspondre avec les ligne d'un fichier sur la SD. Cela provoque un affichage, du son, des modifications de parametres, ... En utilisant DuinOS, on lancera des modules par interfaces, et l'interpréteur en tant que module principal. **Entrées:**: * module GPS communique les coordonnées, le temps * module radio communique du texte et l'id du joueur source * module boutons : communique des no de bouton * module liaison : idem radio * module rfid : donne l'id de l'objet lu **Sorties:**: * module afficheur * module radio * module SD * module buzer ou HP === Fichier des objets/actions === en attendant mieux - id : num : unique - nom : txt - descriptif : txt - X1 : coordonnée relative, suivant précision gps - Y1 : - - X2 : zone de sensiblité autour de X1,Y1 - Y2 : - - cpt_action : num, compteur d'activation - 0 = inactif - 1 = réalisé - 2 = réalisable 1 fois - 3 = réalisable 2 fois - 99 = réalisable sans compter - priorité - script : nom du script ou commande à exécuter - code : code machine à exécuter * id : num : unique, permettra de gérer une base de données sur le pc du MJ === liste des actions === provisoire * Travail sur les registres eeprom du micro-controleur, ce sont des codes pour la machines * lire E/S * écrire E/S * oppération sur les variables (=,+,-,+=...) * comparaisons (<, >, == ...) * faire action : exécuter autres action/commande * afficher texte * radio destinataire texte : communiquer aux autres * lire variable : de la SD * écrire variable : de la SD ...