Bonjour tout le monde,
Je viens vers vous, car j'un un problème concernant mon stage. Pour être bref, j'essai de récupérer des trames RFID sur mon Arduino Uno. Je suis connecté via des fils classique dans les borniers du lecteur (le SCIEL READER) afin de faire la liaison avec mon arduino UNO. Les tags utilisés sont 2 COIN-ID et 1 PUCK ID.
Le problème observé est que les trames que je reçois et lis sur le logiciel de l'entreprise fournissant le matériel et les trames lu sur le moniteur série de l'arduino ne sont pas les mêmes et je ne comprends pas pourquoi. J'ai essayé de voir avec l'entreprise si des codages de trames font que la récupération de données est bloquée, mais je n'ai pas vraiment de réponse.
Vous me demanderez pourquoi est ce que je veux utiliser absolument l'arduino? Et bien car dans les manipulations à venir le but sera d'enregistrer les trames RFID sur une carte SD via un shield Arduino.
Voila globalement, j'espère que vous pourrez m'orienter vers les problèmes qui me bloquent afin de voir si le problème vient de moi ou non (codage/câblage?)
Je vous joins mon câblage ainsi que mon problème et la différence de trames entre le moniteur série et le logiciel du constructeur.
Voici le code :
#include <SoftwareSerial.h>
#include <SPI.h>
SoftwareSerial mySerial(10, 11); // RX, TX
unsigned char incomingByte;
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
Serial.println ("Start RFID read! \n");
}
void loop()
{
while (mySerial.available()>0)
{
if ( incomingByte == 0) {
Serial.print ('\n');
}
incomingByte=mySerial.read();
Serial.print(incomingByte, HEX);
Serial.print (' ');
}
Serial.println();
delay(1000);
}
Dans les fichiers attachés voici comment les trames du constructeur se lisent :
Exemple : B338901B01 Le lecteur 01 a détecté le tag portant le numéro d’ID 38901B avec un niveau de réception de B3 (en hexadécimal).
Bonjour
Il semble que ton lecteur soit à sortie RS232 ou RS422 selon la position du cavalier J3
Je n'arrive pas voir sur tes photos
Si c'est configuré en RS232 "vrai" les niveaux ne sont pas compatible avec les I/O basiques de l'arduino comme pour le software serial
Bonjour,
Le cavalier J3 dont vous parlez se trouve sur l'arduino?
pierre3137:
Bonjour,
Le cavalier J3 dont vous parlez se trouve sur l'arduino?
non , sur ton boitier lecteur
à priori doc là
Je viens de regarder et le cavalier et bien mis en mode RS232 Full duplex avec un cavalier sur la première pin et un second sur la pin 2 et 3 (comme la photo indiqué page 8 )
pierre3137:
Je viens de regarder et le cavalier et bien mis en mode RS232 Full duplex avec un cavalier sur la première pin et un second sur la pin 2 et 3 (comme la photo indiqué page 8 )
c'est donc du RS232 "Vrai" , ce n'est pas compatible directement avec une "entrée arduino" et çà peut meme etre potentiellement destructeur pour l'arduino (signaux +/- ~12V)
Ah je ne savais pas du tout, est ce que vous savez comment réaliser l'adaptation pour que ce soit compatible?
pierre3137:
Ah je ne savais pas du tout, est ce que vous savez comment réaliser l'adaptation pour que ce soit compatible?
le + simple un adapteur RS232/TTL basé sur du max232 ou equivalent genre çà
aprés çà il y a peut etre aussi la possbilité de te piquer en TTL sur ta carte
je pense qu'il y a du grain à moudre (voir encadré sur la photo ) , mais çà depend aussi de tes capacités/possibilités d'interventions
Artouste:
le + simple un adapteur RS232/TTL basé sur du max232 ou equivalent genre çà
aprés çà il y a peut etre aussi la possbilité de te piquer en TTL sur ta carte
je pense qu'il y a du grain à moudre (voir encadré sur la photo ) , mais çà depend aussi de tes capacités/possibilités d'interventions
D'accord donc si j'ai bien compris je prends l'adaptateur, je branche le la partie rs232 sur le lecteur et je connecte par la suite le RX TX VCC à l'Arduino c'est bien ça?