Stage PEIP


 * UE/Module: Stage PEIP Polytech'Grenoble commun 3I et RICM


 * Enseignants RICM : Nicolas Palix (coordinateur), Pierre-Louis Aublin, Didier Donsez
 * Enseignants 3I : Sophie Chareyron
 * Organisation des stages PEIP : Patricia Ladret

Introduction
Le stage PEIP se déroule en Juin. Il présente quelques aspects des compétences et des connaissances qui seront acquises par les élèves ingénieurs des filières 3I et RICM.

Préliminaires

 * installez l'environnement de développement Processing
 * installez l'environnement de développement Arduino
 * branchez la carte Arduino Uno en installant éventuellement le pilote

Sujets de projets
12 en //


 * 1 - écran Nokia 5110 BW
 * 2 - écran Nokia 5110 BW
 * 3 - écran Nokia 5110 BW
 * 4 - écran EL 1602A
 * 5 - Nunchunk
 * 6 - Nunchunk
 * 7 - Nunchunk
 * 8 - 1 Arcade Box DIY (4 boutons, 1 joystick, 1 rocket launcher switch)
 * 9 - speaker PC (PWM sur HP de PC/buzzer)
 * 10 - monter un pad (4 boutons momentanés sur une mini breadboard)
 * 11 - un contrôleur Super Nintendo
 * 12 - un hygomètre pour plante

Matériels

 * 3 écrans Graphic LCD 84x48 - Nokia 5110
 * 1 écran LCD EL 1602A
 * 3 Nunchunks
 * 1 Arcade Box DIY (4 boutons, 1 joystick, 1 rocket launcher switch)
 * 1 Speaker PC (PWM sur HP de PC/buzzer)
 * DIY game pad (à monter avec 4 boutons momentanés sur une mini breadboard)
 * 1 contrôleur Super Nintendo Controller Brochage
 * 1 hygromètre pour plante
 * 4-5 thermo-résistances
 * 5-6 Potentiomètre (pad, réglage luminosité, music speed, ...)

=Projets Processing + Arduino=

Jeu de la vie (conway) interactif
Arduino pour la capture des 3+1 changements de direction

Plusieurs pad possibles
 * 4 boutons sur mini-breadboard
 * 1 nunchuk acceleration
 * 1 nunchuk joystick

Manette pour déplacement entre cellule A => tue B => crée

Le Jeu de Conway est fourni au départ

Processing : Calcul et Affichage

Jeu d'attrapage de boules
Arduino pour la capture de 2 mouvements droite - gauche

Plusieurs pad possibles
 * 2 boutons sur mini-breadboard
 * 1 potentiometre
 * 1 nunchuk acceleration
 * 1 nunchuk joystick

Processing : Calcul et Affichage

Jeu de serpent (Snake)
Arduino pour la capture des 3+1 changements de direction

Plusieurs pad possibles
 * 4 boutons sur mini-breadboard
 * 1 nunchuk acceleration
 * 1 nunchuk joystick

Processing : Calcul et Affichage

Plus belle ma plante
Arduino pour la mesure de l'hygromêtrie d'une plante Cadran à Servomoteur

Processing : Affichage (dont graphe historique)



Réveil matin
Arduino : utilisé pour déclencher la mélodie (une particition) à une heure définie Processing : communique avec l'arduino sur le port série pour configurer l'heure courante, l'heure de réveil, et la mélodie choisie.

