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.
Diff: main.cpp
- Revision:
- 0:18d40dac71ff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue May 29 09:30:20 2012 +0000
@@ -0,0 +1,291 @@
+#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;
+
+ }
+}
\ No newline at end of file