Interfacer Arduino et P3D

Programmation LUA, Macros FSUIPC, logiciel LINDA
et codage en LUA des gauges Air Manager

Re: Interfacer Arduino et P3D

Messagede JacquesZ » Mar 27 Aoû 2019 19:18

Non, non, ce que je voudrais vérifier c’est si ces cartes fautives fonctionnent en direct sans passer par le hub.
Donc si tu les branches sur le port USB du Pc est-ce que tu as le même comportement?

On aura ainsi éliminé la possibilité du Hib qui fout le B.....ronx.
L’idee Est d’eliminer Les problèmes hardware

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Interfacer Arduino et P3D

Messagede hadrien » Mer 28 Aoû 2019 11:01

En attendant de pouvoir faire ces tests, voici une photo de mon simu maintenant que le meuble de base a été refait :

Image

Bien à vous,

Hadrien
hadrien
 
Messages: 95
Inscription: 30/10/18
Localisation: Seilles, Belgique

Re: Interfacer Arduino et P3D

Messagede hadrien » Mer 28 Aoû 2019 15:40

Bonjour à tous,

Voilà Jacques, j'ai effectué mes tests. Et j'ai trouvé et réglé le problème !!! (Alleluia). En fait, rien à voir avec les hubs ou alim ou autre mais le soucis venait d'une méconnaissance d'Arduino. En faisant l'inventaire (très fastidieux) de tous les boutons HS, j'ai remarqué qu'ils venaient tous de la même carte et spécialement des pins 2 à 13. J'ai donc supposé un problème de branchement, une telle panne sur des broches si proche ne pouvait s'expliquer que par ça. EN fait, j'ai remarqué que les deux pins GND près des pins 5v et 3.3v de l'Arduino n'ont pas exactement les mêmes circuits. Je pensais que l'une ou l'autre, c'était pareil. Hé bien non. La première GND, juste à côté du Vin, semble être un GND général, pas celle à côté, près du 5V. Et évidemment, sur ma carte défectueuse, le GND était branché sur celle près du 5V. Je l'ai déplacée à celle d'à côté et BOUM, revoilà que tout marche. Par contre, Jacques, je sais pas comment expliquer ça en anglais sur le forum de siminnovation pour dire que c'est ok...

Finalement, je me retrouve avec mon tout premier problème, les jauges de flaps qui ne répondent plus. Mais cette fois-ci, malgré les GND branchés correctement, elles ne bougent plus. Quand j'ai lancé AM, elles se sont mises au point 0 et depuis, 0 réactions, que ce soit à un changement dans le jeu ou via la console AM. Peut-être les servo moteurs ont-ils soufferts de la remontée du meuble depuis le garage (et nous avons galéré en le déplaçant). Du coup j'(en ai commandé des neufs, on verra avec deux servo neufs. Mais si c'est pas ça, alors je sais pas...

Encore merci pour toute votre aide, sans laquelle je pense, je n'aurais JAMAIS trouvé la source du problème.

Bonne journée,

Hadrien
hadrien
 
Messages: 95
Inscription: 30/10/18
Localisation: Seilles, Belgique

Re: Interfacer Arduino et P3D

Messagede JacquesZ » Mer 28 Aoû 2019 16:34

Pas de problèmes Hadrien, je me suis fait ton interprète sur le forum SI comme proposé.
Content que tu aies solutionné ton problème.

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

Re: Interfacer Arduino et P3D

Messagede hadrien » Mer 28 Aoû 2019 17:50

Merci Jacques pour la traduction.
J'ai vu que Ralph était sidéré par la qualité de la carte. Je fais surtout avec les moyens du bord. J'ai pas les sous pour mettre plus de 30€ par carte sur une vraie arduino...
On verra dans la durée.

Ma prochaine aventure est de me lancer dans un throttle motorisé. Je reviendrai sans doute vers vous à ce moment là cligneoeil cligneoeil

Sinon, ça intéresse qqn que je poste ici mon code .lua complet (enfin en l'état actuel) pour AM ?

Merci encore à toi Jacques,

Hadrien
hadrien
 
Messages: 95
Inscription: 30/10/18
Localisation: Seilles, Belgique

Re: Interfacer Arduino et P3D

Messagede tabar57 » Mer 28 Aoû 2019 18:01

Bonjour Adrien,

A part le fait d'être content que çà refonctionne, oui je serai intéressé par ton code lua, il y a toujours des idées à puiser chez les autres chouettedoights

Merci et Cordialement

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Interfacer Arduino et P3D

Messagede hadrien » Mer 28 Aoû 2019 21:58

Bonsoir Bernard,

Spécialement pour toi, avec un bel emballage et un joli nœud : https://uptobox.com/b41igyxcjnt8

Bien à toi,

Hadrien
hadrien
 
Messages: 95
Inscription: 30/10/18
Localisation: Seilles, Belgique

Re: Interfacer Arduino et P3D

Messagede tabar57 » Mer 28 Aoû 2019 22:12

Merci Adrien c'est sympa merci affiche

Aujourd'hui j'ai travaillé sur la mise au point ( presque finale OUF ...) du script lua qui me permet de transmettre une donnée ( un offset fsuipc ) par port com sur une arduino Nano équipé d'un écran oled pour afficher la fréquence standbye de com1 afin de restaurer un bloc de com Collins ctl22 que j'ai dans mes fonds de tiroir depuis belle lurette.
C'est un chouette exercice gratgrat

Cordialement

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Interfacer Arduino et P3D

Messagede hadrien » Ven 6 Sep 2019 10:30

Bonjour à tous,

Je reviens vers vous car j'ai encore un soucis de matériel et/ou programmation (je sais pas trop où est le soucis) avec mes jauges cette fois-ci. En gros, depuis le ré-assemblement de mon bureau, et malgré toutes les manips effectuées lors du soucis précédent (qui a été réglé suite au déplacement d'une pin ground), mes servo-motors continuent à répondre bizarrement. Pourtant, pour 2 d'entre eux (sur 4), aucune manip sur les arduino n'a été effectuée (pas de déplacement de broche). Les ports usb ont été déplacés sur le hub mais réinstallés un par un avec le logiciel fourni par siminnovation. Je vous décris les soucis, qui semblent différents pour mes deux paires de jauges mais peut-être une même origine...

1. Les jauges du press duct sur l'overhead panel : alors qu'elles fonctionnaient parfaitement, maintenant (et sans aucune modif du code), elles ne bougent plus correctement. En gros, le point 0 reste correct. Ainsi, quand le jeu renvoie une valeur 0, les aiguilles reprennent bien leur position initiale sur le 0. Toutefois, lorsque j'envoie (soir via P3D, soit via la console AM), une valeur de 20, l'aiguille va jusque sur le 40 de la jauge (alors qu'elle tombait juste avant). Si je mets une valeur de 40, là elle n'avance plus du tout. Un soucis peut-être avec le point 0 du moteur, qui atteint son cycle maximum à une valeur de 20 et donc forcément ne bouge plus après. Ce qui est étrange, c'est la valeur d'initiation du dutycyle dans le code n'a pas été changée. Voici d'ailleurs le code qui y est lié.

Code: Tout sélectionner
function R_engine_air_callback (Val)
   
   hw_output_pwm_duty_cycle(airduct_R_engine, 0.05+(Val*0.05/80))

end

airduct_R_engine = hw_output_pwm_add("ARDUINO_MEGA2560_E_D5", 50, 0.075)
fsx_variable_subscribe("PMDG 737NGX:AIR_DuctPressNeedle:2", "NUMBER", R_engine_air_callback)


function L_engine_air_callback (Val)
   
   hw_output_pwm_duty_cycle(airduct_L_engine, 0.05+(Val*0.05/80))

end

airduct_L_engine = hw_output_pwm_add("ARDUINO_MEGA2560_E_D6", 50, 0.075)
fsx_variable_subscribe("PMDG 737NGX:AIR_DuctPressNeedle:1", "NUMBER", L_engine_air_callback)


2. Les jauges de flaps : alors qu'elles fonctionnaient très bien, elles ont, depuis le changement de mon bureau, cessé de fonctionner. Pourtant de nouveau, aucun changement au niveau des branchements sur les pins de l'arduino, même manip que dans le point précédent. Les autres éléments hardware branchés sur l'arduino, même sur les ports voisins, fonctionnent sans soucis. J'ai testé ces deux jauges sur deux cartes différentes, même soucis. J'ai même cru, au départ à un soucis de servo motor. Je les ai remplacés et même résultats, plus de réaction. Est-ce de nouveau lié à un changement dans les valeurs du duty cycle ? Pourtant, j'ai vérifié les spécificités techniques des servo motors sg90, les valeurs que JacquesZ m'avaient fournies sont correctes. Pour ces deux jauges de flaps, au démarrage du programme sur Air Manager, elles bougent, se positionnent à un point puis ne réagissent plus aux valeurs envoyées, que ce soit par P3D ou directement dans la console. Voici le code pour vous faire une idée :

Code: Tout sélectionner
function R_flaps_callback (Val)
   
   if Val == 0.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.067)
   end
   
   if Val == 1.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.074)
   end
   
   if Val == 2.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.081)
   end
   
   if Val == 5.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.089)
   end
   
   if Val == 10.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.097)
   end
   
   if Val == 15.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.104)
   end
   
   if Val == 25.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.111)
   end
   
   if Val == 30.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.117)
   end
   
   if Val == 40.0   then
   hw_output_pwm_duty_cycle(R_flaps_gauge, 0.125)
   end
