Problem with using keypad.h


i working on project requires user press key on keypad when interrupt called. interrupt called pressing push button , function executes requires user press either 1,2,3,or 4 before proceeding make necessary computations.
the problem when use keypad.waitforkey(), program stops executing.
can please me figure out.

here code function
void addpassenger(){
 if(digitalread(3))
 {
   //when led lights///user can choose option
 digitalwrite(10,high);
 lcd.clear();
 key = no_key;
 while(true){
   key = keypad.waitforkey();
   mydelay(100);
   lcd.print("?");
   if(key != no_key)
   break;
 }
 state = false;
 switch(key){
   case '2':
          if(!onboard[1]){
          onboard[1] = true;
          numberonboard++;
          lcd.setcursor(0,1);
          lcd.print("passenger 2 added");
          }
          else
          {
            lcd.setcursor(0,1);
            lcd.print("passenger in");
          }
          break;
   case '3':
          if(!onboard[2]){
          onboard[2] = true;
          numberonboard++;
          lcd.setcursor(0,1);
          lcd.print("passenger 3 added");
          }
          else
          {
            lcd.setcursor(0,1);
            lcd.print("passenger in");
          }
          break;
    case '4':
          if(!onboard[3]){
          onboard[3] = true;
          numberonboard++;
          lcd.setcursor(0,1);
          lcd.print("passenger 4 added");
          }
          else
          {
            lcd.setcursor(0,1);
            lcd.print("passenger in");
          }
          break;
 }
 }
 else
 digitalwrite(10,low);

}

n.b placed led on pin 10  to indicate when interrupt called...it lights when press push button

just use getkey() , check if returned value not equal no_key.


Arduino Forum > Using Arduino > Programming Questions > Problem with using keypad.h


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor