Voici un bout de code qui permet d'effectuer quelque chose toutes les 10 secondes en s'appuyant sur millis(). (cf l'exemple "blink without delay" pour la technique) 
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | void loop()
{
  static unsigned long chronometre = 0;
  const unsigned long temporisation = 10000UL;
 
  if (millis() - chronometre >= temporisation) { // 10 secondes sont écoulées
    // faire ici le test de présence du tag
    ....
    // puis mémoriser le moment de cette vérification
    chronometre = millis(); // ou chronometre += temporisation; 
  }
 
  // ici votre arduino n'est pas bloqué, il peut faire autre chose
  // --> notamment écouter le port série pour de l'info des tags et noter dans une autre variable
  // le moment (millis()) de réception du dernier caractère reçu
  // Ça devrait vous donner une idée
 
} | 
 
Attention, dans votre code vous faites  mais vous avez modifié la taille du buffer
	
	unsigned char buffer[12]; //64 caracteres lus à changer selon longueur tag
  donc vous n'avez que 12 cases mémoires, pas 64. Le mieux serait de mettre cela dans une constante et de se référer à cette constante pour la dimension du tableau et les tests.
						
					
Partager