projet de Monsieur Flipo BULLY et Barrocas

Dependencies:   BSP_DISCO_F746NG L3GD20H LCD_DISCO_F746NG TS_DISCO_F746NG mbed

Revision:
0:490c09b75550
Child:
1:262ed79fa7d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Jun 12 12:50:01 2018 +0000
@@ -0,0 +1,90 @@
+#include "mbed.h"
+#include "TS_DISCO_F746NG.h"
+#include "LCD_DISCO_F746NG.h"
+#include"L3GD20H.h"
+#define GYR_ADDRESS 0xD6
+
+LCD_DISCO_F746NG lcd;
+TS_DISCO_F746NG ts;
+
+L3GD20H gyro(PB_9, PB_8);
+
+int main()
+{
+    TS_StateTypeDef TS_State;
+    ts.Init(420, 272);
+    //  uint32_t pY= 272.0, pX=480.0; //nombre de pixel sur notre écran
+
+    //Interface d'initilisation
+    int circle_X = 234; // position d'init du cercle en X
+    int circle_Y = 159; // position d'init du cercle en Y
+    short g[3];
+    bool tampon = false;
+    int i;
+    lcd.Clear(LCD_COLOR_BLUE);
+    lcd.SetBackColor(LCD_COLOR_BLUE);
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    lcd.DisplayStringAt(0, LINE(4), (uint8_t *)"INTERFACAGE POUR L3GD20H", CENTER_MODE); // Initialisation
+    lcd.SetFont(&Font16);
+    lcd.DisplayStringAt(0, LINE(8), (uint8_t *)"Cree par", CENTER_MODE);
+    lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"Flipo Samuel", CENTER_MODE);
+    lcd.DisplayStringAt(0, LINE(10), (uint8_t *)"Bully Jerome", CENTER_MODE);
+    lcd.DisplayStringAt(0, LINE(11), (uint8_t *)"Barrocas Miguel", CENTER_MODE);
+    wait(2);
+    //Interface définitive
+    lcd.Clear(LCD_COLOR_WHITE); //Couleur d'arrière plan
+    lcd.SetFont(&Font24); //Taille de police @24
+    lcd.SetBackColor(LCD_COLOR_WHITE); //Fond d'écran du texte en bleu
+    lcd.SetTextColor(LCD_COLOR_BLUE); //Texte en blanc
+    lcd.DisplayStringAt(0,LINE(0),(uint8_t *)"GYROSCOPE L3GD20H", CENTER_MODE); // TITRE
+    lcd.SetFont(&Font12); // Taille de police @12
+    lcd.DisplayStringAt(0,236,(uint8_t *)"Flipo Samuel", LEFT_MODE); //Auteur 1
+    lcd.DisplayStringAt(0,248,(uint8_t *)"Bully Jerome", LEFT_MODE); //Auteur 2
+    lcd.DisplayStringAt(0,260,(uint8_t *)"Barrocas Miguel", LEFT_MODE); //Auteur 3
+    lcd.SetFont(&Font16); // Taille de police @16
+    while (1) {
+        ts.GetState(&TS_State);
+        gyro.read(g); //acquisition des données du gyroscope
+        /*sprintf(tmp, "%5d %5d %5d" , g[0], g[1],g[2]); //%hd uint16_t
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.DisplayStringAt(0, LINE(2),(uint8_t *)tmp,CENTER_MODE); // Affichage des valeurs*/ //utilité d'afficher les valeurs??
+
+        //------------------------------GESTION DE LA BOULE----------------------------------\\
+        //affichage de la zone de déplacement
+        BSP_LCD_DrawRect(5,40,460,190); //XPOS , YPOS, TAILLE X, TAILLE Y
+        for (i=0; i<=3; i++) {
+            g[i]=g[i]/1000; //"mise à l'échelle" data/pixel
+        }
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        BSP_LCD_FillCircle(circle_X,circle_Y,10); //effacement de l'ancien cercle
+        circle_X=circle_X+g[0];//déplacement sur l'axe X
+        circle_Y=circle_Y+g[2];//déplacement sur l'axe Y
+        if (circle_X <15) {
+            circle_X=15;   //limite vers la gauche
+        }
+        if (circle_X >450) {
+            circle_X=450;   //limite vers la droite
+        }
+        if (circle_Y <50) {
+            circle_Y=50;   //limite vers le haut
+        }
+        if (circle_Y >220) {
+            circle_Y=220;   //limite vers le bas
+        }
+        if (TS_State.touchDetected) { //ecran touché
+            tampon =not(tampon); //inversion de la variable tampon;
+            do {//Blocaque pour effectuer une seule inversion
+                ts.GetState(&TS_State);  //récup du TS
+            } while(TS_State.touchDetected !=0);
+        } //fin Touch Screen
+        if (tampon ==false) {
+            lcd.SetTextColor(LCD_COLOR_RED);   //boule en couleur rouge
+        } else if (tampon ==true) {
+            lcd.SetTextColor(LCD_COLOR_WHITE);   //boule en blanc
+
+        }
+        BSP_LCD_FillCircle(circle_X,circle_Y,10); //écriture de la boule rouge
+        wait(0.01); //attente pour le calcul
+        
+    } //fin while
+}//fin main
\ No newline at end of file