Page 1 sur 2

multi switch et arduino

Publié : 12 juil. 2014 18:42
par stephd
Hi tous,

alors voila, comme je l'expliquais par ailleurs, je but sur une recherche d'info.
je possède la télécommande de truck&boat de chez robbe, avec un multiswitch.
mon objectif serait de récupérer sur le récepteur directement les infos venant du MS de robbe sans bien sur passer par leur décodeur.
seulement j'ai essayé de regarder a quoi pouvait ressembler le signal avec un oscilo, et je ne vois rien de tape à l'oeil pour déchiffrer le signal
Donc es ce que de votre coté avez vous abordé ce sujet, que je ne trouve pas d’ailleurs avec le moteur de recherche.

merci a vous.

Re: multi switch et arduino

Publié : 12 juil. 2014 21:19
par papy94
salut

Derrière le multiswitch tu branches quoi normalement, je ne connais pas le multiswitch, mais si nous savons ce qui se branche derrière, nous pourrons peut être allez de l'avant
A+

Re: multi switch et arduino

Publié : 13 juil. 2014 07:53
par Geeks
Alors, je suis loin d'être fan du multiswitch, dur pour moi d'être certain de ce que tu veux faire.

Je ferais la chose suivante, une recherche du signal, cherché à triggé sur un front montant ou descendant afin d'avoir un calage correct.
Prendre une photo et montrer à quoi cela ressemble.

Sinon, j'ai la solution moins hasardeuse, de faire une recherche sur le web de tel sorte que tu aille cherché le protocole employé par la marque que tu désire. Exemple de recherche potentielle sur l'ami google : "marque multiswitch protocol" en anglais car je doute qu'en Français tu trouve une piste sérieuse. Remplace marque par la marque de ton appareil.

Ce sera tout pour le moment vue que nous n'avons pas plus d'éléments ;)

Re: multi switch et arduino

Publié : 13 juil. 2014 12:42
par stephd
Pour comprendre ce que je souhaites faire:

Modélisme camion c'est vague, outre j'avance je recul je vais a gauche et a droite, il y a aussi une multitude de fonction et d'action qui peuvent être nécessaire en fonction du modèle.
les éclairages, les bruitages, des mouvements de porte, de hayon, de grue,sellette, béquille....
Ma vision des choses plusieurs modèles et une seule télécommande.

Je suis équipé de la truck&boat + module 2.4ghz servonaut +multi-switch 4 inter+4potard + pavé de commande de 12 boutons sur une seule voie appelé kingpad

2 manches 4 voies prop
2 curseurs 2 voies prop
mutli 1 voie Tx -> 8 voies Rx
pave 12 boutons poussoir 1 voie Tx -> 12 infos différentes décodable facilement Rx...

le mutli nécessite un décodeur dans le modèle (1er problème presque aussi gros qu'une grosse boite d’allumette. (j'abuse un peu, mais pas trop))

Dans un tracteur je souhaite avoir récepteur, vario, arduinoS et avec tout ça pouvoir répondre aux différents besoins.
tracteur + remorque liaison bluetooth (ou autre techno) avec arduino tracteur et arduino remorque.
et le tout piloté par la rc, soit en action directe soit en scénario (ex: j'actionne un inter sur le Tx, la remorque coupe son Eclairage, descend les béquilles et la sellette du tracteur s'ouvre).

Concernant l'oscilo, il faut que j'y passe plus de temps pour essayer d'avoir une valeur correcte.
concernant la recherche de protocole ben l'avoir déjà fait et pas avoir trouvé une piste qui soit intéressante.
je vais déjà essayer de refaire une lecture via arduino.

je vous tiens au jus

Re: multi switch et arduino

Publié : 13 juil. 2014 13:02
par coaxial
Les décodeurs font la taille du récepteur .

Après l'idée de décoder via un Arduino , pourquoi pas mais pas sur que ça prenne moins de place , ni que ce soit plus simple de mise en œuvre !

Re: multi switch et arduino

Publié : 13 juil. 2014 14:12
par stephd
dans mon cas il est 2 fois mon récepteur :D . et pour le moment moins de place ou moins simple de mise en oeuvre ne sont pas des données d'entrées pour mes recherches.
l'objectif est de pouvoir lier le multi du rx avec un arduino... après ce qu'on peu en faire sera suivant les idées des uns des autres

Re: multi switch et arduino

Publié : 13 juil. 2014 14:50
par Geeks
coaxial a écrit :Les décodeurs font la taille du récepteur .

Après l'idée de décoder via un Arduino , pourquoi pas mais pas sur que ça prenne moins de place , ni que ce soit plus simple de mise en œuvre !
Tu a plusieurs possibilités pour réduire la taille ! La solution at-tiny en est une mais très limité en taille de fichier embarqué ainsi qu'en nombre de sorties.

La solution arduino nano est un intermédiaire qui devrais ne pas dépassé la taille d'un récepteur standard. Du coup ce n'est pas un critère.

Pour en revenir au sujet...
Maintenant, je pense que tu peux aussi commencé plus simple. Exemple capturer la trame standard d'un servo-moteur et faire fonctionner des diodes. Cette approche te permettra d'apprendre à dé-tramé un signal de 1 à 2ms toute les 20ms en général. A voir avec ta radio. Ensuite, voir comme je le disait, la lecture des protocoles.

Re: multi switch et arduino

Publié : 13 juil. 2014 18:59
par stephd
Voila j'ai trouvé avec pulseIn, je retrouve la trame.
la premier valeur est inférieur a 950 c'est le top et les valeurs qui suivent sont respectivement chaque valeur d'entrées pour chaque sortie.
et ca marche, je vous mets le code pour si vous souhaitez tester...

Code : Tout sélectionner


int broche = 7; // variable de broche
unsigned long duree;  // variable utilisée pour stocker la durée
float note[] = {}; // tableau

void setup()
 {
   pinMode(broche, INPUT); // met la broche en entrée
   Serial.begin(9600);
 }
 
void loop()
 {
  duree = pulseIn(broche, HIGH); // met la durée de l'impulsion de niveau HAUT dans la variable durée

   
   if (duree <= 980)
   {
    for (int i=0; i <= 8; i++)
    {  
      note[i] = pulseIn(broche, HIGH);
      Serial.print(i);
      Serial.print("  /  ");
      Serial.print(note[i]);
     } 
      Serial.println();
   }


  delay(100);  

 }

Potar 1---/ Potar 2---/ Potar 3---/ Potar 4---/ -Inter 1---/ -Inter 2---/ - Inter 3---/-Inter 4---/ Top
1051.001 / 1052.002 / 1052.003 / 1052.004 / 1522.005 / 1523.006 / 1528.007 / 1522.008 / 923.00 Valeur neutre

Là je joue avec les potars et inter:

1052.001 / 1052.002 / 1051.003 / 1994.004 / 1052.005 / 1528.006 / 1522.007 / 1528.008 / 923.00
1051.001 / 1052.002 / 1051.003 / 1992.004 / 1052.005 / 1528.006 / 1522.007 / 1528.008 / 928.00
1045.001 / 1052.002 / 1052.003 / 1990.004 / 1052.005 / 1992.006 / 1052.007 / 1523.008 / 923.00
1052.001 / 1051.002 / 1052.003 / 1990.004 / 1052.005 / 1990.006 / 1052.007 / 1992.008 / 923.00
1051.001 / 1052.002 / 1051.003 / 1761.004 / 1052.005 / 1992.006 / 1051.007 / 1528.008 / 922.00
1051.001 / 1052.002 / 1051.003 / 1124.004 / 1052.005 / 1990.006 / 1052.007 / 1522.008 / 923.00
1051.001 / 1052.002 / 1052.003 / 1123.004 / 1051.005 / 1992.006 / 1051.007 / 1522.008 / 923.00
1990.001 / 1052.002 / 1052.003 / 1123.004 / 1052.005 / 1990.006 / 1051.007 / 1528.008 / 923.00
1992.001 / 1108.002 / 1052.003 / 1123.004 / 1051.005 / 1992.006 / 1051.007 / 1522.008 / 928.00
1992.001 / 1108.002 / 1589.003 / 1124.004 / 1051.005 / 1992.006 / 1052.007 / 1522.008 / 923.00
1990.001 / 1108.002 / 1990.003 / 1117.004 / 1052.005 / 1992.006 / 1051.007 / 1528.008 / 923.00
1992.001 / 1107.002 / 1992.003 / 1123.004 / 1052.005 / 1992.006 / 1052.007 / 1052.008 / 923.00
1992.001 / 1107.002 / 1990.003 / 1124.004 / 1052.005 / 1992.006 / 1052.007 / 1990.008 / 923.00


Re: multi switch et arduino

Publié : 13 juil. 2014 19:37
par papy94
cool si tu as trouvé
normalement sur ma futaba c'est 1000± 150 a 2000± 150 déplacement haut bas du manche avec 1500±150 manche au centre,les valeurs de ton tableau donnent ces valeurs a peut prêt

Code : Tout sélectionner

 
int Max_voie6 = 2110;                 // Declare la variable valeur max de la voie 6
int Min_voie6 = 1073;                  // Declare la variable valeur min de la voie 6
.....
......
Val_SignalRecepteur = pulseIn(Signal_Recepteur, HIGH, 30000);  // Donne à la variable (Val_SignalRecepteur) la valeur de (Signal_Recepteur) lue sur le pin 3
         Angle_Servo = map(Val_SignalRecepteur, Min_voie6, Max_voie6, 45, 135);   // Calibre des valeurs pour le servo de 45 à 135  
         Angle_Servo = constrain(Angle_Servo, 45, 135);        // Fixe les valeurs minimum et maximum en degré de monservo
         servo_1.write(Angle_Servo);                     // Positionne le servo suivant les ordes de la radiocommande  
         delay(15);                                             // Delai pour que le servo atteigne sa position
         SoftwareServo::refresh();                       // Rafraichissement bibliotheque servo

Re: multi switch et arduino

Publié : 13 juil. 2014 21:42
par Geeks
Et bien voila :Up:

En fait, c'est pas si compliqué. Tu peux même améliorer en te basant sur des tableaux de valeurs. Et puis, c'est sympa de faire joujou avec le code. Par contre mémorise celui qui marche au cas ou ;)