capteur de mouvement

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
larvemouse
Date:
Tue Jun 04 14:23:37 2019 +0000
Revision:
5:f7aa04075cb8
Parent:
0:b045ca817e2c
version finale capteur de mouvement ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:b045ca817e2c 1 #include "mbed.h"
bcostm 0:b045ca817e2c 2 #include "LCD_DISCO_F746NG.h"
larvemouse 5:f7aa04075cb8 3 #include "TS_DISCO_F746NG.h"
bcostm 0:b045ca817e2c 4
bcostm 0:b045ca817e2c 5 LCD_DISCO_F746NG lcd;
larvemouse 5:f7aa04075cb8 6 TS_DISCO_F746NG boutton;
bcostm 0:b045ca817e2c 7
bcostm 0:b045ca817e2c 8 DigitalOut led1(LED1);
larvemouse 5:f7aa04075cb8 9 DigitalIn detecteur(D1); // sortie du capteur PIR
larvemouse 5:f7aa04075cb8 10
larvemouse 5:f7aa04075cb8 11 int x,y;
bcostm 0:b045ca817e2c 12
bcostm 0:b045ca817e2c 13 int main()
larvemouse 5:f7aa04075cb8 14 {
larvemouse 5:f7aa04075cb8 15 while(1) {
larvemouse 5:f7aa04075cb8 16 int idx = 0;
larvemouse 5:f7aa04075cb8 17 bool fini = true;
larvemouse 5:f7aa04075cb8 18 //uint8_t init;
larvemouse 5:f7aa04075cb8 19 //init = boutton.Init(lcd.GetXSize(),lcd.GetYSize());//initialisation du bouton
larvemouse 5:f7aa04075cb8 20 TS_StateTypeDef TS_State;//etat du tacticle
larvemouse 5:f7aa04075cb8 21 lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"ALARME", CENTER_MODE);
bcostm 0:b045ca817e2c 22
larvemouse 5:f7aa04075cb8 23 while(fini) {
larvemouse 5:f7aa04075cb8 24 if (detecteur.read()== 0) {
larvemouse 5:f7aa04075cb8 25 lcd.Clear(LCD_COLOR_BLACK);//effacer l'ecran
larvemouse 5:f7aa04075cb8 26 lcd.SetTextColor(LCD_COLOR_RED);
larvemouse 5:f7aa04075cb8 27 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Aucun Mouvement Detecte", CENTER_MODE);
larvemouse 5:f7aa04075cb8 28 wait(1);
larvemouse 5:f7aa04075cb8 29 lcd.SetTextColor(LCD_COLOR_GREEN); //affichage rond vert
larvemouse 5:f7aa04075cb8 30 lcd.FillCircle(50, 50, 40);
larvemouse 5:f7aa04075cb8 31 wait(1);
larvemouse 5:f7aa04075cb8 32 lcd.Clear(LCD_COLOR_BLACK);
larvemouse 5:f7aa04075cb8 33
larvemouse 5:f7aa04075cb8 34 } else {
larvemouse 5:f7aa04075cb8 35 lcd.Clear(LCD_COLOR_BLACK);
larvemouse 5:f7aa04075cb8 36 lcd.SetTextColor(LCD_COLOR_RED);
larvemouse 5:f7aa04075cb8 37 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Mouvement Detecte", CENTER_MODE);
larvemouse 5:f7aa04075cb8 38 wait(1);
larvemouse 5:f7aa04075cb8 39
larvemouse 5:f7aa04075cb8 40 lcd.SetTextColor(LCD_COLOR_RED);//affichage rond rouge
larvemouse 5:f7aa04075cb8 41 lcd.FillCircle(50, 50, 40);
larvemouse 5:f7aa04075cb8 42 wait(1);
bcostm 0:b045ca817e2c 43
larvemouse 5:f7aa04075cb8 44
larvemouse 5:f7aa04075cb8 45 lcd.Clear(LCD_COLOR_BLACK);
larvemouse 5:f7aa04075cb8 46 lcd.SetBackColor(LCD_COLOR_BLACK);
larvemouse 5:f7aa04075cb8 47 lcd.SetTextColor(LCD_COLOR_WHITE);
larvemouse 5:f7aa04075cb8 48 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"Arret alarme", CENTER_MODE);//demande d'arret alarme
larvemouse 5:f7aa04075cb8 49
larvemouse 5:f7aa04075cb8 50 lcd.SetTextColor(LCD_COLOR_WHITE);
larvemouse 5:f7aa04075cb8 51 lcd.DrawRect(150,150,180,50);
larvemouse 5:f7aa04075cb8 52 lcd.DisplayStringAt(3, LINE(7), (uint8_t *)"Stop", CENTER_MODE);//bouton stop
larvemouse 5:f7aa04075cb8 53 wait(1);
bcostm 0:b045ca817e2c 54
larvemouse 5:f7aa04075cb8 55 boutton.GetState(&TS_State);
larvemouse 5:f7aa04075cb8 56 if (TS_State.touchDetected) {
larvemouse 5:f7aa04075cb8 57 x = TS_State.touchX[idx];//position du touché tactile
larvemouse 5:f7aa04075cb8 58 y = TS_State.touchY[idx];
larvemouse 5:f7aa04075cb8 59 lcd.SetTextColor(LCD_COLOR_GREEN);//affichage rond vert si arret alarme
larvemouse 5:f7aa04075cb8 60 lcd.FillCircle(50,50, 40);
larvemouse 5:f7aa04075cb8 61 wait(1);
larvemouse 5:f7aa04075cb8 62 lcd.Clear(LCD_COLOR_BLACK);
larvemouse 5:f7aa04075cb8 63 fini = false;
larvemouse 5:f7aa04075cb8 64 }
larvemouse 5:f7aa04075cb8 65 }
larvemouse 5:f7aa04075cb8 66 fini = true;
bcostm 0:b045ca817e2c 67
larvemouse 5:f7aa04075cb8 68 }
larvemouse 5:f7aa04075cb8 69
bcostm 0:b045ca817e2c 70 }
larvemouse 5:f7aa04075cb8 71
bcostm 0:b045ca817e2c 72 }
larvemouse 5:f7aa04075cb8 73