I can only store 1 number. and use * as back space , I am a newbie I am trying to ask the users for two numbers store it as new num for the first the first input phone number and store as newnum2 the second phone number user entered but I am confused. It doesn't give me the right output.
I edited it and put comment for the wrong code cause if I added It it wouldnt display and store even one phone number but this code that i posted can show the input and store number Thank you for help
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
SoftwareSerial mySerial(6,5);
#include <Keypad.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
const byte ROWS = 4;
const byte COLS = 3;
char newNum[12]="";
int x=0;
// code for newNum1
// char newNum1[12]="";
//int y=0;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {19, 18, 17, 16}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {15, 14, 13}; //connect to the column pinouts of the keypad
int count=0;
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char entryStr[5];
int i=0;
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
lcd.begin(20, 4);
}
void loop()
{
int key = keypad.getKey();
if (key!=NO_KEY && key!='#' && key!='*')
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Enter number1: ");
newNum[x] = key;
newNum[x+1]='\0';
x++;
lcd.setCursor(0,1);
lcd.print("Press # for save");
lcd.setCursor(1,2);
lcd.print(newNum);
}
if (key=='#'&& x>11)
{
x=0;
i=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("invalid number");
lcd.setCursor(0,0);
lcd.print("11 digits only");
}
else if (key=='*')
{
lcd.rightToLeft();
lcd.print(" ");
lcd.leftToRight();
lcd.print(" ");
lcd.rightToLeft();
lcd.print(" ");
lcd.leftToRight();
x--;
newNum[x] = 0;
}
else if (key=='#'&& x==11)
{
x=0;
i=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(newNum);
delay(500);
//----end can store 1 phone number---//
//this is the code I am trying for the next phone number but if i add this output is not right//
//lcd.clear();
// lcd.setCursor(0,0);
// lcd.print("Enter number2: ");
// newNum1[y] = key;
// newNum[y+1]='\0';
// y++;
// lcd.setCursor(0,1);
// lcd.print("Press # for save");
// lcd.setCursor(1,2);
// lcd.print(newNum1);
// }
// if (key=='#'&& x>11)
//{
// y=0;
//i=0;
//lcd.clear();
//lcd.setCursor(0,0);
//lcd.print("invalid number");
//lcd.setCursor(0,0);
//lcd.print("11 digits only");
//}
//else if (key=='*')
//{
// lcd.rightToLeft();
// lcd.print(" ");
//lcd.leftToRight();
//lcd.print(" ");
//lcd.rightToLeft();
//lcd.print(" ");
//lcd.leftToRight();
// y--;
// newNum1[y] = 0;
// }
//else if (key=='#'&& x==11)
//{
// x=0;
// i=0;
//lcd.clear();
//lcd.setCursor(0,0);
//lcd.print(newNum1);
//delay(500);
}
}