Lecteur RFID 134,2 khZ

Bonjour,

Voila quelques temps que je m’intéresse de prêt à l’électronique et la programmation.
L’arduino me semble parfait pour découvrir et enrichir mes connaissances.

J’apprend pas à pas avec des tutos, des vidéos et autres.

Ce que j’aimerai faire, pouvoir lire un tag et qu’il s’affiche sur le moniteur série en décimal.

J’ai trouvé un module RFID 134,2 khZ (WL-134) pour lequel je ne trouve pas vraiment de documentation afin de tenter l’écriture du code.

J’ai bien trouvé un code sur ce forum qui me permet de lire les informations en hexadecimal mais je suis un peu perdu pour les obtenir en décimal.

Voici le code trouvé :

const byte tailleMessageMax = 11;
char messageBrut[tailleMessageMax + 1]; // +1 car on doit avoir un caractère de fin de chaîne en C, le '\0'
char message[tailleMessageMax];

const char marqueurDeFin = 3;

boolean ecouter()
{
  static byte indexMessage = 0; // static pour se souvenir de cette variable entre 2 appels consécutifs. initialisée qu'une seule fois.
  boolean messageEnCours = true;

  while (Serial.available() && messageEnCours)
  {
    int c = Serial.read();
    if (c != -1)
    {
      Serial.print(F("Octet lu: 0x")); Serial.print(c, HEX); // ici c est un entier, on affiche le code ASCII en Hexadécimal
      Serial.print(F("\t[")); Serial.print((char) c); Serial.println(F("]"));
      switch (c)
      {
        case marqueurDeFin:
          Serial.println(F("Fin de chaine"));
          messageBrut[indexMessage] = '\0'; // on termine la c-string
          indexMessage = 0; // on se remet au début pour la prochaine fois
          messageEnCours = false;
          break;
        default:
          if (indexMessage <= tailleMessageMax - 1) messageBrut[indexMessage++] = (char) c; // on stocke le caractère et on passe à la case suivante
          else //Serial.println(F("j'ignore!"));
            break;
      }
    }
  }
  return messageEnCours;
}

void setup()
{
  Serial.begin(9600, SERIAL_8N2);
}

void loop()
{
  if (! ecouter())
  {
    // on a reçu le marqueur de fin
    while (Serial.available())
    {
      Serial.read();
    }
    if (sizeof(messageBrut) > 9)
    {
      for (int i = 0; i <= tailleMessageMax + 1; i++)
      {
        message[i] = messageBrut[i + 1];

        Serial.print(atoi(message[i]));
      }
      Serial.print(F("Phrase retenue : [")); Serial.print(message); Serial.println(F("]"));
      Serial.println(sizeof(messageBrut));
    }
  }



  // ici on peut faire autre chose



}

Est-ce quelqu’un a déjà réalisé un montage de ce genre ? Pourrai-t-il m’aider ?

Bien à vous

vous avez trouvé ça où ?? ça me dit quelque chose...

pourquoi voulez vous afficher l'ID en décimal?

sinon d'après vous c'est quoi cette ligne:

Serial.print(F("Octet lu: 0x")); Serial.print(c, HEX); // ici c est un entier, on affiche le code ASCII en Hexadécimal

--> regardez la doc de println() pour afficher en décimal

Bonjour,

J'ai trouvé ce post sur le forum : http://forum.arduino.cc/index.php?topic=516199.0

Ce que je ne comprend pas c'est que même si je change de tag les informations qui s'affichent sont les mêmes...

Je cherche à afficher l'ID d'un animal, merci pour votre réponse je regarde votre doc et vais essayer

Pour la ligne je suppose que c'est l'affichage des données du tag en hexadecimal ?