kevin ollivier / Mbed 2 deprecated LCD_clavier

Dependencies:   mbed

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;
        
         }
}