Bonjour,
Pour l'écran lcd il existe une librairie tout préte (site en anglais ... en francais ya rien) :
http://code.google.com/p/displayshield4d/Qui fourni les fonctions suivante :
uint8_t Init(); // initialise l'écran lcd
uint8_t Reset(); // réinitialise l'écran lcd
uint8_t Clear(); // efface l'écran lcd
unsigned int RGB(uint8_t red, uint8_t green, uint8_t blue); // retourne un couleur à partir des composantes RGB passé en arguments
uint8_t SetPenSize(char val); // Défini la taille du stylo de dessin
uint8_t SetBackground(unsigned int color); // Défini la couleur d'arrière plan
uint8_t SetContrast(char val); // Change la valeur du contraste
uint8_t putpixel(uint8_t x, uint8_t y, unsigned int color); // Dessine un pixel de couleur "color" aux coordonnées (x, y)
uint16_t readpixel(uint8_t x, uint8_t y); // Lit la couleur du pixel aux coordonnées (x, y)
uint8_t line(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, unsigned int color); // Dessine une ligne de couleur "color" du point (x1, y1) au point (x2, y2)
uint8_t rectangle(uint8_t x, uint8_t y, uint8_t width, uint8_t height, char filled, unsigned int color); // Dessine un rectangle de couleur "color" plein (filled -> true) ou vide (filled -> false) du point (x, y) avec une hauteur de "height" sur une longueur de "width" pixels
uint8_t circle(uint8_t x, uint8_t y, uint8_t radius, uint8_t filled, unsigned int color); // Dessine un cercle avec comme centre le point (x, y) de rayon "radius" et de couleur "color", plein (filled -> true) ou vide (filled -> false)
uint8_t triangle(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t x3, uint8_t y3, uint8_t filled, unsigned int color); // Dessineun triangle entre les points de coordonnées (x1, y1)(x2, y2) et (x3, y3) de couleur "color", plein (filled -> true) ou vide (filled -> false)
uint8_t drawstringblock(uint8_t x, uint8_t y, uint8_t font, unsigned int color, uint8_t width, uint8_t height, char *text); // Affiche le texte "text", à partir du pixel (x, y) avec la police "font" de couleur "color" et de taille width x height
uint8_t drawasciichar(uint8_t strChar, uint8_t x, uint8_t y, unsigned int color, uint8_t width, uint8_t height); // Affiche un caractére "strChr" à partir du pixel (x, y) de couleur "color" et de taille width x height
Pour "lire" le joystick il faut utiliser analogRead(A0) en fonction du bouton appuyé la valeur sera différente (mais je ne connait pas ces valeurs, perso j'ai juste l'écran, pas la version shield).
Pour la shield mp3, sparkfun fourni un code d'exemple :
http://www.sparkfun.com/products/10628 (voir en bas de la description) mais comme toujours il n'existe aucun tutoriels en français ...