j

Dependencies:   mbed Grove_LCD_RGB_Backlight

Committer:
Saide
Date:
Sun Apr 26 08:08:56 2020 +0000
Revision:
1:4501047958cb
Parent:
0:821481a55d81
LCD_Cachan

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leo0617 0:821481a55d81 1 #include "mbed.h"
leo0617 0:821481a55d81 2 #include "Grove_LCD_RGB_Backlight.h"
leo0617 0:821481a55d81 3 #include <string>
leo0617 0:821481a55d81 4 #include <cstring>
leo0617 0:821481a55d81 5 #include <stdio.h>
leo0617 0:821481a55d81 6 #include <string.h>
leo0617 0:821481a55d81 7
leo0617 0:821481a55d81 8 #define SIZE 4
leo0617 0:821481a55d81 9
leo0617 0:821481a55d81 10 DigitalOut myled(LED2);
leo0617 0:821481a55d81 11 AnalogIn xAxis(p19);
leo0617 0:821481a55d81 12 AnalogIn yAxis(p20);
leo0617 0:821481a55d81 13 DigitalIn sw(p18);
leo0617 0:821481a55d81 14 Grove_LCD_RGB_Backlight LCD(p9,p10);
leo0617 0:821481a55d81 15
leo0617 0:821481a55d81 16 void lecture(void);
leo0617 0:821481a55d81 17 void affMenu(char[][64], int);
leo0617 0:821481a55d81 18
Saide 1:4501047958cb 19 float xValue, yValue,xValue_AV,yValue_AV;
leo0617 0:821481a55d81 20 int switchValue;
leo0617 0:821481a55d81 21 int sel = 0;
Saide 1:4501047958cb 22 int etat=0;
leo0617 0:821481a55d81 23 int main() {
leo0617 0:821481a55d81 24 sw.mode(PullUp);
Saide 1:4501047958cb 25
leo0617 0:821481a55d81 26 while(1) {
Saide 1:4501047958cb 27
leo0617 0:821481a55d81 28 LCD.setRGB(255, 255, 255);
leo0617 0:821481a55d81 29 lecture();
Saide 1:4501047958cb 30 switch(etat) {
Saide 1:4501047958cb 31 case 0 : //Menu
Saide 1:4501047958cb 32 if(xValue==0 && xValue<xValue_AV)
Saide 1:4501047958cb 33 {
Saide 1:4501047958cb 34
Saide 1:4501047958cb 35
Saide 1:4501047958cb 36 etat=1;
Saide 1:4501047958cb 37 }
Saide 1:4501047958cb 38 if(xValue==1 && xValue>xValue_AV)
Saide 1:4501047958cb 39 {
Saide 1:4501047958cb 40 etat=5;
Saide 1:4501047958cb 41 }
Saide 1:4501047958cb 42 break;
Saide 1:4501047958cb 43 case 1 ://Capteurs
Saide 1:4501047958cb 44 LCD.setRGB(255, 0, 0);
Saide 1:4501047958cb 45 if(xValue==0 && xValue<xValue_AV)
Saide 1:4501047958cb 46 {
Saide 1:4501047958cb 47 etat=3;
Saide 1:4501047958cb 48 }
Saide 1:4501047958cb 49 else if (yValue==1 && yValue>yValue_AV)
Saide 1:4501047958cb 50 {
Saide 1:4501047958cb 51 etat=2;
Saide 1:4501047958cb 52 }
Saide 1:4501047958cb 53 if(xValue==1 && xValue>xValue_AV)
Saide 1:4501047958cb 54 {
Saide 1:4501047958cb 55 etat=0;
Saide 1:4501047958cb 56 }
Saide 1:4501047958cb 57 break;
Saide 1:4501047958cb 58 case 2 ://Valeurs capteurs
Saide 1:4501047958cb 59 LCD.setRGB(255, 0, 0);
Saide 1:4501047958cb 60 if(yValue==0 && yValue<yValue_AV)
Saide 1:4501047958cb 61 {
Saide 1:4501047958cb 62 etat=1;
Saide 1:4501047958cb 63 }
Saide 1:4501047958cb 64
Saide 1:4501047958cb 65
Saide 1:4501047958cb 66 break;
Saide 1:4501047958cb 67 case 3 ://Position Balle
Saide 1:4501047958cb 68 LCD.setRGB(0, 255, 0);
Saide 1:4501047958cb 69 if(xValue==0 && xValue<xValue_AV)
Saide 1:4501047958cb 70 {
Saide 1:4501047958cb 71 etat=5;
Saide 1:4501047958cb 72 }
Saide 1:4501047958cb 73 else if (yValue==1 && yValue>yValue_AV)
Saide 1:4501047958cb 74 {
Saide 1:4501047958cb 75 etat=4;
Saide 1:4501047958cb 76 }
Saide 1:4501047958cb 77 if(xValue==1 && xValue>xValue_AV)
Saide 1:4501047958cb 78 {
Saide 1:4501047958cb 79 etat=1;
Saide 1:4501047958cb 80 }
Saide 1:4501047958cb 81 break;
Saide 1:4501047958cb 82 case 4 : // coords
Saide 1:4501047958cb 83 LCD.setRGB(0, 255, 0);
Saide 1:4501047958cb 84 if(yValue==0 && yValue<yValue_AV)
Saide 1:4501047958cb 85 {
Saide 1:4501047958cb 86 etat=3;
Saide 1:4501047958cb 87 }
Saide 1:4501047958cb 88 break;
Saide 1:4501047958cb 89 case 5 : // ETAT ?
Saide 1:4501047958cb 90 LCD.setRGB(0, 0, 255);
Saide 1:4501047958cb 91 if(xValue==0 && xValue<xValue_AV)
Saide 1:4501047958cb 92 {
Saide 1:4501047958cb 93 etat=0;
Saide 1:4501047958cb 94 }
Saide 1:4501047958cb 95 if(xValue==1 && xValue>xValue_AV)
Saide 1:4501047958cb 96 {
Saide 1:4501047958cb 97 etat=3;
Saide 1:4501047958cb 98 }
Saide 1:4501047958cb 99 break;
Saide 1:4501047958cb 100
Saide 1:4501047958cb 101 }
Saide 1:4501047958cb 102 switch(etat) {
Saide 1:4501047958cb 103 case 0 :
Saide 1:4501047958cb 104
Saide 1:4501047958cb 105 LCD.locate(0, 0);
Saide 1:4501047958cb 106 LCD.print("Menu : ");
Saide 1:4501047958cb 107
Saide 1:4501047958cb 108 break;
Saide 1:4501047958cb 109
Saide 1:4501047958cb 110 case 1 :
Saide 1:4501047958cb 111
Saide 1:4501047958cb 112 LCD.locate(0, 0);
Saide 1:4501047958cb 113 LCD.print("Capteurs -> ");
Saide 1:4501047958cb 114 break;
Saide 1:4501047958cb 115 case 2 :
Saide 1:4501047958cb 116
Saide 1:4501047958cb 117 LCD.locate(0, 0);
Saide 1:4501047958cb 118 LCD.print("Valeurs capteurs ");
Saide 1:4501047958cb 119 break;
Saide 1:4501047958cb 120 case 3 :
Saide 1:4501047958cb 121
Saide 1:4501047958cb 122 LCD.locate(0, 0);
Saide 1:4501047958cb 123 LCD.print("Position balle-> ");
Saide 1:4501047958cb 124 break;
Saide 1:4501047958cb 125 case 4 :
Saide 1:4501047958cb 126
Saide 1:4501047958cb 127 LCD.locate(0, 0);
Saide 1:4501047958cb 128 LCD.print("Coordonees X Y ");
Saide 1:4501047958cb 129 break;
Saide 1:4501047958cb 130 case 5 :
Saide 1:4501047958cb 131
Saide 1:4501047958cb 132 LCD.locate(0, 0);
Saide 1:4501047958cb 133 LCD.print("Valeurs ETATS ");
Saide 1:4501047958cb 134 break;
Saide 1:4501047958cb 135
Saide 1:4501047958cb 136
leo0617 0:821481a55d81 137 }
leo0617 0:821481a55d81 138 }
leo0617 0:821481a55d81 139
Saide 1:4501047958cb 140 }
Saide 1:4501047958cb 141 void lecture()
Saide 1:4501047958cb 142 {
Saide 1:4501047958cb 143 xValue_AV=xValue;
Saide 1:4501047958cb 144 yValue_AV=yValue;
Saide 1:4501047958cb 145 if(xAxis.read()<=0.4)
Saide 1:4501047958cb 146 {
Saide 1:4501047958cb 147 xValue =0;
Saide 1:4501047958cb 148 }
Saide 1:4501047958cb 149 else
Saide 1:4501047958cb 150 {
Saide 1:4501047958cb 151 if(xAxis.read()>=0.85)
Saide 1:4501047958cb 152 {
Saide 1:4501047958cb 153 xValue=1;
Saide 1:4501047958cb 154 }
Saide 1:4501047958cb 155 else
Saide 1:4501047958cb 156 {
Saide 1:4501047958cb 157 xValue=xAxis.read();
Saide 1:4501047958cb 158 }
Saide 1:4501047958cb 159 }
Saide 1:4501047958cb 160 if(yAxis.read()<=0.4)
Saide 1:4501047958cb 161 {
Saide 1:4501047958cb 162 yValue =0;
Saide 1:4501047958cb 163 }
Saide 1:4501047958cb 164 else
Saide 1:4501047958cb 165 {
Saide 1:4501047958cb 166 if(yAxis.read()>=0.85)
Saide 1:4501047958cb 167 {
Saide 1:4501047958cb 168 yValue=1;
Saide 1:4501047958cb 169 }
Saide 1:4501047958cb 170 else
Saide 1:4501047958cb 171 {
Saide 1:4501047958cb 172 yValue=yAxis.read();
Saide 1:4501047958cb 173 }
Saide 1:4501047958cb 174 }
Saide 1:4501047958cb 175
leo0617 0:821481a55d81 176 switchValue = sw.read();
Saide 1:4501047958cb 177
Saide 1:4501047958cb 178
leo0617 0:821481a55d81 179 }
leo0617 0:821481a55d81 180
leo0617 0:821481a55d81 181 void affMenu(char cDisp[][64], int size){
leo0617 0:821481a55d81 182 for(int i = sel; i < sel + 2; i++){
leo0617 0:821481a55d81 183 if(i < size){
leo0617 0:821481a55d81 184 LCD.locate(0, i-sel);
leo0617 0:821481a55d81 185 LCD.print(cDisp[i]);
leo0617 0:821481a55d81 186 }
leo0617 0:821481a55d81 187 }
leo0617 0:821481a55d81 188 }