kevin ollivier / Mbed 2 deprecated LCD_clavier

Dependencies:   mbed

Committer:
kevin_38
Date:
Tue May 29 09:30:20 2012 +0000
Revision:
0:18d40dac71ff

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevin_38 0:18d40dac71ff 1 #include "mbed.h"
kevin_38 0:18d40dac71ff 2 #include "TextLCD_4x40.h"
kevin_38 0:18d40dac71ff 3
kevin_38 0:18d40dac71ff 4 DigitalOut led1(LED1);
kevin_38 0:18d40dac71ff 5 AnalogIn analog(p15);
kevin_38 0:18d40dac71ff 6 //Serial pc(USBTX, USBRX); // tx, rx
kevin_38 0:18d40dac71ff 7 //Serial xbee1(p28, p27); // creation du port serie sur les broches 28 et 27
kevin_38 0:18d40dac71ff 8 TextLCD_4x40 lcd1(p6, p7, p8, p9, p10, p11); // rs, e1, d4-d7 -> les 2 lignes du haut
kevin_38 0:18d40dac71ff 9 TextLCD_4x40 lcd2(p6, p5, p8, p9, p10, p11); // rs, e2, d4-d7 -> les 2 lignes du bas
kevin_38 0:18d40dac71ff 10
kevin_38 0:18d40dac71ff 11
kevin_38 0:18d40dac71ff 12
kevin_38 0:18d40dac71ff 13
kevin_38 0:18d40dac71ff 14
kevin_38 0:18d40dac71ff 15 void menu1() {
kevin_38 0:18d40dac71ff 16
kevin_38 0:18d40dac71ff 17 lcd1.cls();
kevin_38 0:18d40dac71ff 18 lcd2.cls();
kevin_38 0:18d40dac71ff 19 lcd1.printf("\f ---> Module Radar \n");
kevin_38 0:18d40dac71ff 20 lcd1.printf(" Communication PC ");
kevin_38 0:18d40dac71ff 21 lcd2.printf("\f Affichage des donn\1es \n");
kevin_38 0:18d40dac71ff 22 lcd2.printf(" ");
kevin_38 0:18d40dac71ff 23
kevin_38 0:18d40dac71ff 24 }
kevin_38 0:18d40dac71ff 25
kevin_38 0:18d40dac71ff 26 void menu2() {
kevin_38 0:18d40dac71ff 27
kevin_38 0:18d40dac71ff 28 lcd1.cls();
kevin_38 0:18d40dac71ff 29 lcd2.cls();
kevin_38 0:18d40dac71ff 30 lcd1.printf("\f Module Radar \n");
kevin_38 0:18d40dac71ff 31 lcd1.printf(" ---> Communication PC ");
kevin_38 0:18d40dac71ff 32 lcd2.printf("\f Affichage des donn\1es \n");
kevin_38 0:18d40dac71ff 33 lcd2.printf(" ");
kevin_38 0:18d40dac71ff 34
kevin_38 0:18d40dac71ff 35
kevin_38 0:18d40dac71ff 36 }
kevin_38 0:18d40dac71ff 37
kevin_38 0:18d40dac71ff 38 void menu3() {
kevin_38 0:18d40dac71ff 39
kevin_38 0:18d40dac71ff 40 lcd1.cls();
kevin_38 0:18d40dac71ff 41 lcd2.cls();
kevin_38 0:18d40dac71ff 42 lcd1.printf("\f Module Radar \n");
kevin_38 0:18d40dac71ff 43 lcd1.printf(" Communication PC ");
kevin_38 0:18d40dac71ff 44 lcd2.printf("\f ---> Affichage des donn\1es \n");
kevin_38 0:18d40dac71ff 45 lcd2.printf(" ");
kevin_38 0:18d40dac71ff 46 }
kevin_38 0:18d40dac71ff 47
kevin_38 0:18d40dac71ff 48 void menu10() {
kevin_38 0:18d40dac71ff 49 lcd1.cls();
kevin_38 0:18d40dac71ff 50 lcd2.cls();
kevin_38 0:18d40dac71ff 51 lcd1.printf("\fModule --> R\1cup\1ration des donn\1es\n");
kevin_38 0:18d40dac71ff 52 lcd1.printf(" Radar Effacement des donn\1es ");
kevin_38 0:18d40dac71ff 53 lcd2.printf("\f R\1glage seuil de vitesse \n");
kevin_38 0:18d40dac71ff 54 lcd2.printf(" R\1glage horloge, date ");
kevin_38 0:18d40dac71ff 55 }
kevin_38 0:18d40dac71ff 56
kevin_38 0:18d40dac71ff 57 void menu11() {
kevin_38 0:18d40dac71ff 58 lcd1.cls();
kevin_38 0:18d40dac71ff 59 lcd2.cls();
kevin_38 0:18d40dac71ff 60 lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
kevin_38 0:18d40dac71ff 61 lcd1.printf(" Radar --> Effacement des donn\1es ");
kevin_38 0:18d40dac71ff 62 lcd2.printf("\f R\1glage seuil de vitesse \n");
kevin_38 0:18d40dac71ff 63 lcd2.printf(" R\1glage horloge, date ");
kevin_38 0:18d40dac71ff 64 }
kevin_38 0:18d40dac71ff 65
kevin_38 0:18d40dac71ff 66 void menu12() {
kevin_38 0:18d40dac71ff 67
kevin_38 0:18d40dac71ff 68 lcd1.cls();
kevin_38 0:18d40dac71ff 69 lcd2.cls();
kevin_38 0:18d40dac71ff 70 lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
kevin_38 0:18d40dac71ff 71 lcd1.printf(" Radar Effacement des donn\1es ");
kevin_38 0:18d40dac71ff 72 lcd2.printf("\f --> R\1glage seuil de vitesse \n");
kevin_38 0:18d40dac71ff 73 lcd2.printf(" R\1glage horloge, date ");
kevin_38 0:18d40dac71ff 74 }
kevin_38 0:18d40dac71ff 75
kevin_38 0:18d40dac71ff 76 void menu13() {
kevin_38 0:18d40dac71ff 77
kevin_38 0:18d40dac71ff 78 lcd1.cls();
kevin_38 0:18d40dac71ff 79 lcd2.cls();
kevin_38 0:18d40dac71ff 80 lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
kevin_38 0:18d40dac71ff 81 lcd1.printf(" Radar Effacement des donn\1es ");
kevin_38 0:18d40dac71ff 82 lcd2.printf("\f R\1glage seuil de vitesse \n");
kevin_38 0:18d40dac71ff 83 lcd2.printf(" --> R\1glage horloge, date ");
kevin_38 0:18d40dac71ff 84
kevin_38 0:18d40dac71ff 85 }
kevin_38 0:18d40dac71ff 86
kevin_38 0:18d40dac71ff 87 void menu20() {
kevin_38 0:18d40dac71ff 88 lcd1.cls();
kevin_38 0:18d40dac71ff 89 lcd2.cls();
kevin_38 0:18d40dac71ff 90 lcd1.printf("\f Communication PC \n");
kevin_38 0:18d40dac71ff 91 lcd1.printf(" ");
kevin_38 0:18d40dac71ff 92 lcd2.printf("\f ---> Transfert des donn\1es \n");
kevin_38 0:18d40dac71ff 93 lcd2.printf(" Effacement donn\1es du boitier ");
kevin_38 0:18d40dac71ff 94 }
kevin_38 0:18d40dac71ff 95
kevin_38 0:18d40dac71ff 96 void menu21() {
kevin_38 0:18d40dac71ff 97 lcd1.cls();
kevin_38 0:18d40dac71ff 98 lcd2.cls();
kevin_38 0:18d40dac71ff 99 lcd1.printf("\f Communication PC \n");
kevin_38 0:18d40dac71ff 100 lcd1.printf(" ");
kevin_38 0:18d40dac71ff 101 lcd2.printf("\f Transfert des donn\1es \n");
kevin_38 0:18d40dac71ff 102 lcd2.printf(" ---> Effacement donn\1es du boitier ");
kevin_38 0:18d40dac71ff 103 }
kevin_38 0:18d40dac71ff 104
kevin_38 0:18d40dac71ff 105 void menu30() {
kevin_38 0:18d40dac71ff 106 lcd1.cls();
kevin_38 0:18d40dac71ff 107 lcd2.cls();
kevin_38 0:18d40dac71ff 108 lcd1.printf("\f Affichage des donn\1es \n");
kevin_38 0:18d40dac71ff 109 lcd1.printf(" ");
kevin_38 0:18d40dac71ff 110 lcd2.printf("\f \n");
kevin_38 0:18d40dac71ff 111 lcd2.printf(" ");
kevin_38 0:18d40dac71ff 112 }
kevin_38 0:18d40dac71ff 113
kevin_38 0:18d40dac71ff 114 /* void menu22() {
kevin_38 0:18d40dac71ff 115 lcd1.cls();
kevin_38 0:18d40dac71ff 116 lcd2.cls();
kevin_38 0:18d40dac71ff 117 lcd1.printf("\f // Fonction 2 \n");
kevin_38 0:18d40dac71ff 118 lcd1.printf(" Fonction 2.1 ");
kevin_38 0:18d40dac71ff 119 lcd2.printf("\f Fonction 2.2 \n");
kevin_38 0:18d40dac71ff 120 lcd2.printf(" ---> Fonction 2.3 ");
kevin_38 0:18d40dac71ff 121 }
kevin_38 0:18d40dac71ff 122
kevin_38 0:18d40dac71ff 123 void menu30() {
kevin_38 0:18d40dac71ff 124 lcd1.cls();
kevin_38 0:18d40dac71ff 125 lcd2.cls();
kevin_38 0:18d40dac71ff 126 lcd1.printf("\f // Fonction 3 \n");
kevin_38 0:18d40dac71ff 127 lcd1.printf(" ---> Fonction 3.1 ");
kevin_38 0:18d40dac71ff 128 lcd2.printf("\f Fonction 3.2 \n");
kevin_38 0:18d40dac71ff 129 lcd2.printf(" Fonction 3.3 ");
kevin_38 0:18d40dac71ff 130 }
kevin_38 0:18d40dac71ff 131
kevin_38 0:18d40dac71ff 132 void menu31() {
kevin_38 0:18d40dac71ff 133 lcd1.cls();
kevin_38 0:18d40dac71ff 134 lcd2.cls();
kevin_38 0:18d40dac71ff 135 lcd1.printf("\f // Fonction 3 \n");
kevin_38 0:18d40dac71ff 136 lcd1.printf(" Fonction 3.1 ");
kevin_38 0:18d40dac71ff 137 lcd2.printf("\f ---> Fonction 3.2 \n");
kevin_38 0:18d40dac71ff 138 lcd2.printf(" Fonction 3.3 ");
kevin_38 0:18d40dac71ff 139 }
kevin_38 0:18d40dac71ff 140
kevin_38 0:18d40dac71ff 141 void menu32() {
kevin_38 0:18d40dac71ff 142 lcd1.cls();
kevin_38 0:18d40dac71ff 143 lcd2.cls();
kevin_38 0:18d40dac71ff 144 lcd1.printf("\f // Fonction 3 \n");
kevin_38 0:18d40dac71ff 145 lcd1.printf(" Fonction 3.1 ");
kevin_38 0:18d40dac71ff 146 lcd2.printf("\f Fonction 3.2 \n");
kevin_38 0:18d40dac71ff 147 lcd2.printf(" ---> Fonction 3.3 ");
kevin_38 0:18d40dac71ff 148 }
kevin_38 0:18d40dac71ff 149
kevin_38 0:18d40dac71ff 150 void menu40() {
kevin_38 0:18d40dac71ff 151 lcd1.cls();
kevin_38 0:18d40dac71ff 152 lcd2.cls();
kevin_38 0:18d40dac71ff 153 lcd1.printf("\f // Fonction 4 \n");
kevin_38 0:18d40dac71ff 154 lcd1.printf(" Fonction 3.1 ");
kevin_38 0:18d40dac71ff 155 lcd2.printf("\f Fonction 3.2 \n");
kevin_38 0:18d40dac71ff 156 lcd2.printf(" ---> Fonction 3.3 ");
kevin_38 0:18d40dac71ff 157 } */
kevin_38 0:18d40dac71ff 158
kevin_38 0:18d40dac71ff 159 ///////////// Fonction clavier \\\\\\\\\\\\\\\\
kevin_38 0:18d40dac71ff 160
kevin_38 0:18d40dac71ff 161 void clavier(int *menu)
kevin_38 0:18d40dac71ff 162 {
kevin_38 0:18d40dac71ff 163 float mesure, tension;
kevin_38 0:18d40dac71ff 164
kevin_38 0:18d40dac71ff 165 do {
kevin_38 0:18d40dac71ff 166
kevin_38 0:18d40dac71ff 167 do {
kevin_38 0:18d40dac71ff 168 mesure = analog.read();
kevin_38 0:18d40dac71ff 169 tension = mesure * 3.3;
kevin_38 0:18d40dac71ff 170
kevin_38 0:18d40dac71ff 171 } while ( tension < 3.25 ); // attente retour clavier au repos
kevin_38 0:18d40dac71ff 172
kevin_38 0:18d40dac71ff 173 wait_ms(30);
kevin_38 0:18d40dac71ff 174 mesure = analog.read();
kevin_38 0:18d40dac71ff 175 tension = mesure * 3.3;
kevin_38 0:18d40dac71ff 176
kevin_38 0:18d40dac71ff 177
kevin_38 0:18d40dac71ff 178 if (tension > 0.86 & tension < 0.95) {
kevin_38 0:18d40dac71ff 179
kevin_38 0:18d40dac71ff 180 (*menu)--;
kevin_38 0:18d40dac71ff 181
kevin_38 0:18d40dac71ff 182 if (*menu == 0) { *menu = 4; }
kevin_38 0:18d40dac71ff 183 else if (*menu == 9) { *menu = 13; }
kevin_38 0:18d40dac71ff 184 else if (*menu == 19) { *menu = 21;}
kevin_38 0:18d40dac71ff 185 }
kevin_38 0:18d40dac71ff 186
kevin_38 0:18d40dac71ff 187 else if (tension > 1.32 & tension < 1.41) {
kevin_38 0:18d40dac71ff 188
kevin_38 0:18d40dac71ff 189 *menu = (*menu) /10;
kevin_38 0:18d40dac71ff 190 }
kevin_38 0:18d40dac71ff 191
kevin_38 0:18d40dac71ff 192 else if (tension > 2.05 & tension < 2.14) {
kevin_38 0:18d40dac71ff 193
kevin_38 0:18d40dac71ff 194 *menu = (*menu) * 10;
kevin_38 0:18d40dac71ff 195
kevin_38 0:18d40dac71ff 196 // if (*menu >= 100 & *menu < 200 ) { *menu = 10; }
kevin_38 0:18d40dac71ff 197 // else if (*menu >= 200 & *menu < 300) { *menu = 20; }
kevin_38 0:18d40dac71ff 198 }
kevin_38 0:18d40dac71ff 199
kevin_38 0:18d40dac71ff 200 else if (tension > 2.57 & tension < 2.65) {
kevin_38 0:18d40dac71ff 201
kevin_38 0:18d40dac71ff 202 (*menu)++;
kevin_38 0:18d40dac71ff 203
kevin_38 0:18d40dac71ff 204 if (*menu == 4) { *menu = 1; }
kevin_38 0:18d40dac71ff 205 else if (*menu == 14) { *menu = 10; }
kevin_38 0:18d40dac71ff 206
kevin_38 0:18d40dac71ff 207 else if (*menu == 22) { *menu = 20; }
kevin_38 0:18d40dac71ff 208 }
kevin_38 0:18d40dac71ff 209
kevin_38 0:18d40dac71ff 210 } while( *menu == 0);
kevin_38 0:18d40dac71ff 211 }
kevin_38 0:18d40dac71ff 212
kevin_38 0:18d40dac71ff 213 //////////////// Main \\\\\\\\\\\\\\\\\
kevin_38 0:18d40dac71ff 214
kevin_38 0:18d40dac71ff 215 int main()
kevin_38 0:18d40dac71ff 216 {
kevin_38 0:18d40dac71ff 217 int menu = 0;
kevin_38 0:18d40dac71ff 218 int old_menu = 0;
kevin_38 0:18d40dac71ff 219
kevin_38 0:18d40dac71ff 220 while(1) {
kevin_38 0:18d40dac71ff 221
kevin_38 0:18d40dac71ff 222 // wait_ms(20);
kevin_38 0:18d40dac71ff 223
kevin_38 0:18d40dac71ff 224 clavier(&menu);
kevin_38 0:18d40dac71ff 225
kevin_38 0:18d40dac71ff 226 if( menu == old_menu ) continue;
kevin_38 0:18d40dac71ff 227
kevin_38 0:18d40dac71ff 228 // led1 = 1;
kevin_38 0:18d40dac71ff 229
kevin_38 0:18d40dac71ff 230 switch(menu) {
kevin_38 0:18d40dac71ff 231
kevin_38 0:18d40dac71ff 232 case 1:
kevin_38 0:18d40dac71ff 233 menu1();
kevin_38 0:18d40dac71ff 234 break;
kevin_38 0:18d40dac71ff 235
kevin_38 0:18d40dac71ff 236 case 2:
kevin_38 0:18d40dac71ff 237 menu2();
kevin_38 0:18d40dac71ff 238 break;
kevin_38 0:18d40dac71ff 239 case 3:
kevin_38 0:18d40dac71ff 240 menu3();
kevin_38 0:18d40dac71ff 241 break;
kevin_38 0:18d40dac71ff 242
kevin_38 0:18d40dac71ff 243 case 10:
kevin_38 0:18d40dac71ff 244 menu10();
kevin_38 0:18d40dac71ff 245 break;
kevin_38 0:18d40dac71ff 246
kevin_38 0:18d40dac71ff 247 case 11:
kevin_38 0:18d40dac71ff 248 menu11();
kevin_38 0:18d40dac71ff 249 break;
kevin_38 0:18d40dac71ff 250
kevin_38 0:18d40dac71ff 251 case 12:
kevin_38 0:18d40dac71ff 252 menu12();
kevin_38 0:18d40dac71ff 253 break;
kevin_38 0:18d40dac71ff 254
kevin_38 0:18d40dac71ff 255 case 13:
kevin_38 0:18d40dac71ff 256 menu13();
kevin_38 0:18d40dac71ff 257 break;
kevin_38 0:18d40dac71ff 258
kevin_38 0:18d40dac71ff 259 case 20:
kevin_38 0:18d40dac71ff 260 menu20();
kevin_38 0:18d40dac71ff 261 break;
kevin_38 0:18d40dac71ff 262
kevin_38 0:18d40dac71ff 263 case 21:
kevin_38 0:18d40dac71ff 264 menu21();
kevin_38 0:18d40dac71ff 265 break;
kevin_38 0:18d40dac71ff 266
kevin_38 0:18d40dac71ff 267 // case 22:
kevin_38 0:18d40dac71ff 268 // menu22();
kevin_38 0:18d40dac71ff 269 // break;
kevin_38 0:18d40dac71ff 270
kevin_38 0:18d40dac71ff 271 case 30:
kevin_38 0:18d40dac71ff 272 menu30();
kevin_38 0:18d40dac71ff 273 break;
kevin_38 0:18d40dac71ff 274
kevin_38 0:18d40dac71ff 275 /* case 31:
kevin_38 0:18d40dac71ff 276 menu31();
kevin_38 0:18d40dac71ff 277 break;
kevin_38 0:18d40dac71ff 278
kevin_38 0:18d40dac71ff 279 case 32:
kevin_38 0:18d40dac71ff 280 menu32();
kevin_38 0:18d40dac71ff 281 break; */
kevin_38 0:18d40dac71ff 282
kevin_38 0:18d40dac71ff 283 default:
kevin_38 0:18d40dac71ff 284 break;
kevin_38 0:18d40dac71ff 285
kevin_38 0:18d40dac71ff 286 }
kevin_38 0:18d40dac71ff 287 old_menu = menu;
kevin_38 0:18d40dac71ff 288 // led1 = 0;
kevin_38 0:18d40dac71ff 289
kevin_38 0:18d40dac71ff 290 }
kevin_38 0:18d40dac71ff 291 }