end

R_flaps_gauge = hw_output_pwm_add("ARDUINO_MEGA2560_I_D5", 50, 0.075)
fsx_variable_subscribe("PMDG 737NGX:MAIN_TEFlapsNeedle:2", "NUMBER", R_flaps_callback)

function L_flaps_callback (Val)
   
   if Val == 0.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.065)
   end
   
   if Val == 1.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.073)
   end
   
   if Val == 2.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.080)
   end
   
   if Val == 5.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.089)
   end
   
   if Val == 10.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.096)
   end
   
   if Val == 15.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.1055)
   end
   
   if Val == 25.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.112)
   end
   
   if Val == 30.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.118)
   end
   
   if Val == 40.0   then
   hw_output_pwm_duty_cycle(L_flaps_gauge, 0.125)
   end

end

L_flaps_gauge = hw_output_pwm_add("ARDUINO_MEGA2560_I_D6", 50, 0.075)
fsx_variable_subscribe("PMDG 737NGX:MAIN_TEFlapsNeedle:1", "NUMBER", L_flaps_callback)


Quelqu'un parmi vous aurait-il des pistes de solutions et/ou tests à effectuer pour y voir plus clair ? La dernière fois, vos pistes m'ont indirectement permis de trouver l'origine du problème donc, je fais à nouveau appel à vos idées géniales.

Merci d'avance,

Hadrien
hadrien
 
Messages: 95
Inscription: 30/10/18
Localisation: Seilles, Belgique

Re: Interfacer Arduino et P3D

Messagede JacquesZ » Ven 6 Sep 2019 11:29

Des pannes aléatoires comme ça, je dirais un clone Arduino de mauvaise qualité, parceque l’histoire de la masse pas commune est un indice.
As tu essaye de commander une autre carte d’une marque réputée pour voir?
Genre Sainsmart ou Funduino entres autres.
Un poil plus chères mais de meilleure qualité.

Jacques
Ma chaîne YouTube Tutos sur l’A320 par un Pilote de Ligne: https://youtube.com/channel/UCljftuoKBcgeR-WBgYJpuoA
Avatar de l’utilisateur
JacquesZ
 
Messages: 2848
Inscription: 24/11/10

PrécédenteSuivante

Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités