Arduino Forum

International => Français => Topic started by: DamDamDam on Feb 24, 2016, 05:50 pm

Title: Emetteur - Récepteur 433 mhz
Post by: DamDamDam on Feb 24, 2016, 05:50 pm
Salut à tous, pour tester mon programme j'ai besoin de déconnecter l'Arduino de mon pc tout en ayant accès au moniteur série pour pouvoir lire en temps réel les informations envoyer par mon capteur de vibration et ainsi le régler correctement.

J'ai fait plusieurs essais avec plusieurs programmes et vidéos trouver sur le net mais rien de concluant, pour l'instant mon récepteur lit bien le message " measurement " et l'affiche à très grande vitesse sur le moniteur série mais aucune valeur venant du détecteur de vibration et indiquer.

Voici mes codes si quelqu'un peut m'aider je le remercie !

Émetteur :

Code: [Select]
#include <VirtualWire.h>

int vibra = 3;

void setup()
{
  vw_setup(2000);
  vw_set_tx_pin(12);
  pinMode(vibra, INPUT);
}

long TP_init()
{
  delay(10);
  long measurement = pulseIn (vibra, HIGH);
  return measurement;
}

void loop()
{
  long measurement = TP_init();
  delay(100);

  const char *Message = "measurement";
  vw_send((uint8_t *)Message, strlen(Message));
  vw_wait_tx();
  delay(200);
}


Récepteur :

Code: [Select]
#include <VirtualWire.h>

uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

void setup()
{
  Serial.begin(9600);
  Serial.println("--------Mesure des Vibrations-------");
  vw_setup(2000);
  vw_set_rx_pin(11);
  vw_rx_start();

}

void loop()
{
  long measurement;
  if (vw_get_message(buf, &buflen))
    delay(250);

  Serial.print("measurment = ");
  Serial.println(measurement);

}


Merci.
Title: Re: Emetteur - Récepteur 433 mhz
Post by: kamill on Feb 24, 2016, 06:47 pm
Bonjour,

Ca parait assez normal tu envois la chaine "measurement, tu reçois la chaine "measurement".

Essaie ça:

émission:
Code: [Select]
void loop()
{
  long measurement = TP_init();
  delay(100);
  vw_send((uint8_t *)&measurement, sizeof measurement);
  vw_wait_tx();
  delay(200);
}


réception:
Code: [Select]
void loop()
{
  long measurement;
  uint8_t lg=sizeof measurement;
  
  if (vw_get_message((uint8_t *)&measurement, &lg))
    delay(250);

  Serial.print("measurment = ");
  Serial.println(measurement);

}
Title: Re: Emetteur - Récepteur 433 mhz
Post by: kamill on Feb 24, 2016, 06:55 pm
Je pense qu'il y a une autre erreur dans la réception. Tu as sans goute voulu afficher si tu reçois ce qui donne:
Code: [Select]
void loop()
{
  long measurement;
  uint8_t lg=sizeof measurement;
 
  if (vw_get_message((uint8_t *)&measurement, &lg))
  {
    Serial.print("measurment = ");
    Serial.println(measurement);
  }
}
Title: Re: Emetteur - Récepteur 433 mhz
Post by: DamDamDam on Feb 24, 2016, 08:10 pm
Merci d'avoir répondu, sur ton premier code, il affiche " measurement = 11010048 " dans le moniteur série et défile à l'infinie à très grande vitesse.
Dans le deuxième code rien ne ce passe, je ne c'est pas comment résoudre sa et je ne trouve rien sur le net qui correspond un minimum à mon besoin !
Title: Re: Emetteur - Récepteur 433 mhz
Post by: kamill on Feb 24, 2016, 09:06 pm
Si rien ne  se passe dans le 2eme programme c'est que tu ne reçoit rien. Tes modules radio fonctionnent?
Title: Re: Emetteur - Récepteur 433 mhz
Post by: DamDamDam on Feb 25, 2016, 12:19 pm
oui je l'ai et tester avec un code trouver sur le net !!!
Title: Re: Emetteur - Récepteur 433 mhz
Post by: DamDamDam on Feb 26, 2016, 02:14 pm
J'ai fini par tout reprendre à zéro et je me suis rendu compte que seulement l'une des deux pattes en data du récepteur fonctionne, donc tes codes marche parfaitement !
Merci à toi, si je peux te rendre service à mon tour hésite pas à me contacter, je fait de l'impression 3D !
Title: Re: Emetteur - Récepteur 433 mhz
Post by: kamill on Feb 26, 2016, 02:29 pm
Content d'avoir pu t'aider :)