Bluetooth + RF 433mhz

Les cartes Arduino, les platines

Bluetooth + RF 433mhz

Message non lude maximej » Mar 30 Déc 2014 11:52

Slt à tous, cela fait quelques temps que je suis sur mon projet domotique mais je butte sur un point
voila le sujet :
-je possède 2 arduino, un uno et un nano
-je connecte mon tel en bluetooth a mon uno et a partir de la mon uno envoi par 433mhz un commande a mon nano qui allume une led selon ce qu'il recoit
mais je ne comprend pas ou est le probleme, les commande que j'envoi ne passe pas tout les temps, desfois il faut appuyer envoyer plusieur fois la commande par bluetooth pour que cela marche,
pouvez vous regarder mon code et me dire ce que vous en pensez

PS, j'ai attaché les fichier en bas de page normalement

Code: Tout sélectionner
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !


void setup()
{
    Serial.begin(9600);
    vw_setup(2000);               // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_tx_pin(3);             // La broche 3 sera utilisée pour transmettre la DATA, vous pouvez changez de broche si vous le désirez.
}

void loop()
{
  if (Serial.read() == 'A' ){
   const char *msg="on";                        // C'est le message à envoyer.
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();
delay(200);   // On attend que le message complet soit envoyé.
 }
 
 else if (Serial.read() == 'B' ){
   const char *msg="off";
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();
   delay(200);
 }
 else{
 }
}


Code: Tout sélectionner
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
int led=13;

void setup()
{
    Serial.begin(9600);   
    vw_setup(2000);               // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_rx_pin(5);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
    vw_rx_start();                // On démarre le récepteur.
}

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++) {
          Serial.write(buf[i]);  // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
            }
    if (Serial.read(buf[1]) == 'on' ){
      digitalWrite(led, HIGH);
    }
   
    if (Serial.read(buf[1]) == 'off' ){
      digitalWrite(led, LOW);
    }
 
  }
}
maximej
 
Messages: 1
Inscription: Mar 30 Déc 2014 11:50

Re: Bluetooth + RF 433mhz

Message non lude Florian » Lun 5 Jan 2015 10:55

Bonjour,

Avez-vous pensé à vérifier les tensions de fonctionnement de vos module RF!? Il se peut que vos modules fonctionnent en 3.3V et les Arduino elles en 5V. De ce fait il y aurait un problème de communication entre module et carte Arduino, d'où votre problème de commande qui ne passe pas toujours.
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36


Retourner vers Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron