Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- kevin_38
- Date:
- 2012-05-29
- Revision:
- 0:18d40dac71ff
File content as of revision 0:18d40dac71ff:
#include "mbed.h"
#include "TextLCD_4x40.h"
DigitalOut led1(LED1);
AnalogIn analog(p15);
//Serial pc(USBTX, USBRX); // tx, rx
//Serial xbee1(p28, p27); // creation du port serie sur les broches 28 et 27
TextLCD_4x40 lcd1(p6, p7, p8, p9, p10, p11); // rs, e1, d4-d7 -> les 2 lignes du haut
TextLCD_4x40 lcd2(p6, p5, p8, p9, p10, p11); // rs, e2, d4-d7 -> les 2 lignes du bas
void menu1() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f ---> Module Radar \n");
lcd1.printf(" Communication PC ");
lcd2.printf("\f Affichage des donn\1es \n");
lcd2.printf(" ");
}
void menu2() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f Module Radar \n");
lcd1.printf(" ---> Communication PC ");
lcd2.printf("\f Affichage des donn\1es \n");
lcd2.printf(" ");
}
void menu3() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f Module Radar \n");
lcd1.printf(" Communication PC ");
lcd2.printf("\f ---> Affichage des donn\1es \n");
lcd2.printf(" ");
}
void menu10() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\fModule --> R\1cup\1ration des donn\1es\n");
lcd1.printf(" Radar Effacement des donn\1es ");
lcd2.printf("\f R\1glage seuil de vitesse \n");
lcd2.printf(" R\1glage horloge, date ");
}
void menu11() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
lcd1.printf(" Radar --> Effacement des donn\1es ");
lcd2.printf("\f R\1glage seuil de vitesse \n");
lcd2.printf(" R\1glage horloge, date ");
}
void menu12() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
lcd1.printf(" Radar Effacement des donn\1es ");
lcd2.printf("\f --> R\1glage seuil de vitesse \n");
lcd2.printf(" R\1glage horloge, date ");
}
void menu13() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\fModule R\1cup\1ration des donn\1es \n");
lcd1.printf(" Radar Effacement des donn\1es ");
lcd2.printf("\f R\1glage seuil de vitesse \n");
lcd2.printf(" --> R\1glage horloge, date ");
}
void menu20() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f Communication PC \n");
lcd1.printf(" ");
lcd2.printf("\f ---> Transfert des donn\1es \n");
lcd2.printf(" Effacement donn\1es du boitier ");
}
void menu21() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f Communication PC \n");
lcd1.printf(" ");
lcd2.printf("\f Transfert des donn\1es \n");
lcd2.printf(" ---> Effacement donn\1es du boitier ");
}
void menu30() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f Affichage des donn\1es \n");
lcd1.printf(" ");
lcd2.printf("\f \n");
lcd2.printf(" ");
}
/* void menu22() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f // Fonction 2 \n");
lcd1.printf(" Fonction 2.1 ");
lcd2.printf("\f Fonction 2.2 \n");
lcd2.printf(" ---> Fonction 2.3 ");
}
void menu30() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f // Fonction 3 \n");
lcd1.printf(" ---> Fonction 3.1 ");
lcd2.printf("\f Fonction 3.2 \n");
lcd2.printf(" Fonction 3.3 ");
}
void menu31() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f // Fonction 3 \n");
lcd1.printf(" Fonction 3.1 ");
lcd2.printf("\f ---> Fonction 3.2 \n");
lcd2.printf(" Fonction 3.3 ");
}
void menu32() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f // Fonction 3 \n");
lcd1.printf(" Fonction 3.1 ");
lcd2.printf("\f Fonction 3.2 \n");
lcd2.printf(" ---> Fonction 3.3 ");
}
void menu40() {
lcd1.cls();
lcd2.cls();
lcd1.printf("\f // Fonction 4 \n");
lcd1.printf(" Fonction 3.1 ");
lcd2.printf("\f Fonction 3.2 \n");
lcd2.printf(" ---> Fonction 3.3 ");
} */
///////////// Fonction clavier \\\\\\\\\\\\\\\\
void clavier(int *menu)
{
float mesure, tension;
do {
do {
mesure = analog.read();
tension = mesure * 3.3;
} while ( tension < 3.25 ); // attente retour clavier au repos
wait_ms(30);
mesure = analog.read();
tension = mesure * 3.3;
if (tension > 0.86 & tension < 0.95) {
(*menu)--;
if (*menu == 0) { *menu = 4; }
else if (*menu == 9) { *menu = 13; }
else if (*menu == 19) { *menu = 21;}
}
else if (tension > 1.32 & tension < 1.41) {
*menu = (*menu) /10;
}
else if (tension > 2.05 & tension < 2.14) {
*menu = (*menu) * 10;
// if (*menu >= 100 & *menu < 200 ) { *menu = 10; }
// else if (*menu >= 200 & *menu < 300) { *menu = 20; }
}
else if (tension > 2.57 & tension < 2.65) {
(*menu)++;
if (*menu == 4) { *menu = 1; }
else if (*menu == 14) { *menu = 10; }
else if (*menu == 22) { *menu = 20; }
}
} while( *menu == 0);
}
//////////////// Main \\\\\\\\\\\\\\\\\
int main()
{
int menu = 0;
int old_menu = 0;
while(1) {
// wait_ms(20);
clavier(&menu);
if( menu == old_menu ) continue;
// led1 = 1;
switch(menu) {
case 1:
menu1();
break;
case 2:
menu2();
break;
case 3:
menu3();
break;
case 10:
menu10();
break;
case 11:
menu11();
break;
case 12:
menu12();
break;
case 13:
menu13();
break;
case 20:
menu20();
break;
case 21:
menu21();
break;
// case 22:
// menu22();
// break;
case 30:
menu30();
break;
/* case 31:
menu31();
break;
case 32:
menu32();
break; */
default:
break;
}
old_menu = menu;
// led1 = 0;
}
}