=====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); } }