[Tuto] Commander un relais en bluetooth

Commander un relais en bluetooth

Le but de ce montage est de commander une relais par une connexion Bluetooth. La finalité peut être par exemple l’allumage d’une lampe à distance.

Il est aussi possible de réaliser ce montage en remplaçant le module Bluetooth par le module wifi, voir même de le faire sans module en commandant le relais par l’interface USB.

Composants nécessaires :

Composants

 

Principe du montage :

Ce montage se basera sur le montage précédemment réalisé dans le tuto « Réaliser une liaison Bluetooth ». Le montage sera donc le suivant :

  • Digital 0 – Rx (Arduino) → Tx (Module Bluetooth)

  • Digital 1 – Tx (Arduino) → Rx (Module Bluetooth)

  • 5V (Arduino) → VCC (Module Bluetooth)

  • GND (Arduino) → GND (Module Bluetooth)

  • Digital 2 (Arduino) → N1 (Module Relais)

  • 5V (Arduino) → VCC (Module Relais)

  • GND (Arduino) → GND (Module Relais)

Remarque: Pour vous faciliter le montage du relais, il est pratique d’utiliser une nappe comme fourni avec certains capteurs.

Remarque: On monte le module Bluetooth sur une Breadboard pour faciliter le câblage.

Montage 1

 

Montage 2

 Programmation du montage:

 Le programme est le même que pour le tuto « Réaliser une liaison Bluetooth ».

 Le module Bluetooth convertie les informations envoyées en série. La seule contrainte est d’utiliser un débit à 9600bauds. Toutes les commandes de la librairie Serial restent utilisables.

 Pour plus de détails, vous pouvez consulter le site officiel : http://arduino.cc/fr/Main/Serial

Le programme doit établir une connexion, lire les données reçues, s’il reçoit un 1 il ferme le relais, s’il reçoit un 0 il ouvre le relais pour le reste il ne fait rien.

const int relais = 2; // broche 2 du micro-contrôleur se nomme maintenant : relais

void setup() // Fonction d’initialisation de la carte
{
  pinMode(relais, OUTPUT); // Definir relais comme une sortie
  Serial.begin(9600); // Demarrer la liaison a 9600bauds
}

void loop() // Fonction principale, elle se répète (s’exécute) à l'infini
{
   while (Serial.available() == 0); // Attendre de recevoir des caracteres
   char c = Serial.read(); // Lire les caracteres recus et les stocker dans c
   if(c =='1') // Si c = 1
   {
     digitalWrite(relais, HIGH); // Fermer le relais
   }
   if(c == '0') // Si c = 0
   {
     digitalWrite(relais, LOW); // Ouvrir le relais
   }
   delay(500); // Attendre une demi seconde
}

Il reste à brancher le Arduino pour compiler le programme et le téléverser.

Pour se connecter au Arduino dans l’exemple nous utiliserons une application Android : « Bluetooth Pi Arduino PC etc ». Dans l’application, cliquer sur « Discover » pour scanner les périphériques autour du terminal Android. Le Arduino s’appelle HC-06 cliquer dessus. Le mot de passe est « 1234 ». cliquer sur « terminal ». Dans la barre de saisie en bas de l’écran, taper « 1 » puis send. La LED s’allume. Taper 0 la LED s’éteint.

Une fois terminé cela nous donne :

ON

ON

OFF

OFF

Pour aller plus loin : On peut utiliser d’autres applications qui utilise des commandes plus complexes comme Amarino. Il est aussi possible de faire sa propre application grâce à Processing.

14 réflexions sur « [Tuto] Commander un relais en bluetooth »

  1. Bonjour,

    Merci pour le travail de ce site.

    J’ai deux questions a vous soumettre.

    De combien dispose-t-on de sorties digitales au maximum ?

    Pouvons-nous actionner les commandes de sorties simultanément ?
    (dans le cas de différente et non en parallèle bien sûr)

    Combien de temps le relais reste fermer?

    Merci encore

    • Bonjour,

      Au maximum sur un Arduino uno, on a 20 sorties (14 sur les pins digitales et 6 sur les pins analogiques). Elles peuvent être commandées simultanément. Elles restent actives jusqu’à désactivation.

      Bonne journée,

      Fabien

  2. Bonjour,

    Merci pour le travail de ce site.

    J’ai deux questions a vous soumettre.

    De combien dispose-t-on de sorties digitales au maximum ?

    Pouvons-nous actionner les commandes de sorties simultanément ?
    (dans le cas de différente et non en parallèle bien sûr)

    Combien de temps le relais reste fermer?

    Merci encore

    • Bonjour,

      Au maximum sur un Arduino uno, on a 20 sorties (14 sur les pins digitales et 6 sur les pins analogiques). Elles peuvent être commandées simultanément. Elles restent actives jusqu’à désactivation.

      Bonne journée,

      Fabien

  3. Bjrs. Comment commander le relais avec la sonnerie et vibreur de mon smart Android. Quand on m’appelle, je voudrais allumer en ble une ampoule. Merci

    • Bonjour, ceci va vous demander pas mal de travail, sans doute un application mobile qui capte le fait de recevoir un appel et qui allumé la l’AMP par bluetooth.

  4. Bonjour,
    je cherche à piloter mes volets roulants donc je vais mettre 2 relais pour la monter et la descente comme ça je peux conserver mon interrupteur au mur si l’arduino plante. Le problème c’est que dès que je branche la carte arduino aussitôt mes relais se mettent à 1. Imaginons une coupure d’électricité, comment je peux faire pour que mes relais restent à 0 pour éviter de commander la descente et la montée en même temps?
    Merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *