Bonjour !
Je suis actuellement en Terminal STI2D, pour mon BAC je dois donc réaliser un projet de fin d'année, qui consiste a réaliser un distributeur de croquette automatique (ne jugez pas l'originalité s'il vous plait x) )
Pour ma partie je dois utiliser un capteur RFID pour assigner un code a chaque chat, et leur assigner une "fiche" par la suite (cette fiche contiendrais des informations sur le dit chat)
Mon problème est le suivant : Mon capteur RFID, une fois brancher parvient a me donner un code, hélas celui ci ne correspond pas à celui indiqué sur le badge, est-ce normal ?
Mon second problème : Je ne trouve pas comment enregistrer le code RFID donnée pour Arduino sur une carte SD (par exemple le lire sur un PC)
Édite ton message (petit triangle pointant vers le bas à droite de "Quick Edit More"), sélectionne ton code et clique sur le bouton </> pour le mettre entre balises code. C'est plus lisible. Merci
Pour ce qui est du programme , de ce que j'ai compris , il permet de lire les ID provenant des badges rfid en question et de l'affiché sur le moniteur série.
Après je ne suis pas sur d'avoir saisi entièrement le programme , je débute dans l'arduino ^^
Dans l'IDE, si tu fais CTRL T, l'affichage va indenter les lignes et rendre plus facile de voir les blocs entre accolades.
Pour la loop, ça donne ça (j'ai simplifié l'affichage des blocs) :
void loop() {
if (SoftSerial.available()){
while (SoftSerial.available()) {
buffer[count++] = SoftSerial.read();
if (count == 64) break;
}
Serial.write(buffer, count);
clearBufferArray();
count = 0;
}
if (Serial.available()) SoftSerial.write(Serial.read());
}
La dernière ligne prend ce que tu tapes au clavier dans la console et l'envoie au lecteur de tags. Ça permet de lui envoyer des commandes, le cas échéant.
if (Serial.available()) SoftSerial.write(Serial.read());
Donc lorsque tu approches un tag du lecteur il devrait lire les données qui sont inscrites dedans et les afficher (dans la limite de 64 caractères) sur la console. Si ce que tu vois n'est pas comme ce qui est écrit dessus, c'est
soit que c'est normal, le code dans le tag n'est pas ce qui est écrit sur le tag
soit que tu affiches en décimal un truc qui est écrit dans une autre base (hexa par exemple) sur le tag
Note que tu écris dans un tableau de char, donc c'est peut-être de l'ASCII que tu reçois. Prend un tag et passe le devant le lecteur. Qu'est ce qu'il t'affiche sur la console ? Qu'est-ce qui est écrit sur le tag ? Compare éventuellement avec une table ASCII :
Merci beaucoup pour ces réponses , pour ce qui est de la carte c'est une carte Arduino Uno , pour le lecteur rfid c'est un Lecteur rfid Grove 125 kHz (réf:113020002), et pour la carte sd c'est une
micro sd tout a fait basique de la marque "SanDisk" avec un adaptateur pour faire carte sd
Après passage d'un tag devant le rfid j'obtiens "050077E8B21D1" , sur le tag il y est écris "0008293153".
CrocketMan:
Après passage d'un tag devant le rfid j'obtiens "050077E8B21D1" , sur le tag il y est écris "0008293153".
lesept:
...
Donc, il semble que ce qui est écrit sur le tag n'est pas son ID.
bonjour,
le code fourni en #2 n'utilise pas de bibli RFID donc les données son brut il faut donc les décoder selon le mode de fonctionnement (il semble en avoir 2 suivant la position du jumper) ....
ou plus simple utiliser la bibli
CrocketMan:
Après passage d'un tag devant le rfid j'obtiens "050077E8B21D1" , sur le tag il y est écris "0008293153".
si tu converti "0008293153" de décimal en hexa ça donne "7e8b21" que l'on retrouve bien dans le code lu, les autres bits sont les checksums et autres données constructeur ....