433mhz reciever et RC-SWITCH

Bonjour,
J'ai un soucis avec mon récepteur 433mhz. Je n'arrive pas à le faire fonctionner avec la librairie rc-switch. Comment savoir si il fonctionne (je viens de le recevoir par la poste, avec son petit frère l'émetteur).
Donc je développe : J'ai fraichement en ma possession un duo émetteur/recepteur 433mhz.

Mon but est de copier les signaux d'une telecommande 433Mhz depuis l'arduino.
J'ai donc telechargé la librairie RC-Switch et ouvert le code ReceiveDemo_Simple. Je le charge sur l'arduino, j'ouvre le terminal a 9600baud et quand j'appuis sur ma telecommande, rien ne se passe, le moniteur série reste muet.

Est-il possible de tester mon materiel, que je n'ai jamais vu fonctionner, afin d'eliminer la possibilité qu'il soit defectueux?

Rovhell:
Mon but est de copier les signaux d’une telecommande 433Mhz depuis l’arduino.
J’ai donc telechargé la librairie RC-Switch et ouvert le code ReceiveDemo_Simple. Je le charge sur l’arduino, j’ouvre le terminal a 9600baud et quand j’appuis sur ma telecommande, rien ne se passe, le moniteur série reste muet.

Est-il possible de tester mon materiel, que je n’ai jamais vu fonctionner, afin d’eliminer la possibilité qu’il soit defectueux?

bonjour
déjà la telco à recopier c’est quoi exactement ?
marque ? référence ?

C'est une telco pour prises électriques sans marque (premier prix à bricocasto). 5 boutons ON et autant de OFF.
Je te reporte texto ce qui est écrit dessu :
Télécommande
FHT-7901F
Fréquence
433.05-434.79Mhz

Rovhell:
C’est une telco pour prises électriques sans marque (premier prix à bricocasto). 5 boutons ON et autant de OFF.
Je te reporte texto ce qui est écrit dessu :
Télécommande
FHT-7901F
Fréquence
433.05-434.79Mhz

la frequence habituelle pour ce genre de dispo est de 433.920.
tu dispose de quoi comme “instruments de mesure” ?

essaye de connecter ton recepteur sur la pin2 de ton arduino et utilise ce petit bout de programme

peut importe ce que cela renvoie, c’est juste pour voir si ton recepteur reçoit qq chose

enum PinAssignments {
  encoderPinA = 2,

};

unsigned long Tparc=0; //  temps de parcours du secteur
unsigned long Tact=0; // Test pour  micros() en entrée 
unsigned long ParcMax=3000000; // delai max en µs pour parcourir un secteur, si > arret theorique de la roue sur le secteur arrivée
unsigned long Tparct[256] ; // tableau de long stockant les valeurs micros() à chaque interruption
// A 12 secteurs/tour ça permet de tester + de 20 rotations = large pour l'appli en amortissement naturel

byte Iparc=0; // indice pour parcourir Tparct
byte Iinit=1; // numero du 1er secteur concerné par Tparc[0] V= 1--->12 , pas encore utlisé ici 

boolean Sint=false; // passé par l'interruption oui/non
void setup() {

  pinMode(encoderPinA, INPUT);


  // encoder pin on interrupt 0 (pin 2)
  attachInterrupt(0, doEncoderA, CHANGE);

  Serial.begin(115200);
}


void loop(){


  if (Sint==true)
  {

    Serial.print(">"); // pour test d'entre/sortie de secteur (rotation) ,indique passage par int0 

    Sint=false;
  }

  if (micros()-Tact > ParcMax) { // tempo en µsecondes pour test si pas eu d'interruption = roue à l'arret sur 1 secteur (theorie)


    Tact=micros();
    Serial.println();
    Serial.print("-- passe tempo --> SECTEURS PARCOURUS = ");  
    Serial.println(Iparc-1);
    for (byte i=1; i < Iparc; i++){
      Tparc=Tparct[i]-Tparct[i-1];
      Serial.print(Tparc); 
      Serial.print(";"); // delimiteur pour log tableur

    } 

    Serial.println();

    Iparc=0;
  }




}

// Interrupt on A changing state
void doEncoderA(){


  //Tparc=micros()-Tact;
  // Tparct[Iparc]=Tparc;
  // mettre le calcul du delta T pour alimenter les postes du tableau ici est trop consommateur en temps d'int
  // cette fonction est derivée ensuite 

  Tparct[Iparc]=micros(); // plus rapide 
  Iparc ++;

  Sint=true;

}

Je n'ai aps d'oscillo si c'est ce que tu demande. je n'ai qu'un simple "testeur" voltmètre etc...

Ça reçoit ça :

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- passe tempo --> SECTEURS PARCOURUS = 216
2544;260;6868;320;4060;36;784;56;664;24;676;56;120;12;1460;156;64;24;584;28;904;16;1184;56;3928;28;7348;16;2640;20;948;68;1992;40;920;36;516;156;308;8;796;24;156;32;956;28;388;144;408;68;10948;2228;108;1708;868;152;352;12;1220;12;172;284;2880;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- passe tempo --> SECTEURS PARCOURUS = 204
108;524;36;896;64;28;16;40;44;652;16;184;12;500;68;412;12;176;1912;36;4956;40;5620;16;12060;1144;84;764;72;756;36;1220;1156;36;4984;36;9664;20;584;20;1616;40;1448;40;516;16;1404;380;200;28;1732;308;928;16;2864;16;2932;288;9688;1612;20;160;76;140;20;268;56;344;64;156;12;628;40;16;52;52;60;116;32;48;12276;1284;44;864;88;520;104;1212;12376;1660;16;1204;52;388;36;608;12400;524;52;48;12;908;64;344;68;1452;80;152;92;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- passe tempo --> SECTEURS PARCOURUS = 238
1016;12;9476;40;440;20;88;20;836;36;2968;64;748;36;3140;44;5956;8;4980;36;2876;36;1092;28;588;52;5296;16;8556;16;3368;72;2580;20;384;24;10324;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- passe tempo --> SECTEURS PARCOURUS = 163
44;2964;44;3936;40;2164;20;2060;24;1064;16;1752;36;796;36;988;20;4008;40;988;20;1872;36;220;52;2896;36;768;28;236;20;10748;36;5104;12;1192;16;104;12;1920;40;6692;8;2860;48;2080;64;4832;20;976;48;2012;20;180;48;648;12;684;32;2220;396;6620;36;3988;44;3048;20;820;256;976;12;188;24;608;16;124;16;112;32;1668;40;44;12;1004;24;2376;284;228;44;1156;32;2784;40;11232;1168;16;1144;48;88;52;996;48;516;1752;24;2884;44;6924;32;1936;36;508;12;472;28;1980;40;11956;72;32;128;48;184;44;836;16;112;32;1164;52;456;16;

Et ne s'arrete pas. Donc je suppose qu'il fonctionne ?

Rovhell:
Je n'ai aps d'oscillo si c'est ce que tu demande. je n'ai qu'un simple "testeur" voltmètre etc...

Ça reçoit ça :
...
Et ne s'arrete pas. Donc je suppose qu'il fonctionne ?

sans action sur la telco , ça ne s'arrete pas ?
si oui, ce n'est que de la detection de bruit , pas une preuve de bon fonctionnement.

lien vers ton recepteur (fonction des 4 pins)

Bonjour
faites une recherche avec homeeasy sur ce site, c'est le protocole utilisé par la plupart de ces télécommande.
Il existe une librairie homeeasy.h.
A+

Artouste:

Rovhell:
Je n'ai aps d'oscillo si c'est ce que tu demande. je n'ai qu'un simple "testeur" voltmètre etc...

Ça reçoit ça :
...
Et ne s'arrete pas. Donc je suppose qu'il fonctionne ?

sans action sur la telco , ça ne s'arrete pas ?
si oui, ce n'est que de la detection de bruit , pas une preuve de bon fonctionnement.

lien vers ton recepteur (fonction des 4 pins)

J'ai trouvé ce récepteur sur eBay. C'est pour ça que son bon fonctionnement ne m'est pas acquis.
Les 4 pins sont vcc, data, data, gnd. Les deux datas sont relié directement par une piste sur le pcb.

Il faudrait peut être que je recommence le test en m'eloignant du Pc, et avec une cage de faraday?

bonjour
juste par curiosité , je viens de faire un test avec un recepteur cheap 433
et avec le programme du dessus
j'ai collé un oscillo pour voir les data
le programme detecte effectivement toutes les "merdouilles" qui passent, mais l'on detecte facilement l'activité de la telecommande :
lors de l'appui sur une touche les >>> sont beaucoup plus nombreux, apparaissent rapidement et sur plusieurs lignes

-- passe tempo --> SECTEURS PARCOURUS = 231
552;1632;556;884;1304;900;1292;1632;564;900;1284;1656;532;1624;568;25688;588;1608;564;896;1296;1620;568;892;1300;1620;564;1620;572;912;1272;896;1284;1644;552;900;1288;1640;556;1628;560;25696;560;1616;572;884;1312;1608;580;884;1296;1624;564;1640;560;896;1292;892;1296;1624;556;920;1272;900;1292;1624;576;152208;36;127736;32;76788;48;20812;152;272;124;408;228;244;40;728;276;516;132;324;168;880;124;39240;384;4728;88;35232;16;8604;112;6136;220;44932;84;33932;36;104;52;17708;24;33920;136;2536;92;208;168;28420;92;1872;40;55464;108;908;116;2408;44;41960;116;55024;56;38780;136;964;200;340;272;132;260;800;76;1164;88;184;96;148;100;1748;32;19484;32;16628;36;59400;48;18472;36;108740;92;53828;20;43940;104;33804;68;98984;108;125368;80;95888;44;3236;308;344;132;396;128;116;84;596;84;1196;88;1484;32;60;40;3312;20;2060;24;15788;72;1092;16;13996;52;17284;56;360;84;72;36;11636;56;60;48;228;56;20908;60;11140;52;18896;52;47324;56;60416;64;132;96;748;36;656;56;48;88;52;60;164;80;220;228;40;268;163780;96;


edit : je viens de tester la lib rc switch (receivedemo simple et advanced) et chez moi ça recoit

montage de test

Bon, chez moi rc-switch ne fonctionne pas. C'est super étrange. Après plein d'essais j'en arrivais à la conclusion que mon récepteur ne marchait pas quand j'ai vu que chez moi aussi, y'avait plus de >>> quand j'appuyais sur une touche. Petit regain d'espoir ! Puis je suis tombé sur cette page => Library for RF remote switches - Development - Arduino Forum
Après quelques modifs à un code assez vieux, dépoussiérage des fonctions et librairies qui ne sont plus supportées, je reçoit enfin le code de ma commande, et j'arrive à le retransmettre, avec succès pour mes prises télécommandées ! :sweat_smile:

Donc si certains ont le même soucis que moi, allez voir ce code!

Alléluia je continu mon projet. Pompom-pom-pom pom-pom...

Je dispose des même prises et souhaiterais faire la même chose que toi , serait il possible de partager tes codes ?

Le lien que je donne plus haut te permet de télécharger une bibliothèque pour ça, puis tu a un lien vers les code pour décoder et émettre.

J'ai justement testé mais je n'arrive pas a modifier le code comme tu l'as fais :blush:

J'ai toujours des erreurs venant de cette librairie.

Serait il donc possible d'avoir ta version fonctionnelle ?

bonjour Rovhell,

j'ai télécharger la librairie mais il y'a un maximum d’erreurs, pourrais tu nous aider stp ?

Rovhell:
Bonjour,
J’ai un soucis avec mon récepteur 433mhz. Je n’arrive pas à le faire fonctionner avec la librairie rc-switch. Comment savoir si il fonctionne (je viens de le recevoir par la poste, avec son petit frère l’émetteur).
Donc je développe : J’ai fraichement en ma possession un duo émetteur/recepteur 433mhz.

Mon but est de copier les signaux d’une telecommande 433Mhz depuis l’arduino.
J’ai donc telechargé la librairie RC-Switch et ouvert le code ReceiveDemo_Simple. Je le charge sur l’arduino, j’ouvre le terminal a 9600baud et quand j’appuis sur ma telecommande, rien ne se passe, le moniteur série reste muet.

Est-il possible de tester mon materiel, que je n’ai jamais vu fonctionner, afin d’eliminer la possibilité qu’il soit defectueux?

J’ai toujours un problème lors de la compilation ?

#include
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength //Probleme ?(),mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
mySwitch.resetAvailable();
}
}

