CIRCUIT:
* ROW0 --> Pin 2
* ROW1 --> Pin 3
* ROW2 --> Pin 4
* ROW3 --> Pin 5
* COLUMN0 --> Pin 6
* COLUMN1 --> Pin 7
* COLUMN2 --> Pin 8
*
*
*
*
LED1
LED2
LED3
BUZ
-->
-->
-->
-->
Pin
Pin
Pin
Pin
9
10
13
19
// Already connected
*/
#include <Keypad.h>
//Preprocessor directives
//four rows
//three columns
char keys[ROWS][COLS] =
{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //Connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8};
//Connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
//-----------------------------------------------------------------------------const
const
const
const
int
int
int
int
led1Pin =
led2Pin =
led3Pin =
buzzerPin
9;
10;
13;
= 19;
//-----------------------------------------------------------------------------void setup()
{
pinMode(led1Pin, OUTPUT);
digitalWrite(led1Pin, LOW);
pinMode(led2Pin, OUTPUT);
digitalWrite(led2Pin, LOW);
pinMode(led3Pin, OUTPUT);
digitalWrite(led3Pin, LOW);
pinMode(buzzerPin, OUTPUT);
digitalWrite(buzzerPin, LOW);
}
//LED1
//LED2
//LED3
//Buzzer
//------------------------------------------------------------------------------
void loop()
{
char key = keypad.getKey();
//'1','2',...'0','#'
if (key)
{
tone(buzzerPin, 1000, 100);
if(key == '1' || key == '2' || key == '3')
{
digitalWrite(led1Pin, !digitalRead(led1Pin));
}
else if(key == '4' || key == '5' || key == '6')
{
digitalWrite(led2Pin, !digitalRead(led2Pin));
}
}
digitalWrite(led3Pin, !digitalRead(led3Pin));
delay(100);
}