capteur de mouvement

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Revision:
5:f7aa04075cb8
Parent:
0:b045ca817e2c
--- a/main.cpp	Thu Jun 08 13:47:01 2017 +0000
+++ b/main.cpp	Tue Jun 04 14:23:37 2019 +0000
@@ -1,46 +1,73 @@
 #include "mbed.h"
 #include "LCD_DISCO_F746NG.h"
+#include "TS_DISCO_F746NG.h"
 
 LCD_DISCO_F746NG lcd;
+TS_DISCO_F746NG boutton;
 
 DigitalOut led1(LED1);
+DigitalIn detecteur(D1); // sortie du capteur PIR
+
+int x,y;
 
 int main()
-{  
-    led1 = 1;
+{
+    while(1) {
+        int idx = 0;
+        bool fini = true;
+        //uint8_t init;
+        //init = boutton.Init(lcd.GetXSize(),lcd.GetYSize());//initialisation du bouton
+        TS_StateTypeDef TS_State;//etat du tacticle
+        lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"ALARME", CENTER_MODE);
 
-    lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"MBED EXAMPLE", CENTER_MODE);
-    wait(1);
-  
-    while(1)
-    {
-      lcd.Clear(LCD_COLOR_BLUE);
-      lcd.SetBackColor(LCD_COLOR_BLUE);
-      lcd.SetTextColor(LCD_COLOR_WHITE);
-      wait(0.3);
-      lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"DISCOVERY STM32F746NG", CENTER_MODE);
-      wait(1);
+        while(fini) {
+            if (detecteur.read()== 0) {
+                lcd.Clear(LCD_COLOR_BLACK);//effacer l'ecran
+                lcd.SetTextColor(LCD_COLOR_RED);
+                lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Aucun Mouvement Detecte", CENTER_MODE);
+                wait(1);
+                lcd.SetTextColor(LCD_COLOR_GREEN); //affichage rond vert
+                lcd.FillCircle(50, 50, 40);
+                wait(1);
+                lcd.Clear(LCD_COLOR_BLACK);
+
+            } else {
+                lcd.Clear(LCD_COLOR_BLACK);
+                lcd.SetTextColor(LCD_COLOR_RED);
+                lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Mouvement Detecte", CENTER_MODE);
+                wait(1);
+
+                lcd.SetTextColor(LCD_COLOR_RED);//affichage rond rouge
+                lcd.FillCircle(50, 50, 40);
+                wait(1);
 
-      lcd.Clear(LCD_COLOR_GREEN);
-      
-      lcd.SetTextColor(LCD_COLOR_BLUE);
-      lcd.DrawRect(10, 20, 50, 50);
-      wait(0.1);
-      lcd.SetTextColor(LCD_COLOR_BROWN);
-      lcd.DrawCircle(80, 80, 50);
-      wait(0.1);
-      lcd.SetTextColor(LCD_COLOR_YELLOW);
-      lcd.DrawEllipse(150, 150, 50, 100);
-      wait(0.1);
-      lcd.SetTextColor(LCD_COLOR_RED);
-      lcd.FillCircle(200, 200, 40);
-      wait(1);
+
+                lcd.Clear(LCD_COLOR_BLACK);
+                lcd.SetBackColor(LCD_COLOR_BLACK);
+                lcd.SetTextColor(LCD_COLOR_WHITE);
+                lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Arret alarme", CENTER_MODE);//demande d'arret alarme
+
+                lcd.SetTextColor(LCD_COLOR_WHITE);
+                lcd.DrawRect(150,150,180,50);
+                lcd.DisplayStringAt(3, LINE(7), (uint8_t *)"Stop", CENTER_MODE);//bouton stop
+                wait(1);
 
-      lcd.SetBackColor(LCD_COLOR_ORANGE);
-      lcd.SetTextColor(LCD_COLOR_CYAN);
-      lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"HAVE FUN !!!", CENTER_MODE);
-      wait(1);
+                boutton.GetState(&TS_State);
+                 if (TS_State.touchDetected) {
+                    x = TS_State.touchX[idx];//position du touché tactile
+                    y = TS_State.touchY[idx];
+                    lcd.SetTextColor(LCD_COLOR_GREEN);//affichage rond vert si arret alarme
+                    lcd.FillCircle(50,50, 40);
+                    wait(1);
+                    lcd.Clear(LCD_COLOR_BLACK);
+                    fini = false;
+                }
+            }
+            fini = true;
 
-      led1 = !led1;
+        }
+
     }
+
 }
+