capteur de mouvement
Dependencies: TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG
Diff: main.cpp
- Revision:
- 5:f7aa04075cb8
- Parent:
- 0:b045ca817e2c
diff -r abedada304bf -r f7aa04075cb8 main.cpp --- 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; + } + } + } +