Message envoiyé Arduino : 1.6.11 (Windows 7), Carte : « Arduino/Genuino Uno »
C:\Users\DIDIER\Documents\Arduino\TEST_EMMISION_5\TEST_EMMISION_5.ino: In function ‘void loop()’:
TEST_EMMISION_5:23: error: ‘output’ was not declared in this scope

exit status 1
‘output’ was not declared in this scope

J’ai pourtant suivi à les infos de M. AVILLERET récupération de output.ino + recevineDemo_Advanced.ino Mise en place dans c:\programFiles\arduino\librairies\rc-switch-2.52\examples\ReceiveDemo_Advanced

Pouvez-vous m’aider
Merci d’avance

DIDIER

Bonjour,

Mets ton code entre balises.
Reprends le code original de l'exemple qui compile sans problème.

Pdidier:
J’ai toujours un problème lors de la compilation ?

#include
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength //Probleme ?(),mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
mySwitch.resetAvailable();
}
}

Message envoiyé Arduino : 1.6.11 (Windows 7), Carte : « Arduino/Genuino Uno »
C:\Users\DIDIER\Documents\Arduino\TEST_EMMISION_5\TEST_EMMISION_5.ino: In function ‘void loop()’:
TEST_EMMISION_5:23: error: ‘output’ was not declared in this scope

exit status 1
‘output’ was not declared in this scope

J’ai pourtant suivi à les infos de M. AVILLERET récupération de output.ino + recevineDemo_Advanced.ino Mise en place dans c:\programFiles\arduino\librairies\rc-switch-2.52\examples\ReceiveDemo_Advanced

Pouvez-vous m’aider
Merci d’avance

DIDIER

Bonjour depuis le temps, As-tu trouvé une solution ?