kevin ollivier / Mbed 2 deprecated LCD_clavier

Dependencies:   mbed

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