Liaison radiofréquence RF (434 MHz)

Rien ne vaut une bonne connexion filaire, il est parfois indispensable d'utiliser une connexion sans fil.
Dans ce tutoriel, nous allons voir des composants peu chers qui permettent une connexion sans fil utilisant les fréquences radio de 434 MHz.
Si vous êtes riches et que vous souhaitez utiliser des modules plus chers (XBee, shield WIFI, etc.), passez votre chemin :)

Introduction

Nous allons utiliser la librairie VirtualWire pour faire communiquer les 2 parties. Toutefois, si votre objectif est de pouvoir commander les prises électriques sans fil qu'on trouve dans le marché, alors la librairie RC-Switch est mieux adaptée à vos besoins. Nous l'aborderons en fin du tutoriel.

Matériel

Installation

Après avoir téléchargé la librairie VirtualWire, décompressez le dossier et copiez le contenu dans le dossier libraries d'Arduino.

Pour trouver ce dossier, ouvrez Arduino IDE puis Fichier et enfin Préférences. La première entrée dans la fenêtre qui vient de s'ouvrir indique le répertoire contenant le dossier Libraries.

Maintenant relancez l'Arduino IDE.

Circuit

Emission

tx

Réception

rx

Code

Emission

				#include <VirtualWire.h>
				void setup(){
					vw_set_tx_pin(3); 	// choisir la broche 3 pour émettre
				    vw_setup(2000);	 	// vitesse de transmission 
				}
				void loop(){
				    const char *msg = "Bonjour";
				    vw_send((uint8_t *)msg, strlen(msg));
				    vw_wait_tx(); 
				    delay(1000);
				}
                

Réception

				#include <VirtualWire.h>

				uint8_t buf[VW_MAX_MESSAGE_LEN];
				uint8_t buflen = VW_MAX_MESSAGE_LEN;
				
				void setup(){
				  Serial.begin(9600);	
				  vw_set_rx_pin(4);		// choisir la broche 4 pour recevoir
				  vw_setup(2000);	 	// vitesse de reception
				  vw_rx_start();       	// démarrer la réception
				}
				
				void loop(){
				  String val = "";
				  if (vw_get_message(buf, &buflen)){
					  for(int i = 0; i < buflen; i++){
					    char c += buf[i];
					    val += c;
					  }
				  }
				  Serial.println(val);
				}
                

Remarques

La librairie RC-Switch

Il existe sur le marché (FNAC, Carrefour, etc.) différents modules contrôlables avec une télécommande. Le plus souvent, ces modules s'intercalent entre un appareil électrique et une prise murale de manière à allumer cet appareil et à l'éteindre avec la télécommande fournie.

La majorité de ces interrupteurs sans fil se contrôlent avec les ondes radio 434 MHz. Il est donc facile de pouvoir utiliser Arduino pour s'en servir dans votre projet domotique.

Ce lien vous conduira sur la page dédiée au projet RC-Switch où vous serez guidés dans cette démarche. Toutefois, si vous avez des questions, n'hésitez pas :)