I am connecting an mfrc522 to an Arduino but in serial monitor i am getting this error
WARNING: Communication failure, is the MFRC522 properly connected?
type or paste code here#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SERVO_PIN 2
Servo myservo;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(96009600);
SPI.begin();
lcd.init();
lcd.backlight();
mfrc522.PCD_Init();
Serial.println("Arduino RFID door lock");
mfrc522.PCD_DumpVersionToSerial();
myservo.attach(SERVO_PIN);
lcd.setCursor(0,0);
lcd.print("Exit...");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void opendoor(){
lcd.setCursor(0,0);
lcd.print("Welcome: Guest");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void 1(){
lcd.setCursor(0,0);
lcd.print("Welcome: 1");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void 2(){
lcd.setCursor(0,0);
lcd.print("Welcome: 2");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void 3(){
lcd.setCursor(0,0);
lcd.print("Welcome: 3");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void 4(){
lcd.setCursor(0,0);
lcd.print("Welcome: 4");
myservo.write( 380 );
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Door closes in");
lcd.setCursor(0,1);
lcd.print("5");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("4");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("3");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("2");
lcd.clear();
delay(1000);
lcd.setCursor(0,1);
lcd.print("1");
lcd.clear();
delay(1000);
myservo.write( 0 );
}
void loop(){
//Look for new cards
if ( !mfrc522.PICC_IsNewCardPresent() ){
return;
}
//Select one of the cards
if ( !mfrc522.PICC_ReadCardSerial() ) {
return;
}
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));
}
content.toUpperCase();
Serial.println();
Serial.println("UID tag :'" + content + "'");
if ( content == "D4-73-CA-2A" || "D7-75-2A-7B" || "97-15-35-7B" || "D7-2C-36-7B" || "F7-F4-29-7B" || "67-72-39-7B" || "D7-7A-2C-7B" || "27-17-27-7B" || "F7-DB-37-7B" ){
Serial.println("Guest");
delay(300);
opendoor();
}
if ( content == "D4-73-CA-2A" || "D7-75-2A-7B" || "97-15-35-7B" || "D7-2C-36-7B" || "F7-F4-29-7B" || "67-72-39-7B" || "D7-7A-2C-7B" || "27-17-27-7B" || "F7-DB-37-7B" ){
Serial.println("1");
delay(300);
1();
}
if ( content == "D4-73-CA-2A" || "D7-75-2A-7B" || "97-15-35-7B" || "D7-2C-36-7B" || "F7-F4-29-7B" || "67-72-39-7B" || "D7-7A-2C-7B" || "27-17-27-7B" || "F7-DB-37-7B" ){
Serial.println("2");
delay(300);
2();
}if ( content == "D4-73-CA-2A" || "D7-75-2A-7B" || "97-15-35-7B" || "D7-2C-36-7B" || "F7-F4-29-7B" || "67-72-39-7B" || "D7-7A-2C-7B" || "27-17-27-7B" || "F7-DB-37-7B" ){
Serial.println("3");
delay(300);
3();
}
if ( content == "D4-73-CA-2A" || "D7-75-2A-7B" || "97-15-35-7B" || "D7-2C-36-7B" || "F7-F4-29-7B" || "67-72-39-7B" || "D7-7A-2C-7B" || "27-17-27-7B" || "F7-DB-37-7B" ){
Serial.println("4");
delay(300);
4();
}
}
this is my code...
i tried uploading a dumpinfo but it is still giving me the same error..
i soldered everything, used new wires, checked the continuity with a multimeter... but all has failed, please help me quick as this is very very urgent.