brooksltd125 Inviato 4 Aprile 2016 Condividi Inviato 4 Aprile 2016 ciao ragazzi, sto lavorando ad un progetto con arduino. Sicuramente mi sto perdendo in un bicchiere d'acqua, ma al momento non ricordo proprio come fare (google non mi ha aiutato). arrivo al nocciolo: vorrei sapere se è possibile ritornare un valore true per un certo numero di volte. codice: // Questa funzione verifica se il codice Letto è autorizzato boolean verificaCodice(String codiceLetto){ if(codiceLetto.equals(codiceAutorizzato)){ return true; }else{ return false; } vorrei che il codice venga autorizzato solo per un determinato numero di volte. è possibile? grazie a tutti Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 9 Aprile 2016 Condividi Inviato 9 Aprile 2016 Se posti l'intero codice forse si capisce cosa intendi Link al commento Condividi su altri siti Altre opzioni di condivisione...
brooksltd125 Inviato 13 Aprile 2016 Autore Condividi Inviato 13 Aprile 2016 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); } Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 26 Aprile 2016 Condividi Inviato 26 Aprile 2016 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); } Scusa il ritardo, comunque basta che imposti una variabile che conta il numero di autorizzazioni e con un confronto autorizzi o no la lettura. Link al commento Condividi su altri siti Altre opzioni di condivisione...
brooksltd125 Inviato 26 Aprile 2016 Autore Condividi Inviato 26 Aprile 2016 Figurati e grazie, ma come la imposto questa variabile? come concetto c'ero, è il codice che mi frega potresti farmi un esempio semplice semplice, o dirmi che per favore che metodi usare, grazie ancora Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Crea un account o accedi per lasciare un commento
Devi essere un membro per lasciare un commento
Crea un account
Iscriviti per un nuovo account nella nostra community. È facile!
Registra un nuovo accountAccedi
Sei già registrato? Accedi qui.
Accedi Ora