bonjour a tous!!!
je suis aujourd'hui sur un projet un peu complexe mais pas trop quand même .
en fait j ai découvert le RFID et bien sûr sur un de mes post précédent vous le remarquerez j ai fais un petit chose pour m amuser.
j ai aussi découvert la liaison sans fil grâce au module NRF24l01 avec lequel j ai fait de montage simple qui fonctionne très bien.
maintenant je cherche a combiner les deux sur la même carte en sachant qu ils utilisent tout les deux le SPI.
maintenant voila j ai fait mes branchement j ai écris un petit bout de code et je me rends compte que le module NRF24l01 n 'est plus reconnu.
le code bloque au niveau du setup "L'arduino ne peut pas communiquer avec le module RADIO ".
ma question est la suivante y a t il un câblage spécifique a faire quand on utilise des modules différents avec le SPI ou c est niveau du code que ça se fait.
j'ai un peu fouillé sur la toile mais tout est expliquer en anglais et j avoue que j'ai un peu de mal a tout comprendre.
voici le bout de code (je suis conscients qu'il y a des erreurs mais je ne suis qu'au début de ce dernier):
#include <SPI.h>
#include <NRFLite.h>
#include <MFRC522.h>
#define SS_PIN1 6 //SDA pin
#define RST_PIN 5
String lecture;
const static uint8_t RADIO_ID = 1; // Numéro d'indentification de notre module émetteur
const static uint8_t DESTINATION_RADIO_ID = 0; // Numéro d'identification du module récepteur (A qui notre émetteur transmet)
const static uint8_t PIN_RADIO_CE = 7;//déclaration du pin CE
const static uint8_t PIN_RADIO_CSN = 8;//déclaration du pin CSN
int Valeur;//variable qui contient la valeur transmise
struct RadioPacket // Packet de données envoyé,
//uint8_t=variable sur 8 bit, uint32_t=variable sur 32 bit
{
uint32_t Valeur;//variable Valeur codée sur 32 bit
};
NRFLite _radio; //Déclaration du module NRF
RadioPacket _radioData;//Déclaration du packet de données
MFRC522 rfid1(SS_PIN1, RST_PIN); // appel de la classe
String motdepass[]={"35 ee e2 bb"};
void setup()
{
Serial.begin(115200);//On ouvre la laison série avec le PC à 115200 baud
if (!_radio.init(RADIO_ID, PIN_RADIO_CE, PIN_RADIO_CSN))//si l'initialisation du module n'est pas finie
{
Serial.println("L'arduino ne peut pas communiquer avec le module RADIO ");
while (1); // Attend
}
Serial.println("Setup fini");
rfid1.PCD_Init(SS_PIN1, RST_PIN);
}
void loop()
{
// Si on ne detecte pas une carte on reboucle au debut
if ( ! rfid1.PICC_IsNewCardPresent())
return;
// as t'on lu la carte
if ( ! rfid1.PICC_ReadCardSerial())
return;
lecture=String(rfid1.uid.uidByte[0],HEX) + " " + String(rfid1.uid.uidByte[1],HEX) + " " + String(rfid1.uid.uidByte[2],HEX) + " " + String(rfid1.uid.uidByte[3],HEX);
Serial.println(lecture);
rfid1.PICC_HaltA();
rfid1.PCD_StopCrypto1();
if(motdepass[0] == lecture){
Valeur=1;}
if (_radio.send(DESTINATION_RADIO_ID, &_radioData, sizeof(_radioData))) //Si le module récepteur confirme qu'il a bien recu le message
{
Serial.println("...Bien arrivé");
}
else
{
Serial.println("...erreur");
}
delay(10);//pause de 10 milli secondes
}
si quelqu'un pourrait m indiquer une doc ou bien un lien avec de explication en français cela m aiderai énormément.
en attendant je continue mes fouilles sur le net.
merci beaucoup cher amis Arduinologue