i want to take input from both Ldr and LM35 in 5 sec.how can i modify this program?
#include <Password.h>
#include <Keypad.h>
Password password = Password( "1234" );
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] = {27,29,31,33};
byte colPins[cols] = {35,37,44,46};
Keypad keypad = Keypad(makeKeymap(keys),
rowPins, colPins,
rows, cols);
int ledPin=51;
float tempC;
int tempPin = 0;
int led=53;
int LDR = 1;
int LDRValue = 0;
int light_sensitivity = 500;
void setup(){
pinMode(led,OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(49, OUTPUT);
Serial.begin(9600);
keypad.addEventListener(keypadEvent); //add an event listener for this keypad
keypad.setDebounceTime(250);
}
void loop(){
keypad.getKey();
}
//take care of some special events
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
Serial.print("Pressed: ");
Serial.println(eKey);
switch (eKey){
case '#': guessPassword(); break;
default:
password.append(eKey);
}
}}
void guessPassword(){
Serial.print("Guessing password... ");
if (password.evaluate()){
tempC = analogRead(tempPin);
tempC = (5.0 * tempC * 100.0)/1024.0;
if(tempC > 20) {
digitalWrite(led, HIGH);
Serial.println(tempC);
}
else { // else turn of led
digitalWrite(led, LOW);
}
digitalWrite(ledPin,HIGH);
delay(5000);
LDRValue = analogRead(LDR);
Serial.println(LDRValue);
delay(50);
if (LDRValue < light_sensitivity)
{
digitalWrite(49, HIGH);
}
else
{
digitalWrite(49, LOW);
}
digitalWrite(ledPin,LOW);
Serial.println("VALID PASSWORD ");
password.reset();
}
else{
Serial.println("INVALID PASSWORD ");
password.reset(); //resets password after INCORRECT entry
}
}