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
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:
- Resto in attesa finché non leggo la chiave valida, se non passo la chiave i pulsanti non fanno nulla
- Se la chiave è valida resto in attesa che un pulsante venga premuto
- Torno al punto 1
Quando tutto è ok allora affronteremo l'altro problema, ti anticipo che: - Dovrai imparare come si usa una struttura (struct in c) e gli array
- 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)
- 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 è:
- Aspetto una chiave
- Ho letto la chiave, controllo l'ultima volta che è stata usata
- verifico che sia passato il tempo prefissato
- 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
- 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...