- Codice: Seleziona tutto
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define SS_PIN 10
#define RST_PIN 9
#define LED_DENIED_PIN 7
#define LED_ACCESS_PIN 6
#define rele 2
LiquidCrystal_I2C lcd(0x27,16,2);
MFRC522 mfrc522(SS_PIN, RST_PIN); // Instance of the class
int code[] = {44,206,04,50}; //This is the stored UID (Unlock Card)
int codeRead = 0;
void setup() {
Serial.begin(9600);
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
Serial.println("Arduino RFID reading UID");
pinMode( LED_DENIED_PIN , OUTPUT);
pinMode( LED_ACCESS_PIN , OUTPUT);
pinMode(rele, OUTPUT); //cambiare 2 in rele per funzionare come relè
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("IT Benvenuto");
Serial.println("IT Benvenuto");
lcd.setCursor(0,1);
lcd.print("ES Bienvenidos");
Serial.println("ES Bienvenidos");
}
void loop() {
if ( mfrc522.PICC_IsNewCardPresent())
{
if ( mfrc522.PICC_ReadCardSerial())
{
lcd.clear();
Serial.print("Tag UID:");
lcd.setCursor(0,0);
lcd.print("Tag UID:");
lcd.setCursor(0,1);
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x27 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
lcd.print(mfrc522.uid.uidByte[i] < 0x27 ? " 0" : " ");
lcd.print(mfrc522.uid.uidByte[i], HEX);
// lcd.print(" ");
}
int i = 0;
boolean match = true;
while(i<mfrc522.uid.size)
{
if(!(int(mfrc522.uid.uidByte[i]) == int(code[i])))
{
match = false;
}
i++;
}
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
if(match)
{
digitalWrite( LED_ACCESS_PIN , HIGH);
lcd.print("Accesso Valido");
lcd.setCursor(0,1);
lcd.print("Porta Aperta");
Serial.println("\Accesso Valido");
digitalWrite (rele, HIGH); //cambiare 2 in rele per funzionare come relè
delay (1000); // Tempo relè o led in stato ON
digitalWrite (rele, LOW); //cambiare 2 in rele per funzionare come relè
}else{
digitalWrite( LED_DENIED_PIN , HIGH);
lcd.print("Carta Errata");
lcd.setCursor(0,1);
lcd.print("Accesso Negato");
Serial.println("\Carta Errata");
}
Serial.println("============================");
mfrc522.PICC_HaltA();
delay(1000);
reset_state();
}
}
}
void reset_state()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("IT Benvenuto");
Serial.println("IT Benvenuto");
lcd.setCursor(0,1);
lcd.print("ES Bienvenidos");
Serial.println("ES Bienvenidos");
digitalWrite( LED_ACCESS_PIN , LOW);
digitalWrite( LED_DENIED_PIN , LOW);
}
Spero in un vostro aiuto. Grazie in anticipo.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)






