=====Tutoriel Arduino avec Émetteur/Recepteur RF=====
=== Matériel ===
* 2 Arduino UNO (Émission/Réception)
* Émetteur RF 433 MHz XY-FST FS1000A
* Recepteur RF 433 MHz XY-MV-5V
* 6 Fils
* Émetteur
{{:wiki:tutoriels:emetteur.jpg?100|}}
* Récepteur
{{:wiki:tutoriels:recepteur.jpg?100|}}
=== Montage ===
== Émetteur ==
* Émetteur -> Arduino
* DATA -> 12
* VCC -> 5V
* GND -> GND
== Récepteur ==
* Récepteur -> Arduino
* DATA -> 11 Attention il y a 2 pin DATA mais ça ne change rien
* VCC -> 5V
* GND -> GND
{{:wiki:tutoriels:montage.jpg?100|}}
=== Code ===
La partie émission va envoyer un message (ici "Bonjour le PMClab"). Il faut
pas submerger le récepteur il y a donc une petite pause.
La partie réception va recevoir le message (donc chaque caractère) et va ensuite l'afficher.
Pour cet exemple nous utilisions la bibliothèque VirtualWire qui simplifie l'échange des messages.
Il faut télécharger la bibliothèque et la décompresser et ensuite ajouter dans le répertoire //sketchbook/libraries//.
http://www.airspayce.com/mikem/arduino/VirtualWire/
== Émetteur ==
#include
char Message[VW_MAX_MESSAGE_LEN];
void setup() {
vw_setup(2000); // vitesse en bauds
}
void loop() {
String text = "Bonjour le PMClab\n";
text.toCharArray(Message, 80);
vw_send((uint8_t *)Message, strlen(Message));
vw_wait_tx(); // Attente jusqu'à que tout le message est envoyé
delay(1000); // delais pour ne pas submerger le récepteur
}
== Récepteur ==
#include
char Message[VW_MAX_MESSAGE_LEN];
void setup() {
Serial.begin(9600);
vw_setup(2000); // vitesse en bauds
vw_rx_start();
}
void loop(){
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
int i;
for (i = 0; i < buflen; i++)
{
Message[i] = char(buf[i]);
}
Message[buflen] = '\0';
Serial.print("Message recu: ");
Serial.println(Message);
}
}