im trying to control led using 4*4 keypad and via bluetooth i wrote tow separate codes for each i have problems combinding them please help me out combinding them as a program
two programs i wrote as below
for keypad
#include <Keypad.h>
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Three columns
char keys[ROWS][COLS] = { // Define the Keymap
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = { 5, 4, 3, 2 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 9, 8, 7, 6 }; // Connect keypad COL0, COL1 and COL2 to these Arduino pins.
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );// Create the Keypad
#define relay1 22
#define relay2 23
#define relay3 24
#define relay4 25
#define relay5 26
#define relay6 27
#define relay7 28
#define relay8 29
int state = 0;
void setup()
{
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(relay3,OUTPUT);
pinMode(relay4,OUTPUT);
pinMode(relay5,OUTPUT);
pinMode(relay6,OUTPUT);
pinMode(relay7,OUTPUT);
pinMode(relay8,OUTPUT);
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
digitalWrite(relay6, HIGH);
digitalWrite(relay7, HIGH);
digitalWrite(relay8, HIGH);
Serial.begin(9600);
}
void loop()
{
char key = kpd.getKey();
if(key) // Check for a valid key.
{
switch (key)
{
case '1':
digitalWrite(relay1, LOW);
break;
case 'A':
digitalWrite(relay1, HIGH);
break;
case '2':
digitalWrite(relay2, LOW);
break;
case '3':
digitalWrite(relay3, LOW);
break;
case '4':
digitalWrite(relay4, LOW);
break;
case 'B':
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
break;
case '5':
digitalWrite(relay5, LOW);
break;
case '6':
digitalWrite(relay6, LOW);
break;
case 'C':
digitalWrite(relay6, HIGH);
break;
case '7':
digitalWrite(relay7, LOW);
break;
case '8':
digitalWrite(relay8, LOW);
break;
case 'D':
digitalWrite(relay8, HIGH);
break;
case '9':
digitalWrite(relay6, LOW);
break;
case '0':
digitalWrite(relay8, LOW);
break;
case '*':
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
digitalWrite(relay6, HIGH);
digitalWrite(relay7, HIGH);
digitalWrite(relay8, HIGH);
break;
case '#':
digitalWrite(relay1, HIGH);
delay(100);
digitalWrite(relay1, LOW);
digitalWrite(relay2, HIGH);
delay(100);
digitalWrite(relay2, LOW);
digitalWrite(relay3, HIGH);
delay(100);
digitalWrite(relay3, LOW);
digitalWrite(relay4, HIGH);
delay(100);
digitalWrite(relay4, LOW);
digitalWrite(relay5, HIGH);
delay(100);
digitalWrite(relay5, LOW);
digitalWrite(relay6, HIGH);
delay(100);
digitalWrite(relay6, LOW);
digitalWrite(relay7, HIGH);
delay(100);
digitalWrite(relay7, LOW);
digitalWrite(relay8, HIGH);
delay(100);
digitalWrite(relay8, LOW);
break;
default:
Serial.println(key);
}
}
}
code 2 for bluetooth
#define relay1 22
#define relay2 23
#define relay3 24
#define relay4 25
#define relay5 26
#define relay6 27
#define relay7 28
#define relay8 29
int state = 0;
void setup()
{
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(relay3,OUTPUT);
pinMode(relay4,OUTPUT);
pinMode(relay5,OUTPUT);
pinMode(relay6,OUTPUT);
pinMode(relay7,OUTPUT);
pinMode(relay8,OUTPUT);
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
digitalWrite(relay6, HIGH);
digitalWrite(relay7, HIGH);
digitalWrite(relay8, HIGH);
Serial.begin(9600);
}
void loop()
{
if(Serial.available() > 0){ // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
}
if(state == 'a')
digitalWrite(relay1, LOW);
else if(state == 'A')
digitalWrite(relay1, HIGH);
if(state == 'b')
digitalWrite(relay2, LOW);
else if(state == 'B')
digitalWrite(relay2, HIGH);
if(state == 'c')
digitalWrite(relay3, LOW);
else if(state == 'C')
digitalWrite(relay3, HIGH);
if(state == 'd')
digitalWrite(relay4, LOW);
else if(state == 'D')
digitalWrite(relay4, HIGH);
if(state == 'e')
digitalWrite(relay5, LOW);
else if(state == 'E')
digitalWrite(relay5, HIGH);
if(state == 'f')
digitalWrite(relay6, LOW);
else if(state == 'F')
digitalWrite(relay6, HIGH);
if(state == 'g')
digitalWrite(relay7, LOW);
else if(state == 'G')
digitalWrite(relay7, HIGH);
if(state == 'h')
digitalWrite(relay8, LOW);
else if(state == 'H')
digitalWrite(relay8, HIGH);
if(state == 'I')
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
digitalWrite(relay6, HIGH);
digitalWrite(relay7, HIGH);
digitalWrite(relay8, HIGH);
}