grazie e scusa per il ritardo ma non avevo un pc con me. ecco il codice:
#include <SPI.h>
#include <RFID.h>
/* Vengono definiti PIN del RFID reader*/
#define SDA_DIO 10 // 53 per Mega
#define RESET_DIO 9
#define delayRead 1000 // Time of delay
#define delayLed 2000
#define ledVerde 3
#define ledRosso 4
#define buzzer 2
/* Viene creata una istanza della RFID libreria */
RFID RC522(SDA_DIO, RESET_DIO);
String codiceAutorizzato = "40A12ECB4";
void setup()
{
Serial.begin(9600);
/* Abilita SPI*/
SPI.begin();
/* Viene inizilizzato RFID reader */
RC522.init();
Serial.println("Setup");
pinMode(ledVerde,OUTPUT);
pinMode(ledRosso,OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
/* Temporary loop counter */
byte i;
// Se viene letta una tessera
if (RC522.isCard())
{
// Viene letto il suo codice
RC522.readCardSerial();
String codiceLetto ="";
Serial.println("Codice delle tessera letto:");
// Viene caricato il codice della tessera, all'interno di una Stringa
for(i = 0; i <= 4; i++)
{
codiceLetto+= String (RC522.serNum,HEX);
codiceLetto.toUpperCase();
}
Serial.println(codiceLetto);
if(verificaCodice(codiceLetto)){
Serial.println("Tessera autorizzata");
accendiLed(ledVerde);
}else{
Serial.println("Tessera non autorizzata");
accendiLed(ledRosso);
digitalWrite(buzzer, HIGH);
delay(1);
digitalWrite(buzzer, LOW);
delay(1);
}
delay(delayRead);
}
}
// Questa funzione verifica se il codice Letto è autorizzato
boolean verificaCodice(String codiceLetto){
if(codiceLetto.equals(codiceAutorizzato)){
return true;
}else{
return false;
}
}
// Questa funzione permette di accendere un LED per un determinato periodo
void accendiLed(int ledPin){
digitalWrite(ledPin,HIGH);
delay(delayLed);
digitalWrite(ledPin,LOW);
}