Again, I find myself at the mercy of you fellows here on the forum. I have a code written to read from 3 rfid readers and light an led for certain uids. It may sound simple (and it really is) but it took me forever to get it figured out with the help of some great guys on the forum. My final steps which seemed simplest to me at first, but now seem most difficult, are to create an 8-hour timer triggered by a button press (it will be pressed by the triggered action of the previous 8-hour timer) that triggers a servo, change my led to three separate servos (one for each reader) and change a delay to millis (should be simple, but apparently I'm simpler). I guess I need help even getting started. I haven't really attempted the timer or button or servo triggered by the timer or replacing my one led with three separate servos. I've tried to replave delay with millis with no success. Any help would be greatly appreciated. Thanks!
here's my code so far.
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS1_PIN 10
#define SS2_PIN 4
#define SS3_PIN 8
#define RST_PIN 9
#define redLed 7
MFRC522 readerOne(SS1_PIN, RST_PIN);
MFRC522 readerTwo(SS2_PIN, RST_PIN);
MFRC522 readerThree(SS3_PIN, RST_PIN);
void setup() {
pinMode(redLed, OUTPUT);
pinMode(redLed, OUTPUT);
SPI.begin();
readerOne.PCD_Init();
readerTwo.PCD_Init();
readerThree.PCD_Init();
}
int myCat = 0x03;
int yourCat = 0xF3;
int readTagOne;
int readTagTwo;
int readTagThree;
void loop() {
if (readerOne.PICC_IsNewCardPresent()){
readerOne.PICC_ReadCardSerial();
readTagOne = (readerOne.uid.uidByte[0]);
if(readTagOne == myCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);}
else{
if(readTagOne == yourCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);
}
}
}
if (readerTwo.PICC_IsNewCardPresent()){
readerTwo.PICC_ReadCardSerial();
readTagTwo = (readerTwo.uid.uidByte[0]);
if(readTagTwo == myCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);}
else{
if(readTagTwo == yourCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);
}
}
}
if (readerThree.PICC_IsNewCardPresent()){
readerThree.PICC_ReadCardSerial();
readTagThree = (readerThree.uid.uidByte[0]);
if(readTagThree == myCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);}
else{
if(readTagThree == yourCat){
digitalWrite(redLed, HIGH);
delay(1800);
digitalWrite(redLed, LOW);
}
}
}
}