Emeteur/récepteur 4 Voies en 433Mhz

Bonsoir,

Je suis nouveau en programmation Arduino (2 semaines). actuellement bloqué sur mon projet, je poste ce message…
Dans un 1er temps le montage consiste a commander 4 actions a distance a l’aide de 2 modules en 433Mhz.

Coté émetteur Nano “TX”, 4 boutons poussoirs connectés A0 (chaque bouton est chargé par une résistance)

La PIN TX est la 12 (relié a un FS1000A)

Coté récepteur UNO “RX” l’info arrive sur la PIN 11 (relié au RF-5V) .
les 4 Leds sont sur les pin 2,3,4,5 (qui correspondent respectivement aux 4 boutons de mon émetteur)

Le problème que je rencontre, mais que je n’ai pas réussi a résoudre, c’est que mes Led restent allumées uniquement le temps de l’impultion sur mes boutons coté “TX”.

je souhaiterai que les led s’allument et s’éteignent par une impulsion sur les boutons (faire un système de bistable avec 4 canaux distinct ).

en attachement voici mes 2 sketch “RX” et “RX” (j’ai inclue un screenprint dans chaque prog) .

Mci de m’avoir Lu

Cordialement Jérome

PS/ mon 1er envoie de fichier n’ayant pas fonctionné (je viens de renvoyé mes 2 sketch) DSL

analog_button_input.png

TX-4.ino (2.25 KB)

RX_4.ino (1.63 KB)

bonjour, à mon avis en jetant vite fait un oeil, cela vient de ces deux lignes

 Message[buflen] = '\0';
 if (Nombre == 0){

donc ca s'allume bien, jusqu'au moment ou il y a la fin de la réception avec un 0

Bonjour,

merci de votre réponse,oui je comprend, mais le sketch de mon émetteur dit que en fonction du bouton pressé j'envois un Nombre pendant 200ms, si aucun bouton n'est pressé le Nombre est de 0 .

(je ne veux pas que mon émetteur émette en permanence un nombre) de plus si je suis hors de porté 433mhz, mes led ne s’allumeront pas .

cdlt jérôme

j’avais pas vu ton code TX
tu dis

Le problème que je rencontre, mais que je n’ai pas réussi a résoudre, c’est que mes Led restent allumées uniquement le temps de l’impultion sur mes boutons coté "TX".

je réponds normal en voyant ceci dans ton TX

if (BoutonValue > 700) {
    transmit (1);                           //Nombre 1 TX
    while (BoutonValue > 700) {
  BoutonValue = analogRead(BoutonPin);
  }
    transmit (0);                         //Nombre TX = 0  acune action sur le bouton 
  }
                  // Nombre 2
  else if (BoutonValue > 500) {
    transmit (2);                         //Nombre 2 TX
    while (BoutonValue > 500) {
  BoutonValue = analogRead(BoutonPin);
  }
    transmit (0);                         //Nombre TX = 0  acune action sur le bouton
    
  }             // Nombre 3
  else if (BoutonValue > 300) {
    transmit (3);                        //Nombre 3 TX
    while (BoutonValue > 300) {
  BoutonValue = analogRead(BoutonPin);
  }
    transmit (0);                        //Nombre TX = 0  acune action sur le bouton
  }     
             // Nombre 4
    else if (BoutonValue > 100) {
    transmit (4);                       //Nombre 4 TX
    while (BoutonValue > 100) {
  BoutonValue = analogRead(BoutonPin);
  }
    transmit (0);                       //Nombre TX = 0  acune action sur le bouton
  }}

tu émets l’impulsion avec la valeur X qui correspond au bouton et juste après tu émets un ZERO
ce qui rejoins en partie ma première réponse
tu émets un 1 pour un bouton et juste après un 0, donc ca s’allume puis s’éteint de suite.

explique clairement ce que tu veux faire
1- allumer une led et elle reste allumée TANT QUE rien n’est fait
2- allumer une led, puis en restant allumée une autre led, etc avec un appuie sur les même boutons pour les éteindre une par une
3- même chose que le 2 mais un bouton pour tout éteindre

Bonsoir,

merci de votre aide infobarquee ,

un copain m'a aidé a corriger mon problème.

cordialement

jérôme