problema con rfid lampeggio e stop

ciao a tutti,mi sono avvicinato al mondo arduino da poco, e devo dire che una bellissima materia.
ho un quesito da risolvere,se mi potete aiutare.
allora il problema e questo:
ho un lettore rfid,che quando avvicino la tessera,mi deve accendere il led e farlo lampeggiare x 4 volte e poi stop.
solo che togliendo la tessera dal lettore rfid,e rimettendo la tessera sul lettore, non parte di nuovo il lampeggio.
sto provando in tt le maniere,e nn me ne esco da questo problema.
qualcuno che potrebbe delucidarsi sul quesito???
grazie per l'aiuto e complimenti al forum.............
allego lo sketch:
int Conteggio = 1; // variabile in cui contiamo quante volte ha lampeggiato
int ConteggioMax = 4; //modificare questo valore per un num diverso di lampeggi
const int led = 4;
#include <SPI.h>
#include <RFID.h>
/* Vengono definiti PIN del RFID reader*/
#define SDA_DIO 10 // Pin 53 per Arduino Mega
#define RESET_DIO 9
RFID RC522(SDA_DIO, RESET_DIO);

// the setup function runs once when you press reset or power the board
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
/* Abilita SPI*/
SPI.begin();
/* Viene inizilizzato RFID reader */
RC522.init();

}

// the loop function runs over and over again forever
void loop() {
if (RC522.isCard()) { // Se viene letta una tessera
if (Conteggio <= ConteggioMax) {

digitalWrite (led, HIGH);
delay (25);

digitalWrite (led, LOW);
delay (200);

digitalWrite (led, HIGH);
delay (25);

digitalWrite (led, LOW);
delay (200);
Conteggio++; //incrementa il conteggio di 1
}
// se è stato superato il numero di conteggi, fermati e spegni il led
else
{
digitalWrite(led, LOW);
}
}
}

Presentati nell'apposita sezione è ricorda che i codici vanno postati con i tag (al posto dei < e > metti rispettivamente [ e ] e verrà fuori

questo che sarà il tuo codice

PS: LEGGI IL REGOLAMENTO!

  1. Corri a presentarti nell'apposita sezione.
  2. Racchiudi il codice tra i tag code < / >.
  3. Devi reinizializzare Conteggio a 1 quando esci dal ciclo.
  4. 25 ms per l'accensione del led mi sembrano un po' poco...

sukko ti ho anticipato di 12 secondi :slight_smile:

scusate,dove sta il regolamento???

>openSUSE2014: ... come ti è stato già detto, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...

... poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo primo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie

Guglielmo

Non riporti mai Conteggio a 1
Prova con

void loop() 
{ if (RC522.isCard())  // Se viene letta una tessera
  { if (Conteggio <= ConteggioMax) 
    { // lampeggio
      ...
      Conteggio++; //incrementa il conteggio di 1
    }
    else   // se è stato superato il numero di conteggi, fermati e spegni il led
    { digitalWrite(led, LOW);
    }
  }
  else
  { Conteggio=1;
  }
}