Problème entre module RFID et transmission avec module RF433MHZ

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)*

lisez comment utiliser le forum (les posts épinglés en haut du forum comme “Bien éditer son post pour les nuls” , “Faire un Nouveau Sujet ou le corriger avec les Balises...” et “Règles du forum francophone”), et faites un post “propre” utilisant les balises de code

VirtualWire est déprécié depuis longtemps, vaut mieux utiliser la librairie RadioHead (voici un exemple de code)

Cela dit MFRC522 et RH_ASK utilisent le SPI donc à regarder pour gérer proprement le slave select et timer (peut être un conflit) etc (cours SPI)