Go Down

Topic: FM 433 Mhz (Read 3 times) previous topic - next topic

nathan30

May 16, 2013, 09:05 pm Last Edit: May 18, 2013, 03:39 pm by nathan30 Reason: 1
Bonjour,

Après avoir suivi le tuto de Skywodd suivant : http://skyduino.wordpress.com/2011/12/29/tutoriel-arduino-et-emetteurrecepteur-433mhz-virtualwire/

J'ai acheté les mêmes modules FM.

Le problème : mon récepteur ne recois pas le message.. (Le code est le même que sur le tuto)

Mon montage : http://www.hostingpics.net/viewer.php?id=370768IMG20130516162332.jpg

http://www.hostingpics.net/viewer.php?id=681374IMG20130516162339.jpg

(les photos ne passaient pas en pièce jointe)

Pour la photo avec la carte verte --> Les pins sont ceux utilisé sur le tuto.. (comme pour le recepteur aussi..)

Merci de votre aide

skywodd

Bonjour,

Vu que le code est le même ça laisse plusieurs hypothèses :
- problème hardware
- problème avec la librairie (j'ai comme l'impression que c'est ça)

-> Quelle version de la librairie utilises-tu ?
-> Quelle version de l'ide arduino ?
-> Est tu sûr de la taille de tes antennes ?
-> Est tu sûr de ton câblage ?
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

-Standby

Essaye mon code peut etre ? je vien de le faire il y a 4 jours ( si problème de libraire )

Tx

Code: [Select]
#include "VirtualWire.h"

char *msg;
char incomingByte;

  void setup() {
    Serial.begin(9600);
    Serial.println("Initializing radio transmitter..");
    vw_setup(2000);
    vw_set_tx_pin(12);
    checkTx();
    delay(200);
    Serial.println("done");
  }
 
  void loop() {
    if (Serial.available() > 0) {
      incomingByte = Serial.read();
    switch(incomingByte) {
       
        case 'F':
          msg = "Forward" ;
          vw_send((uint8_t *)msg, strlen(msg));
          checkTx();
          break;
       
        case 'B':
           msg = "Backward";
           vw_send((uint8_t *)msg, strlen(msg));
           checkTx();
           break;
       
        case 'L':
            msg = "Left";
            vw_send((uint8_t *)msg, strlen(msg));
            checkTx();
            break;
      }
    }
    Serial.println(incomingByte);
    delay(200);
  }
 

   void checkTx() {
    if (vx_tx_active()) {
        Serial.println("Tx is active"); }
    else
        Serial.println("Tx is not active");
       
  }
   


Rx

Code: [Select]
#include "VirtualWire.h"

  void setup() {
    Serial.begin(9600);
    Serial.println("Initializing radio receiver..");
    vw_setup(2000);
    vw_set_rx_pin(2);
    vw_rx_start();
    delay(500);
    Serial.println("done");
  }
 
  void loop() {
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
      if (vw_get_message(buf, &buflen)) {
        int i;
        Serial.print("I receive : ");
        for (i=0; i<buflen; i++) {
          Serial.write(buf[i]);
        }
    Serial.println(" ");
      }
  }
   

The Mind is like a parachute it works best when opened.

nathan30


Bonjour,

Vu que le code est le même ça laisse plusieurs hypothèses :
- problème hardware
- problème avec la librairie (j'ai comme l'impression que c'est ça)

-> Quelle version de la librairie utilises-tu ?
-> Quelle version de l'ide arduino ?
-> Est tu sûr de la taille de tes antennes ?
-> Est tu sûr de ton câblage ?


La lib c'est la 1.5 (prise ici : http://www.pjrc.com/teensy/td_libs_VirtualWire.html)
Version 0023 de l'ide
la taille c'est du 16.5cm
Et le câblage, j'ai bien suivi ton tuto et verifier plusieurs fois..

nathan30


Essaye mon code peut etre ? je vien de le faire il y a 4 jours ( si problème de libraire )

Tx

Code: [Select]
#include "VirtualWire.h"

char *msg;
char incomingByte;

  void setup() {
    Serial.begin(9600);
    Serial.println("Initializing radio transmitter..");
    vw_setup(2000);
    vw_set_tx_pin(12);
    checkTx();
    delay(200);
    Serial.println("done");
  }
 
  void loop() {
    if (Serial.available() > 0) {
      incomingByte = Serial.read();
    switch(incomingByte) {
       
        case 'F':
          msg = "Forward" ;
          vw_send((uint8_t *)msg, strlen(msg));
          checkTx();
          break;
       
        case 'B':
           msg = "Backward";
           vw_send((uint8_t *)msg, strlen(msg));
           checkTx();
           break;
       
        case 'L':
            msg = "Left";
            vw_send((uint8_t *)msg, strlen(msg));
            checkTx();
            break;
      }
    }
    Serial.println(incomingByte);
    delay(200);
  }
 

   void checkTx() {
    if (vx_tx_active()) {
        Serial.println("Tx is active"); }
    else
        Serial.println("Tx is not active");
       
  }
   


Rx

Code: [Select]
#include "VirtualWire.h"

  void setup() {
    Serial.begin(9600);
    Serial.println("Initializing radio receiver..");
    vw_setup(2000);
    vw_set_rx_pin(2);
    vw_rx_start();
    delay(500);
    Serial.println("done");
  }
 
  void loop() {
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;
      if (vw_get_message(buf, &buflen)) {
        int i;
        Serial.print("I receive : ");
        for (i=0; i<buflen; i++) {
          Serial.write(buf[i]);
        }
    Serial.println(" ");
      }
  }
   




Merci du code je testerai Mardi !
Il faut toujours rester sur un IDE arduino antérieur ?

skywodd

#5
May 17, 2013, 08:35 pm Last Edit: May 19, 2013, 04:39 pm by skywodd Reason: 1

Il faut toujours rester sur un IDE arduino antérieur ?

Théoriquement non depuis la version 1.12 de VirtualWire, mon tuto ce fait vieux il faudrait que je le rafraichisse un peu.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

nathan30



Il faut toujours rester sur un IDE arduino antérieur ?

Théorique plus depuis la version 1.2 de VirtualWire, mon tuto ce fait vieux il faudrait que je le rafraichisse un peu.


J'ai pas trop compris ton message..

Viproz

#7
May 18, 2013, 04:06 pm Last Edit: May 18, 2013, 04:08 pm by Viproz Reason: 1
Théoriquement* je pense

Et il parle de la version 1.12 et non 1.2
Il y a eu beaucoup de mises à jour depuis son tuto, tu as les changelogs ici : http://www.airspayce.com/mikem/arduino/

Donc normalement, tu dois pouvoir utiliser la dernière version de VirtualWire et de l'IDE

(je ne fais de deviner, je n'ai pas encore reçu mon module 433 Mhz donc je n'ai pas encore d'expérience sur ce sujet)
http://stilldrinking.org/programming-sucks

skywodd


Théoriquement* je pense
Et il parle de la version 1.12 et non 1.2

Oui j'ai foiré ma correction d'orthographe :smiley-sweat:
Et effectivement c'est bien depuis la 1.12 et non 1.2 :smiley-mr-green:


Il y a eu beaucoup de mises à jour depuis son tuto, tu as les changelogs ici : http://www.airspayce.com/mikem/arduino/

Pas tant que ça, les changements en question sont principalement des mises à jour de compatibilité et des améliorations des boucles de traitement.
D'un point de vue utilisateur il n'y as eu aucun changement dans les fonctions ;)


Donc normalement, tu dois pouvoir utiliser la dernière version de VirtualWire et de l'IDE

Oui tu peut sans problème maintenant.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

nathan30

Donc je peux utiliser sans soucis Arduino v1.0.4 ??

Viproz



Donc normalement, tu dois pouvoir utiliser la dernière version de VirtualWire et de l'IDE

Oui tu peut sans problème maintenant.


Comme on l'a dit, oui
http://stilldrinking.org/programming-sucks

nathan30

D'accord merci

Sinon, mon problème a des chances de venir d'où ?

skywodd


Sinon, mon problème a des chances de venir d'où ?

Je met en doute la dernière version de la librairie.
Ça fait déjà 3 personnes qui me disent qu'un code d'exemple comme le mien ne marche pas en réception, de même que l'exemple "Ping" (si tu peut essaye le tient).
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

nathan30

Tu me conseil donc de partir sur quelle version de la librairie ?

skywodd


Tu me conseil donc de partir sur quelle version de la librairie ?

La dernière version avec l'exemple ping pour tester.
Sinon la version juste avant celle actuelle.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Go Up