« ZuzuHack » : différence entre les versions
Aucun résumé des modifications |
|||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 67 : | Ligne 67 : | ||
Codes sources de l'application: https://github.com/fablab-lannion/zuzuhack | |||
A partir des codes sources , vous pouvez y intégrer votre propre frontend en remplacant le fichier index.html situé dans le répertoire assets. | A partir des codes sources , vous pouvez y intégrer votre propre frontend en remplacant le fichier index.html situé dans le répertoire assets. | ||
Ligne 76 : | Ligne 76 : | ||
TODO: déterminer le nombre d'I/Os nécessaires ( 2 pour moteurs, 2/3 pour le module audio, 1 pour le bluetooth, 1 si pilotage de leds de type neopixel pour les yeux , quid du nombre max d'I/Os=5 pour le trinket..) | TODO: déterminer le nombre d'I/Os nécessaires ( 2 pour moteurs, 2/3 pour le module audio, 1 pour le bluetooth, 1 si pilotage de leds de type neopixel pour les yeux , quid du nombre max d'I/Os=5 pour le trinket..) | ||
Pour les I/Os, le composant MCP23008 pourrait être utilisé, piloté par I2C: http://www.digikey.fr/product-detail/fr/MCP23008-E%2FP/MCP23008-E%2FP-ND/735951 | |||
Librairie Adafruit pour s'interfacer depuis le trinket: https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library | |||
Ligne 83 : | Ligne 88 : | ||
Reste à faire: | Reste à faire: | ||
intégration d'une batterie lipo disponible sur le site adafruit | intégration d'une batterie lipo disponible sur le site adafruit ou pile rechargeable type CR2032 | ||
câblage sur carte à trou | câblage sur carte à trou | ||
pilotage du driver moteur | pilotage du driver moteur (done, à documenter) | ||
fork pilotage par infra-rouge | fork pilotage par infra-rouge | ||
pilotage yeux avec leds neopixels ( si suffisamment d'I/Os...) | pilotage yeux avec leds neopixels ( si suffisamment d'I/Os...) |
Version actuelle datée du 4 juin 2016 à 09:40
Présentation
Le cas d'usage pour ce projet est de détourner la fonction principale d'un jouet. En partant d'un zuzupet [1] , l'objectif est de remplacer l'électronique interne afin de:
- transmetttre des voix préenregistrées sur cartes micro SD
- déclencher ces voix en bluetooth depuis une application androïd
- et pourquoi pas de piloter la zuzu pet depuis l'application androïd en contrôlant les moteurs internes
Autour de ce cas d'usage, l'idée connexe est de sensibiliser un jeune public ( à partir de 9 ans ) à la "bidouillabilité" par:
- le câblage de modules électroniques,
- l'enregistrement de sons sur cartes SD depuis un pc
- la programmation par arduino
Le projet sera réalisé au fablab les samedi matin à titre expérimental avec 2 filles de 9 ans. Différentes étapes seront définies, sans contraintes de temps, afin de laisser au enfant le temps de découvrir l'environnement, de se confronter à des points de blocages, et de découvrir la magie des déblocages :-) On s'efforcera de publier les différentes étapes pour qu'il puisse ensuite être repris par d'autres personnes.
Architecture globale
Vue d'ensemble des modules exploités dans ce projet
Etape 1
Objectif: Retranscrire le contenu d'une carte SD sur un haut parleur. Monter le lecteur de carte avec une carte contenant des voix préenregistrées, et un code arduino existant
Schéma de montage
- Apprentissage : câblage électronique de modules sur breadboard
- Sessions
11/01/14, 11H
- Retour d'expérience
En 1H30, les enfants avaient pu aller au bout de la session, découvrant comme par magie les voix préenregstrées sur la carte :-) En cadeau bonus, elles ( et oui ce sont des filles :-D ) ont pu enregistrer leur propres messages sur la carte, et se lancer dans une miniscène de cinéma avec deux zuzupets comme acteurs principaux
Ci dessous une photo du montage intégrant la carte trinket, très intéressante par son faible encombrement.
Un peu capricieuse à configurer pour la première fois cependant (environnement windows), notamment sur la version d'avrdude trouvée sur un forum:
http://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide#step-2-updating-avrdude-dot-conf ( pour l'ide intégrant la reconnaissance de trinket)
http://forums.adafruit.com/viewtopic.php?f=52&t=45541 ( pour la version d'avrdude à surcharger)
Etape 2
Objectif: Réalisation d'une application mobile pour déclencher les voix à distance.
Pour cette partie un peu plus complexe, on a utilisé l'éditeur wyswig http://www.layoutit.com/ , qui permet de manière très intuitive de réaliser les layouts de l'application. Une fois les layouts réalisées, il ne reste plus qu'à télécharger le package, puis éditer les boutons ou autre périphériques pour y connecter les fonctions du back-end, réalisées en java-script + code java pour les plugin ( architecture phonegap ). Modules du projet android: - squelette phonegap - front end en html5/css3 bootstrap (réalisable par l'enfant ) - plugin phonegap en natif pour la partie bluetooth
Codes sources de l'application: https://github.com/fablab-lannion/zuzuhack
A partir des codes sources , vous pouvez y intégrer votre propre frontend en remplacant le fichier index.html situé dans le répertoire assets.
Etape 3
Etude des moteurs du zuzupet : les moteurs sont pilotés par un driver AT5561D, pilotable depuis un arduino par 2 I/Os.
TODO: déterminer le nombre d'I/Os nécessaires ( 2 pour moteurs, 2/3 pour le module audio, 1 pour le bluetooth, 1 si pilotage de leds de type neopixel pour les yeux , quid du nombre max d'I/Os=5 pour le trinket..)
Pour les I/Os, le composant MCP23008 pourrait être utilisé, piloté par I2C: http://www.digikey.fr/product-detail/fr/MCP23008-E%2FP/MCP23008-E%2FP-ND/735951
Librairie Adafruit pour s'interfacer depuis le trinket: https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library
Intégration du composant bluetooth: TODO: réaliser photo du montage + dépôt des codes sources arduino sous github.
Reste à faire:
intégration d'une batterie lipo disponible sur le site adafruit ou pile rechargeable type CR2032
câblage sur carte à trou
pilotage du driver moteur (done, à documenter)
fork pilotage par infra-rouge
pilotage yeux avec leds neopixels ( si suffisamment d'I/Os...)
Contributeurs
@jjacques, @cebernard