![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
j
Dependencies: mbed Grove_LCD_RGB_Backlight
main.cpp@1:4501047958cb, 2020-04-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |