prime armi , rfid, 4 pulsanti e 4 relè

ilfusiere:
un altro aiutino?? e volendo disabilitare quella chiave dopo 3 volte di utilizzo per tot tempo? che non ne ho proprio idea.?
.................

La cosa non è di per se complicata ma richia di incasinarti il codice innutilmente a questo punto del progetto, visto che, per tua stessa ammissione, non è farina del tuo sacco ma opera di copia incolla selvaggio :slight_smile: e che da quel che mi pare di capire non sei esperto in programmazione, procedi per gradi, fai funzionare il tutto e poi aggiungi altri controlli/condizioni. Quando i tutt'e quattro i pulsanti funzioneranno a dovere ovvero:

  1. Resto in attesa finché non leggo la chiave valida, se non passo la chiave i pulsanti non fanno nulla
  2. Se la chiave è valida resto in attesa che un pulsante venga premuto
  3. Torno al punto 1
    Quando tutto è ok allora affronteremo l'altro problema, ti anticipo che:
  4. Dovrai imparare come si usa una struttura (struct in c) e gli array
  5. Dovrai imparare ad usare millis() per determinare il trascorrere del tempo (se questo è poco, se parliamo di ore/giorni allora la cosa si comlica ti servità un Real Time Clock detto anche RTC)
  6. In ottemperanza alle regole del forum non puoi aspettarti (o almeno non aspettartelo da me) che qualcuno ti scriva il codice, studia quello che ho messo nei punti 1 e 2 butta giù il codice e se non funziona allora chiedi

In linea di massima il ragionamento che dovrai seguire è:

  1. Aspetto una chiave
  2. Ho letto la chiave, controllo l'ultima volta che è stata usata
  3. verifico che sia passato il tempo prefissato
  4. Se non è passato non controllo i pulsanti e torno al punto 1, altrimenti memorizzo l'istante dell'ultimo uso della chiave e aspetto che un pulsante venga premuto
  5. torno al punto 1

ilfusiere:
cmq no passata la card rimane in attesa del pulsante

Fidati ti resta in attesa per colpa del while dentro l'if se fai i controlli come si deve e come ti abbiamo suggerito vedrai che letta la chiave esce subito in attesa dell'altra card, a meno di non mettere il while come ti ho suggerito alcuni post fa...