Hello everyone.
I´m new on Arduino.
I'm doing a project for my house. My project is to build a number lock for each of the 3 gates to enter my house. For that I'm using a Serial Rele Module from RoboCore: Bloqueio de Segurança ; 3 keypad module 4x3; one Arduino mega.
I already did the programming for only one door.
Now I need some help to insert and program the others 2 keypads using the 2nd ad the 3rd reles of the module.
The code that I did was this:
#include "Password.h"
#include "Keypad.h"
Password password = Password( "250271" );
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2,3,4,5};
byte colPins[COLS] = {6,7,8,9};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#include <SerialRelay.h>
const byte NumModules = 1;
SerialRelay relays(4,5,NumModules); // (data, clock, number of modules)
void setup(){
digitalWrite(13, LOW);
Serial.begin(9600);
keypad.addEventListener(keypadEvent);
keypad.setDebounceTime(250);
}
void loop(){
keypad.getKey();
}
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Digitado: ");
Serial.println(eKey);
switch (eKey){
case '#': guessPassword(); break;
default:
password.append(eKey);
}
}
}
void guessPassword(){
Serial.print("Verificando, aguarde... ");
if (password.evaluate()){
Serial.println("Abrindo a porta "); //
relays.SetRelay(1, SERIAL_RELAY_ON, 1); // turn the relay ON
delay(2000); // wait for a second
relays.SetRelay(1, SERIAL_RELAY_OFF, 1); // turn the relay OFF
delay(100); // wait for a second
password.reset(); //apaga a senha
}else{
digitalWrite(13, LOW);
Serial.println("PASSWORD INVALIDA");
password.reset(); //apaga a senha
}
}
Sorry for any English mistakes (not a born speaker)
The code is not tested yet, I'm waiting for the material to arrive.
Thaks a lot for any help.