prog

Dependencies:   SRF08 TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
Seb1793
Date:
Tue Jun 30 15:08:18 2020 +0000
Revision:
0:0a8311d5dc40
Prog_interfacage

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Seb1793 0:0a8311d5dc40 1 #include "mbed.h"
Seb1793 0:0a8311d5dc40 2 #include "TS_DISCO_F746NG.h"
Seb1793 0:0a8311d5dc40 3 #include "LCD_DISCO_F746NG.h"
Seb1793 0:0a8311d5dc40 4 #include "SRF08.h"
Seb1793 0:0a8311d5dc40 5
Seb1793 0:0a8311d5dc40 6
Seb1793 0:0a8311d5dc40 7 TS_DISCO_F746NG ts;
Seb1793 0:0a8311d5dc40 8 LCD_DISCO_F746NG lcd;
Seb1793 0:0a8311d5dc40 9 SRF08 srf08(PB_9, PB_8, 0xE0);
Seb1793 0:0a8311d5dc40 10 DigitalOut led1(LED1);
Seb1793 0:0a8311d5dc40 11
Seb1793 0:0a8311d5dc40 12
Seb1793 0:0a8311d5dc40 13 int main()
Seb1793 0:0a8311d5dc40 14 {
Seb1793 0:0a8311d5dc40 15 TS_StateTypeDef TS_State;
Seb1793 0:0a8311d5dc40 16
Seb1793 0:0a8311d5dc40 17 ts.Init(420, 272);
Seb1793 0:0a8311d5dc40 18 bool flag = 0,flag1=0;
Seb1793 0:0a8311d5dc40 19 char machaine[50] = {0};
Seb1793 0:0a8311d5dc40 20 float capteur_f = 0;
Seb1793 0:0a8311d5dc40 21
Seb1793 0:0a8311d5dc40 22 while(1) {
Seb1793 0:0a8311d5dc40 23
Seb1793 0:0a8311d5dc40 24 lcd.SetBackColor(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 25 lcd.SetTextColor(LCD_COLOR_WHITE);
Seb1793 0:0a8311d5dc40 26 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"CAPTEUR ULTRASON", CENTER_MODE);
Seb1793 0:0a8311d5dc40 27 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"ALARM JEU VALEUR CAPTEUR", CENTER_MODE);
Seb1793 0:0a8311d5dc40 28 ts.GetState(&TS_State);
Seb1793 0:0a8311d5dc40 29 if ((TS_State.touchDetected) && (TS_State.touchX[0] > 320)) {
Seb1793 0:0a8311d5dc40 30 wait(1);
Seb1793 0:0a8311d5dc40 31 led1 = 1;
Seb1793 0:0a8311d5dc40 32 flag=1;
Seb1793 0:0a8311d5dc40 33 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 34 while(flag!=0) {
Seb1793 0:0a8311d5dc40 35 ts.GetState(&TS_State);
Seb1793 0:0a8311d5dc40 36 capteur_f = srf08.read();
Seb1793 0:0a8311d5dc40 37 sprintf(machaine,"valeur %f", capteur_f);
Seb1793 0:0a8311d5dc40 38 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)machaine, CENTER_MODE);
Seb1793 0:0a8311d5dc40 39 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"Retour MENU", CENTER_MODE);
Seb1793 0:0a8311d5dc40 40 if (TS_State.touchDetected) {
Seb1793 0:0a8311d5dc40 41 flag=0;
Seb1793 0:0a8311d5dc40 42 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 43 }
Seb1793 0:0a8311d5dc40 44 wait(0.1);
Seb1793 0:0a8311d5dc40 45 }
Seb1793 0:0a8311d5dc40 46 }
Seb1793 0:0a8311d5dc40 47 if ((TS_State.touchDetected) && (TS_State.touchX[0] < 240) && (130 < TS_State.touchX[0])) {
Seb1793 0:0a8311d5dc40 48 wait(1);
Seb1793 0:0a8311d5dc40 49 flag1=1;
Seb1793 0:0a8311d5dc40 50 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 51 while(flag1!=0) {
Seb1793 0:0a8311d5dc40 52 ts.GetState(&TS_State);
Seb1793 0:0a8311d5dc40 53 capteur_f = srf08.read();
Seb1793 0:0a8311d5dc40 54 if(capteur_f<4) {
Seb1793 0:0a8311d5dc40 55 lcd.Clear(LCD_COLOR_BLUE);
Seb1793 0:0a8311d5dc40 56 }
Seb1793 0:0a8311d5dc40 57 if((4<=capteur_f)&&(capteur_f<=6)) {
Seb1793 0:0a8311d5dc40 58 lcd.Clear(LCD_COLOR_GREEN);
Seb1793 0:0a8311d5dc40 59 }
Seb1793 0:0a8311d5dc40 60 if((7<=capteur_f)&&(capteur_f<8)) {
Seb1793 0:0a8311d5dc40 61 lcd.Clear(LCD_COLOR_RED);
Seb1793 0:0a8311d5dc40 62 }
Seb1793 0:0a8311d5dc40 63 if((8<=capteur_f)&&(capteur_f<10)) {
Seb1793 0:0a8311d5dc40 64 lcd.Clear(LCD_COLOR_CYAN);
Seb1793 0:0a8311d5dc40 65 }
Seb1793 0:0a8311d5dc40 66 if((10<=capteur_f)&&(capteur_f<=12)) {
Seb1793 0:0a8311d5dc40 67 lcd.Clear(LCD_COLOR_MAGENTA);
Seb1793 0:0a8311d5dc40 68 }
Seb1793 0:0a8311d5dc40 69 if(12<capteur_f) {
Seb1793 0:0a8311d5dc40 70 lcd.Clear(LCD_COLOR_YELLOW);
Seb1793 0:0a8311d5dc40 71 }
Seb1793 0:0a8311d5dc40 72 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"Retour MENU", CENTER_MODE);
Seb1793 0:0a8311d5dc40 73 if (TS_State.touchDetected) {
Seb1793 0:0a8311d5dc40 74 flag1=0;
Seb1793 0:0a8311d5dc40 75 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 76 }
Seb1793 0:0a8311d5dc40 77 wait(0.1);
Seb1793 0:0a8311d5dc40 78 }
Seb1793 0:0a8311d5dc40 79
Seb1793 0:0a8311d5dc40 80 }
Seb1793 0:0a8311d5dc40 81 if ((TS_State.touchDetected) && (TS_State.touchX[0] < 100)) {
Seb1793 0:0a8311d5dc40 82 wait(1);
Seb1793 0:0a8311d5dc40 83 led1 = 0;
Seb1793 0:0a8311d5dc40 84 flag=0;
Seb1793 0:0a8311d5dc40 85 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 86 while(flag!=1) {
Seb1793 0:0a8311d5dc40 87 ts.GetState(&TS_State);
Seb1793 0:0a8311d5dc40 88 capteur_f = srf08.read();
Seb1793 0:0a8311d5dc40 89 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"Retour MENU", CENTER_MODE);
Seb1793 0:0a8311d5dc40 90 if(capteur_f<10 && capteur_f!=0) {
Seb1793 0:0a8311d5dc40 91 lcd.SetBackColor(LCD_COLOR_RED);
Seb1793 0:0a8311d5dc40 92 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"ALERTE INTRUSION", CENTER_MODE);
Seb1793 0:0a8311d5dc40 93 }
Seb1793 0:0a8311d5dc40 94 if (TS_State.touchDetected) {
Seb1793 0:0a8311d5dc40 95 lcd.SetBackColor(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 96 flag=1;
Seb1793 0:0a8311d5dc40 97 lcd.Clear(LCD_COLOR_BLACK);
Seb1793 0:0a8311d5dc40 98 }
Seb1793 0:0a8311d5dc40 99 wait(0.1);
Seb1793 0:0a8311d5dc40 100
Seb1793 0:0a8311d5dc40 101
Seb1793 0:0a8311d5dc40 102 }
Seb1793 0:0a8311d5dc40 103 }
Seb1793 0:0a8311d5dc40 104
Seb1793 0:0a8311d5dc40 105 wait(0.1);
Seb1793 0:0a8311d5dc40 106 }
Seb1793 0:0a8311d5dc40 107 }