My code is working fine, that's for sure.
Everything is fine, the text displays on the lcd, but when i give lcd.clear();
and then tell it to write something, there is no output.
Please help me fix this problem
Thanks
Arduinodeveloper99.
You do need to post your code in order for someone to be able to help.
there is nothing wrong with the code
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
#define beep_pin 8
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup()
{
Serial.begin(9600); // Initiate a serial communication
pinMode(beep_pin,OUTPUT);
digitalWrite(beep_pin,LOW);
lcd.begin(16, 2);
lcd.setCursor(3, 1);
lcd.print("Welcome!!");
lcd.setCursor(0, 0);
lcd.print("Circuit is Ready");
delay(1500);
lcd.clear();
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Put your card to the reader...");
Serial.println();
}
void loop()
{
digitalWrite(beep_pin, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Put your card to");
lcd.setCursor(0, 1);
lcd.print("the reader......");
delay(300);
// 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) == "XX XX XX XX") //change here the UID of the card/cards that you want to give access
{
digitalWrite(beep_pin,HIGH);
delay(200);
digitalWrite(beep_pin,LOW);
delay(100);
lcd.setCursor(0, 0);
lcd.print("ID : ");
lcd.print(content.substring(1));
lcd.setCursor(0, 1);
lcd.print("Authorized access");
Serial.println("Authorized access");
delay(1200);
}
else {
digitalWrite(beep_pin,HIGH);
lcd.setCursor(0, 0);
lcd.print("ID : ");
lcd.print(content.substring(1));
lcd.setCursor(0, 1);
lcd.print("Access denied");
Serial.println(" Access denied");
delay(1500);
}
}
Ok, then, if there’s nothing wrong with the code, show us the hardware - photos and schematic… but I can see a possible problem in the code that I wouldn't use.
Yay i fixed the problem
the problem was with the name of the library
it was liquid crystal when it was supposed to be liquid crystal _I2C
When posting code in future please follow the advice given in the link below when posting code , use code tags and post the code here to make it easier to read and copy for examination
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.