ahahah era per non mettere tutto il codice..comunque lo allego..e ps anche togliendo punto e virgola non funziona..poi ho visto che comunque il punto e virgola ci và comunque.
#include <DS1302RTC.h> //includo libreria rtc
#include <Time.h> //includo libreria gestione time
#include <SPI.h> // includo libreria spi
#include <MFRC522.h> //includo libreria lettore rfid
#include <LiquidCrystal_I2C.h> //libreria lcd I2C
#include <Wire.h> //includo libreria wire
#define SS_PIN 6 //definisco i pin rfid
#define RST_PIN 7 // definisco pin reset rfid
LiquidCrystal_I2C mylcd(0x38, 16, 2); // setto il display
DS1302RTC RTC(10, 9, 8); // setto pin RTCD
MFRC522 mfrc522(SS_PIN, RST_PIN); // setto e creo l'istanza rfid
long previousMillis = 0; //variabili tempo rfid
long interval = 10;
int rele = 2; //pin relè
int buzzer = 3; //pin buzzer
int hour() ; //variabile tempo
String uidRFID[] = {"b34cdcc7", "codeRFID_B", "codeRFID_C", "codeRFID_D"}; // tag abilitati (da modificare con i tag di interesse)
byte locked[8] = {B00000, B01110, B10001, B10001, B11111, B11111, B11111, B00000}; // creo carattere speciale
byte Clock[8] = {B00000, B01110, B10011, B10101, B10001, B01110, B00000, B00000};
void setup() {
mylcd.begin(); //inizializzo lcd
mylcd.backlight(); //abilito retroilluminazione
mylcd.createChar(0, locked); //creo carattere speciale e imposto la sua assegnazione a 0
mylcd.createChar(1, Clock);
SPI.begin(); // Inizializzo SPI
pinMode(rele, OUTPUT); //imposto il pin del rele come output
mylcd.clear(); //pulisco display
if (RTC.haltRTC()) { //ciclo di controllo sul rtc se attivo
mylcd.print("Clock stopped!");
}
else {
mylcd.print("Clock working.");
}
mylcd.setCursor(0, 1);
if (RTC.writeEN()) { //controllo rom rtc
mylcd.print("Write allowed.");
}
else {
mylcd.print("Write protected.");
}
delay ( 2000 ); //attendo
// Setup Time libreria
mylcd.clear();
mylcd.print("RTC Sync");
setSyncProvider(RTC.get); // acquisisco i dati dal rtc e verifico
if (timeStatus() == timeSet) {
mylcd.print(" Ok!");
}
else {
mylcd.print(" FAIL!");
}
delay ( 2000 );
mylcd.clear();
}
void loop() {
mylcd.setCursor(2, 0);
mylcd.print("my home");
if (timeStatus() != timeSet) {
mylcd.setCursor(0, 1);
mylcd.print(F("RTC ERROR"));
}
if (timeStatus() == timeSet)
{
int h = hour();
switch (h)
{
case 1:
closeOffice();
break;
case 2:
closeOffice();
break;
case 3:
closeOffice();
break;
case 4:
closeOffice();
break;
case 5:
closeOffice();
break;
case 6:
closeOffice();
break;
case 7:
openOffice();
break;
case 8:
openOffice();
break;
case 9:
openOffice();
break;
case 10:
openOffice();
break;
case 11:
openOffice();
break;
case 12:
openOffice();
break;
case 13:
openOffice();
break;
case 14:
openOffice();
break;
case 15:
openOffice();
break;
case 16:
openOffice();
break;
case 17:
openOffice();
break;
case 18:
openOffice();
break;
case 19:
openOffice();
break;
case 20:
openOffice();
break;
case 21:
openOffice();
break;
case 22:
openOffice();
break;
case 23:
openOffice();
break;
case 00:
openOffice();
break;
}
}
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
String uid_s = "";
if (!mfrc522.PICC_IsNewCardPresent() && !mfrc522.PICC_ReadCardSerial()) {
for (byte i = 0; i < mfrc522.uid.size; i++) {
String uid_a = String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
String uid_b = String(mfrc522.uid.uidByte[i], HEX);
uid_s = uid_s + uid_a + uid_b;
}
}
boolean controllo = false;
for (int i = 0; i < sizeof(uidRFID) / sizeof(String); i++) {
if (uidRFID[i] == uid_s) {
mylcd.setCursor(3, 1);
mylcd.print("Consentito");
tone(buzzer, 800, 100);
delay(500);
openDoor();
controllo = true;
break;
}
}
if (!controllo) {
mylcd.setCursor(0, 1);
mylcd.print("!Non Consentito!");
tone(buzzer, 800, 500);
displayBlink(3, 400);
delay(2000);
}
mylcd.clear();
}
void openDoor() {
digitalWrite(rele, HIGH);
delay(2000);
digitalWrite(rele, LOW);
}
void print2digits(int number) {
// Output leading zero
if (number >= 0 && number < 10) {
mylcd.write('0');
}
mylcd.print(number);
}
void openOffice() {
mylcd.setCursor(3, 1);
mylcd.write(1);
mylcd.setCursor(4, 1);
mylcd.print("");
print2digits(hour());
mylcd.print(":");
print2digits(minute());
mylcd.print(":");
mylcd.print(second());
mfrc522.PCD_Init(); // Inizializzo MFRC522
}
void closeOffice() {
mylcd.setCursor(1, 1);
mylcd.write(0);
mylcd.setCursor(2, 1);
mylcd.print("System Locked");
}
void displayBlink(int blinks, int duration)
{
while (blinks--)
{
mylcd.noDisplay();
delay(duration);
mylcd.display();
delay(duration);
}
}
uwefed:
Sono troppe righe, bastano anche metá per farci capire che ci serve una sfera di cristallo per indovinare il Tuo problema. 
dicciamo tutto o niente:
Tutto lo sketch o niente aiuto.
Ciao Uwe