Cette partie est résolu
Voila j'essaie de faire fonctionner ce module Grove RFID SEN11425P sur un shield grove.
Je débute et je ne sais pas où brancher mon module rfid.
Dans le code donné par Seeedstudio ils disent ceci :
// link between the computer and the SoftSerial Shield
//at 9600 bps 8-N-1
//Computer is connected to Hardware UART
//SoftSerial Shield is connected to the Software UART:D2&D3
et ce message d'erreur au téléversement : avrdude: stk500_getsync(): not in sync: resp=0x00
Merci pour vos réponses, j'ai bien avancé.
Depuis j'ai rajouté un module Grove SD.
Le but étant d'écrite sur la SD le numéro du badge lu par le module rfid.
voici mon code :
#include <SPI.h>
#include <SD.h>
#include <SoftwareSerial.h>
SoftwareSerial SoftSerial(2,3);
unsigned char buffer[64]; // buffer array for data recieve over serial port
char texte[64];
int count=0; // counter for buffer array
File myFile;
void setup()
{
SoftSerial.begin(9600);
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("Initializing SD card...");
pinMode(10, OUTPUT);
if (!SD.begin()) {
Serial.println("initialisation KO!");
return;
}
Serial.println("initialization OK.");
}
void loop()
{
if (SoftSerial.available()) // if date is comming from softwareserial port ==> data is comming from SoftSerial shield
{
while(SoftSerial.available()) // reading data into char array
{
buffer[count++]=SoftSerial.read(); // writing data into array
//texte = SoftSerial.read();
if(count == 64)break;
}
//SD
myFile = SD.open("test.txt", FILE_WRITE);
if (myFile) {
myFile.write(buffer, count);
myFile.println();
myFile.close();
Serial.println("Ecriture OK.");
Serial.println("num Badge = ");
Serial.write(buffer, count);
count = 0;
}
else {
Serial.println("Ecriture KO");
}
}
}
voici ce que ca donne dans la console série :
Initializing SD card...
initialization OK.
Ecriture OK.
num Badge =
Ecriture OK.
num Badge =
030013047B6FEcriture OK.
num Badge =
Ecriture OK.
num Badge =
030013047B6FEcriture OK.
num Badge =
Ecriture OK.
num Badge =
030013047B6FInitializing SD card...
initialisation KO!
il doit y avoir un souci dans mon code car ile commence par écrire ECRITURE OK puis NUM BADGE puis encore ECRITURE OK etc ... et enfin la valeur du badge. Avez vous des idées car je tourne en rond.
De plus dans ma SD il écrit la valeur du bit de poid fort et de poid faible, comment ne pas les écrire alors qu'ils n'apparaissent pas dans la console série ?
Bonjour
Remplacer
Serial.println("num Badge = ");
par
Serial.print("num Badge = ");
et ajouter
Serial.println (" "); //il y a un espace entre les deux "
après le Serial.write (buffer, count);
A+
Petite question : comment enlever les bits de parité fort et faible présent au début et à la fin du numéro de badge ? Pas visible dans le code que j'ai fourni ici