Bonjour, le but de mon code est de détecter une carte RFID et si elle correspond à une enregistrée alors elle transmet un message à un autre arduino par le module RF433MHz. Malheureusement je ne comprends pas ce qui cloche dans ce programme puisqu’il fonctionne lorsqu’il est en bluetooth mais pas avec le 433MHZ (avec des changements dans le code bien sur). Le code de réception fonctionne très bien. J’aimerai savoir si quelqu’un pouvait m’indiquer mon erreur s’il vous plait. Le code en question et merci :
#include <SPI.h>
#include <MFRC522.h>
#include <VirtualWire.h>
#define DELAY 100 // Délais entre 2 mesures du capteur RFID
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // On définie le capteur RFID
int RF_TX_PIN = 2;
const char *msg1 = “1”; // Message à envoyer
const char *msg2 = “2”; // Message à envoyer
const char *msg3 = “3”; // Message à envoyer
String derniereValeur;
void setup()
{
Serial.begin(9600); // Vitesse de transmission
SPI.begin(); // Initialisation
mfrc522.PCD_Init(); // Initialisation du capteur RFID
vw_set_tx_pin(RF_TX_PIN); // Module RF433
vw_setup(2000); // Vitesse de transmission en Bits par secondes
}
void loop()
{
if ( ! mfrc522.PICC_IsNewCardPresent()) // Recherche de cartes
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) // Une carte est trouvée/choisie
{
return;
}
String content= “”; // On crée la variable content
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++) // On indique le TAG
{
content.concat(String(mfrc522.uid.uidByte < 0x10 ? " 0" : " "));
_ content.concat(String(mfrc522.uid.uidByte*, HEX));_
_ }_
_ content.toUpperCase();_
_ if (content.substring(1) == “39 20 4E B8”) // Si le TAG est valide*_
* {*
* if (content.substring(1)!= derniereValeur) // Si le TAG n’a pas déjà été validé (!= signifie différent)*
* {*
vw_send((uint8_t )msg1, strlen(msg1)); // Envoi le message …
_ delay(DELAY);_
_ }_
_ }_
_ if (content.substring(1) == “46 DD AB F8”) // Si le TAG est valide*_
* {*
* if (content.substring(1)!= derniereValeur) // Si le TAG n’a pas déjà été validé (!= signifie différent)*
* {*
* vw_send(msg2, strlen(msg2)); // Envoi le message …
_ delay(DELAY);_
_ }_
_ }_
_ if (content.substring(1) == “14 C5 87 AA”) // Si le TAG est valide*_
* {*
* if (content.substring(1)!= derniereValeur) // Si le TAG n’a pas déjà été validé (!= signifie différent)*
* {*
* vw_send(msg3, strlen(msg3)); // Envoi le message …
_ delay(DELAY);_
_ }_
_ }_
derniereValeur=content.substring(1);
delay(DELAY);
_}_
RFID_acces_RF433_Emission.ino (2.13 KB)
RFID_acces_RF433_Emission.ino (2.13 KB)*