Tag Archives: virtualwire

Arduino RF 433Mhz & VirtualWire : envoyer des bytes/octets

Grove RF Link Kit 433 Mhz

Les émetteurs et récepteurs RF 433 Mhz sont extrêmement pratiques et surtout peu coûteux pour la mise en oeuvre de communication sans-fil entre plusieurs dispositifs électroniques.

La solution la plus simple sur Arduino pour effectuer les liaisons est d’utiliser la librairie VirtualWire (version 1.9 actuellement), donc l’utilisation est très bien détaillée dans la documentation officielle VirtualWire.

Cependant, tous les exemples que j’ai pû trouver sur internet expliquent comment transférer un tableau de caractères (char[]), mais difficile de trouver des exemples pour transférer des byte ou int.

Voici donc un premier boût de code côté émetteur détaillant comment faire envoyer des bytes :

Transmission de byte

#include <VirtualWire.h>

byte msg[3]; /* Tableau de 3 bytes */

void setup() {
Serial.begin(9600);
vw_setup(2000);
}

void loop() {
  msg[0] = B00000001; /* = 1 */
  msg[1] = B00000010; /* = 2 */
  msg[2] = B00000011; /* = 3 */
  vw_send((uint8_t *)msg, sizeof(msg));
  vw_wait_tx();
}

Côté réception, vous pouvez au choix analyser/comparer les valeurs une par une (reçues une par une) ou les mettre dans un buffer (tableau).