Arduino coding help requested


#1

So I recently started working on a small project with my Arduino kit I have it completely built and i found a code for it I had to edit it some to make it what i wanted and I merged 2 different codes but now it’s giving me tons of errors I’m not very good at coding so is someone able to help me?

Here is the code:

#include <SPI.h>
#include <MFRC522.h>
#include <IRLibAll.h>
#include <Servo.h>

#define SS_PIN 10
#define RST_PIN 9
#define LED_G 5 //define green LED pin
#define LED_R 4 //define red LED
#define BUZZER 2 //buzzer pin
#define MY_PROTOCOL NEC

uint32_t Previous;//handles NEC repeat codes
IRdecode myDecoder;

/*Edit these settings*/
//Password and security
String pass = "1234"; //Password to unlock. be sure to edit the '5' inside '[]' to password length +1.
int chances = 3; //Chances before buzzer will start to buzz continuously.
bool afterChances = true; /*Is possible to enter password after
  running out of chances. true = yes. (not recommended to set
  false, Arduino must be restarted to enter password if set
  to false.).If set true, buzzer will stop when correct password is
  entered after running out of chances.*/


//Pins
int RECV_PIN = 11; //IR Reciever pin (PWM).
int greenLed = 7; //Green LED pin.
int redLed = 8; //Red Led pin.
int buzzer = 4; //Buzzer pin.

//remote buttons
#define one 0xc9767f76 //Your button 1 IR HEX code (in lower case). eg.: ff63ad
#define two  0xc8155ab1 //Your button 2 IR HEX code (in lower case).
#define three  0xb6996dae
#define four  0x969ae844
#define five  0x4aafac67
#define six  0x9c2a936c
#define seven  0x833ed333
#define eight  0x55f2b93
#define nine  0xde78b0d0
#define zero  0xf32f72d7
#define btnreset  0x3f23f43 //Your Reset button IR hex code.

//Misc
bool shouldBeep = true;
bool unlockSound = true;

/*Don't edit anything below this if you don't what you are doing.
   Somethimes, it can cause high load to your arduino.
*/
bool locked = true;
String cPass = "";
int chance = 0;
String cmp = "----Distro Studios-----\n";
IRrecv irrecv(RECV_PIN);
IRdecode results;
String str2 = "os-----\n";

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
Servo myServo; //define servo name

void setup() 
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();      // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  myServo.attach(3); //servo pin
  myServo.write(0); //servo start position
  pinMode(LED_G, OUTPUT);
  pinMode(LED_R, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  //noTone(BUZZER);
  Serial.println("Put your card to the reader...");
  Serial.println();
  irrecv.enableIRIn();
  Serial.begin(9600);
  digitalWrite(redLed, LOW);
  digitalWrite(greenLed, LOW);
  Serial.print(cmp);
 }
void loop() 
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "99 E0 A3 99") //change here the UID of the card/cards that you want to give access
  {
    Serial.println("Authorized access");
    Serial.println();
    delay(500);
    digitalWrite(LED_G, HIGH);
    //tone(BUZZER, 500);
    delay(300);
    //noTone(BUZZER);
    myServo.write(180);
    delay(5000);
    myServo.write(0); //change this to when it is locked
    digitalWrite(LED_G, LOW);
  }
 
 else   {
    Serial.println(" Access denied");
    digitalWrite(LED_R, HIGH);
    //tone(BUZZER, 300);
    delay(1000);
    digitalWrite(LED_R, LOW);
    //noTone(BUZZER);
 }
}
/*
   IR Remote Password lock script
   

   Circuit:

    - IR reciever connected to pin PWM pin 11 (like described in ir_get_hex code).
    - Green LED connected to pin 7.
    - Red LED connected to pin 8.
    - Buzzer connected to pin 4.
*/

void loop2() {
  
  if (cmp.endsWith(str2) == false)
    Serial.print("Error!");
  else {
    myDecoder.decode();
     if(myDecoder.protocolNum==MY_PROTOCOL) {
         if(myDecoder.value==0xFFFFFFFF)
           myDecoder.value=Previous;
     switch(myDecoder.value)
    {
      case one:
        Serial.print("1");
        updatePass("1");
        break;
      case two:
        Serial.print("2");
        updatePass("2");
        break;
      case three:
        Serial.print("3");
        updatePass("3");
        break;
      case four:
        Serial.print("4");
        updatePass("4");
      break;
      case five:
        Serial.print("5");
        updatePass("5");
        break;
      case six:
        Serial.print("6");
        updatePass("6");
        break;
      case seven:
        Serial.print("7");
        updatePass("7");
        break;
      case eight:
        Serial.print("8");
        updatePass("8");
        break;
      case nine:
        Serial.print("9");
        updatePass("9");
        break;
      case zero:
        Serial.print("0");
        updatePass("0");
        break;
      case btnreset:
        resetPass();
        Serial.println("\nRESET");
        break;
      }
      irrecv.resume(); // Receive the next value
    }
    if (chance = chances)
      digitalWrite(buzzer, HIGH);//buzzer

    if (locked == true) {
      digitalWrite(redLed, HIGH);
      digitalWrite(greenLed, LOW);
    }
    else {
      digitalWrite(redLed, LOW);
      digitalWrite(greenLed, HIGH);
    }
  }
 }
}

bool updatePass(String ch) {
  if (locked == false)
    return false;
  beep();
  if (updatable() == true) {
    cPass += ch;
    if (cPass.length() < pass.length()) {

    }
    else {
      if (pass == cPass) {
        locked = false;
        digitalWrite(greenLed, HIGH);
        digitalWrite(redLed, LOW);
        chance = 0;
        Serial.println("\nUNLOCKED");
        if (unlockSound == true) {
          delay(60);
          digitalWrite(buzzer, HIGH);
          delay(150);
          digitalWrite(buzzer, LOW);
          delay(100);
          digitalWrite(buzzer, HIGH);
          delay(200);
          digitalWrite(buzzer, LOW);
        }
      }
      else {
        cPass = "";
        chance += 1;
        digitalWrite(buzzer, HIGH);
        delay(1000);
        digitalWrite(buzzer, LOW);
        Serial.println("\nWRONG PASSWORD!");
      }
    }
  }
}

bool updatable() {
  if (chance <= chances)
    return true;
  return afterChances;
}

void resetPass() {
  cPass = "";
  locked = true;
}

void beep() {
  if (shouldBeep == true) {
    digitalWrite(buzzer, HIGH);
    delay(60);
    digitalWrite(buzzer, LOW);
  }
}

if anyone can help me that would be great