
ASSISTANCE PREMIUM DISPONIBLE AU +237 690861311 APPEL OU WHATSAPP
Pour communiquer entre deux Arduino en utilisant des modules RF, comme le nRF24L01 ou les modules 433 MHz, voici un guide détaillé avec les étapes, outils nécessaires et exemples de code.
-
2 modules nRF24L01.
-
2 cartes Arduino (UNO, Nano, etc.).
-
Câbles de connexion.
-
Condensateur de 10 µF (optionnel pour stabiliser l’alimentation).
-
Connectez le module nRF24L01 comme suit :
Pin nRF24L01 Arduino UNO/Nano VCC 3.3V GND GND CE Pin 9 CSN Pin 10 SCK Pin 13 MOSI Pin 11 MISO Pin 12 -
Ajoutez un condensateur de 10 µF entre VCC et GND du module pour éviter les fluctuations.
-
Ouvrez l’IDE Arduino.
-
Allez dans Outils > Gestionnaire de Bibliothèques.
-
Recherchez “RF24” et installez la bibliothèque par “TMRh20”.
Créez un fichier transmitter.ino
:
Créez un fichier receiver.ino
:
-
Téléversez le code émetteur sur un Arduino et connectez son module nRF24L01.
-
Téléversez le code récepteur sur l’autre Arduino avec son module.
-
Ouvrez le moniteur série sur les deux cartes pour observer la transmission.
-
Communication bidirectionnelle.
-
Faible consommation d’énergie.
-
Portée jusqu’à ~100 mètres en espace ouvert.
-
Nécessite une alimentation stable (condensateurs recommandés).
-
Sensible aux interférences dans la bande des 2,4 GHz.
Pour une solution plus simple mais unidirectionnelle, utilisez les modules RF 433 MHz (émetteur/récepteur). Le principe est similaire mais limité à l’envoi ou la réception de messages simples.
Code exemple pour émetteur :
#include <VirtualWire.h>
void setup()
{
vw_set_tx_pin(12 // Broche de transmission
_setup(0); Vitesse en bits/s}
void loop()
{
const char *msg = "Hello World";
vw_send((uint8 *), strlen(msg));
vw_wait_tx(); // Attendre la fin de l'envoi
delay(1000);
}
Code récepteur :
#include <VirtualWire.h>void setup() { vw_set_pin(11); // Broche réception
vw_setup(2000); // Vitesse en bits/s
vw_rx_start(); Démarrer la réception
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MESSAGE;
if (vw_message(buf, &buflen)) { // Si message reçu Serial.print("Message :
for ( i = 0; i < buflen; i++) { Serial.print((char)buf[i]);
}
Serial.println();
}
}
Avec ces étapes, vous pouvez choisir entre une communication bidirectionnelle avancée (nRF24L01) ou une solution simple et économique (433 MHz).