#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
SoftwareSerial mySerial(6,5);
int table[]={0,0,0};
#include <Keypad.h>
#include <Wire.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 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 kpd = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char entryStr[13]; // This can hold up to 4 digits
int i=0;
***char n1, n2 , n3;
char buf [15] ;// i put here***
void setup()
{
Wire.begin();
mySerial.begin(9600);
Serial.begin(9600);
lcd.begin(20, 4);
ask();
}
void loop(){
Wire.requestFrom(2, 3); // request 6 bytes from slave device #2 for(int i=0;i<3;i++) {
int c = Wire.read(); // receive a byte as character
Serial.print(c);
table[i]=c;
Serial.print('\t');
// print the character } Serial.print('\n'); Serial.print(table[0]); Serial.print('\t'); Serial.print(table1); Serial.print('\t'); Serial.print(table[2]); Serial.print('\n');
//if(table[0]<=8) //{ //Serial.print("Flame Detected!"); //Serial.println("Level1");
}
void ask()
{
lcd.clear();
lcd.setCursor(0,0); lcd.print("Enter no1.:"); lcd.setCursor(0,1); lcd.print("(starts with 0)"); lcd.setCursor(1,2); n1 =GetNumber (buf, sizeof (buf) - 1);
Serial.print(n1);
delay(1);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Enter no2.:");
lcd.setCursor(0,1); lcd.print("(starts with 0)"); lcd.setCursor(1,2); n2=GetNumber (buf, sizeof (buf) - 1);
Serial.println (n2);
delay(1);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Enter no3.:");
lcd.setCursor(0,1); lcd.print("(starts with 0)"); lcd.setCursor(1,2); n3 = GetNumber (buf, sizeof (buf) - 1);
Serial.println (n3);
delay(1);
Serial.println (n1);
Serial.println (n2);
Serial.println (n3);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("list of numbers ");
lcd.setCursor(0,1);
lcd.print("will be shown press");
lcd.setCursor(1,2);
lcd.print("reset if wrong");
delay(7000); lcd.clear(); lcd.setCursor(0,0); lcd.print("Numbers Stored:"); lcd.setCursor(0,1); lcd.print("no1.:0"); lcd.print(n1); lcd.setCursor(1,2); lcd.print("no2.:0"); lcd.print(n2); lcd.setCursor(2,3); lcd.print("no3.:0"); lcd.print(n3);
}
void GetNumber(char * result, const int maxLength) { char key = kpd.getKey(); int i = 0; // how far through buffer we are while (key != '#') { switch (key) { case NO_KEY: break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
lcd.print(key);
if (i < maxLength)
{
result [i++] = key;
result [i] = 0; // terminating null
}
break;
case '*': // backspace
if (i > 0)
{
i--;
result [i] = 0; // terminating null
}
break;
}
key = kpd.getKey();
} } // end of GetNumber
buf
). Thus you should not try to save it innl
.