Mélodies :
 * Star Wars, marche impériale
 * Two tigers song (nécessite 2 hauts-parleurs; à tester)
 * Les Simpson (partition á trouver http://up.sur-la-toile.com/s9m6 )
 * Zelda Lost Woods (partition à trouver)

Matériel :
 * 1 Arduino Uno
 * 1 Haut-parleur (de PC)
 * 1 Haut-parler supplémentaire pour la stéréo
 * 1 LCD
 * 1 Thermoresistance pour le reglage automatique de la luminosité de l'écran LCD

Une extension possible est le réveil moniteur physiologique iCoolSleep.

Utilitaires:
 * MidiNotate Player - convertissez des fichiers MIDI en partitions http://www.libellules.ch/dotclear/index.php?post/2005/07/15/491-midinotate-player---convertissez-des-fichiers-midi-en-partitions

=Projets Arduino seul=


 * PingPong Clock, PingPong Game Score Display, ...
 * How to build a ping-pong ball display http://hackaday.com/2011/01/31/how-to-build-a-ping-pong-ball-display/
 * http://www.dealextreme.com/p/14000mcd-10packs-white-5mm-led-1105

Piano
Matériel : clavier + haut parleur En fonction de la touche appuyée sur le clavier, le haut parleur joue une fréquence donnée.

On peut rajouter un second haut-parleur et utiliser les touches de modification

(Idée de Gautier "Mushroom" B.)

Mailbox

 * 1) iMailbox (Didier Donsez)

Guitar Hero
Arduino : gamepad : breadboard avec 4 ou 6 boutons, haut parleur, diode LED, afficheur graphique, ...

Processing : affichage (ie c'est tres proche de l'attrapage des boules !

Machine à écrire PS2
Matériel (il faudrait fournir la passerelle Arduino --> Twitter)
 * Clavier PS2
 * Graphic LCD 84x48 - Nokia 5110 ?
 * Twitter depuis Arduino ?

Liens
 * http://www.arduino.cc/playground/ComponentLib/Ps2mouse
 * http://www.practicalarduino.com/projects/ps2-keyboard-or-mouse
 * Clavier testé avec le programme disponible ici : http://www.arduino.cc/playground/Main/PS2KeyboardExt2
 * http://blog.blprnt.com/blog/blprnt/quick-tutorial-twitter-processing
 * http://www.arduino.cc/playground/Main/PS2Keyboard

Commande LOGIN username:password TWIT Top mon stage PEIP TWIT Arduino c'est trop top LOGOUT

Comment brancher le clavier PS/2 :
 * rouge -> VCC +5V
 * noir -> GND
 * marron -> clock
 * blanc -> data

=Annexes=

Cadran à Servomoteur Carton schotch double face

Haut-parleurs
La photo ci dessous presente un montage simple de 2 haut-parleurs récupérés sur un vieux portable pour jouer des morceaux en stéreo



Voici un exemple de code pour jouer la Marche Impériale de la Guerre des Etoiles en mono

Nunchuck
Nunchuck + servomoteur

Exemple de code :

Note : remplacer beginSerial par Serial.begin dans la fonction setup.

Comment relier le nunchuk :



Relier le nunchuck à l'arduino

Ce lien contient également un programme qui permet de récupérer les valeurs pour les différents contrôles (accéléromètre, joystick et boutons).

Ventilateur
Couleurs : Bien qu'il tourne, je pense que l'alimentation par le port usb seule n'est pas suffisante : il faudrait ajouter le connecteur AC-DC.
 * Rouge : +
 * Noir : -
 * Blanc : signal ?

Servomoteur
Connecter le servomoteur à l'arduino

Couleurs (source) :
 * Rouge : +
 * Marron : -
 * Orange : signal

A besoin de l'alimentation externe sur la carte Arduino ! Le code ci-dessus ne semble pas fonctionner...

Super Nintendo Controller
Référence

Une librairie pour utiliser le contrôleur + pin description

Spécifications

 * Référence rapide (1 page)
 * Référence complète - comment le programmer

Images


Notes :
 * La résistance est une résistance de 10k.
 * Le potentiomètre permet de régler le contraste. Sans cela l'écran apparaît vide.
 * L'alimentation externe n'est pas nécessaire mais préférable : sans cela l'affichage est faible.

Exemples de code
Dans le logiciel Arduino, des exemples peuvent être trouvés dans le menu File -> Examples -> LiquidCrystal