Nouveau par ici ? Découvre tout notre écosystème >> Oui Are Makers <<
Notre projet consiste au mapping vidéo de la célèbre voiture de "Initial D". A l'aide d'un contrôleur, nous pourrons interagir avec des musiques et les animations vidéos (peut-être dans le but d'une soirée qui sait). En espérant que cela vous plaise/serve ! ^^
Budget : Non défini
L’écran tactile va nous permettre de créer une interface grâce a laquelle l’utilisateur pourra contrôler le mapping. Afin de mettre en place cet outil, nous allons procéder de la manière suivante :
Initialisation de l’écran et des données utiles
Création de l’interface.
Mise en place des fonctions de contrôle.
Programmation du Loop (fonction principale du programme).
Pour que l’écran fonctionne, nous allons d’abord le connecter à l’Arduino. Une fois l’écran connecté et l’Arduino mise sous tension, l’écran s’allume en blanc.
Pour commencer nous allons importer les bibliothèques qui nous permettrons d’utiliser l’écran.
// Innovation - Project : Initial Map #include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_TFTLCD.h> // Hardware-specific library #include <TouchScreen.h>
Les deux bibliothèques Adafruit sont des librairies liées à l’écran qui nous permettrons d’utiliser certaines fonctions ainsi que les entrées/sorties qui lui sont propres. La librairie TouchScreen elle nous permettra d’utiliser le coté tactile de l’écran.
Ensuite nous devons définir les pins qui connecte l’écran à l’Arduino ainsi que les dimensions de l’écran (les valeurs x/y des pixel aux extrémités de l’écran que nous déterminerons grâce a une fonction que nous verrons).
/*--------------------DEFINE PINS--------------------*/ #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 #define LCD_RESET A4 #define YP A3 // must be an analog pin #define XM A2 // must be an analog pin #define YM 9 // can be a digital pin #define XP 8 // can be a digital pin /*--------------------DEFINE SCREEN SIZE--------------------*/ #define TS_MINX 140 #define TS_MAXX 900 #define TS_MINY 100 #define TS_MAXY 950
Maintenant nous allons définir les noms et les valeurs des données que nous utiliserons plus tard dans le programme. Tout d’abord les couleurs, car il sera en effet plus simple de les appeler par leur nom plutôt que par leur code. Ensuite suivent les données utiles comme l’identifiant de l’écran qui nous permettra de l’initialiser juste après ou encore la valeur minimal et maximale de la pression (qui nous permettra de limiter les appels aux fonctions seulement quand l’écran sera touché.
/*--------------------DEFINE COLORS NAMES--------------------*/ #define WHITE 0xFFFF #define BLACK 0x0000 //used #define BLUE 0x001F //used #define RED 0xF800 //used #define GREEN 0x07E0 //used #define CYAN 0x07FF //used #define YELLOW 0xFFE0 //used #define GREY 0xBDF7 //used #define GREY2 0x7BEF //used #define ORANGE 0xFD20 //used #define PURPLE 0x780F //used #define OLIVE 0x7BE0 //used #define SEA 0x07F0 //used /*--------------------DEFINE PERSONAL DATA--------------------*/ #define identifier 0x9341 //for test-screen #define MINPRESSURE 10 //Define a min/max #define MAXPRESSURE 1000 //pressure
Enfin nous définirons par quels pins les information tactile devront circuler et nous inclurons la bibliothèque du shield tft (l’écran).
/*--------------------TOUCHSCREEN/SHIELD INITIALISATION--------------------*/ TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); #include <MCUFRIEND_kbv.h> MCUFRIEND_kbv tft;