Arduino IDE

Salut, je n'ai toujours pas acheter d'alimentation, la flemme en ce moment et puis j'ai penser à  mon arduino Uno. Je compte pas faire tout le simulateur avec mais pour l'instant ça me dépanne (Mes 2 EFIS), mais bon des fois les choses temporaires peuvent devenir "temporaire définitif"

J'ai fais un petit montage, vite fait sans switch peut être par la suite, jintercalerais un potar du MIP, j'en sais rien... peut être j'aurais besoin d'une autre Arduino pour alimenter l'overhead en +5V...à  méditer.

En tout ça éclaire pas mal!!
[img=Arduino EFIS]http://nsm08.casimages.com/img/2015/12/13//15121303173916200213827815.jpg[/img]
15121303173516200213827814.jpg
 
opencockpit fait la carte usbdim qui controle le retro eclairage j'ai pu tester ca sur le pedestal de didier qui a construit un 737 et est venu chez moi pour que je lui programme tout ca .
la carte usb dim te permet soit de controller ton eclairage avec un potar soit comme en vrai interfacer avec sioc pour que quand tes battery ne sont pas mise le retro eclairage ne fonctionne pas :p
c'est pas mal dutout
et attention pour le backlight chez OC il ne faut pas depasser 3v c'est ce que dit la doc ....
 
Bonsoir

J'ai reçu la carte UNO compatible hier ainsi que quelques composants pris dans la foulée (fallait un potar et des LEDs, non ?) et je me suis lancé ce soir !

J'ai un meilleur à  priori et ressenti avec lArduino que le Rasproblèmeerry.
Le logiciel de développement livré sur le site de lArduino est facile d'accès et est livré avec pas mal dexemples que je me suis empressé de faire (les BASICs du moins).

Ensuite j'ai repris votre script et le montage servo/potar sur la "bread" (sans soudure comme çà ) et çà  a fonctionné direct !!

Reste à  voir linterfaçage avec le simu P3D via FSUIPC j'imagine.

Mais direct comme çà  pour un premier contact avec cette carte, jadhère totalement !!!
 
Juste comme çà  en passant, on peut aussi contrôler la puissance des LEDs connectées sur la UNO ;
J'ai suivi leur tutoriel "Fade" livré avec l'outil de développement Arduino et çà  permet de contrôler la puissance de la LED.
Couplée sur le potar, çà  devrait le faire :)
 
Sympa ton tutoriel Stéphane. Par contre pourquoi n'avoir connecter que le Potar Main sur ton boitier Ebay et les autres sur une Pokeys 56U?
 
Les autres boutons sont pour régler la luminosité des différents écrans et c'est géré nativement par Prosim. Le mieux bien sur aurait été de les connecter au controle de luminosité de l'écran directement mais en attendant la gestion via Prosim fait l'affaire.

Stéphane
 
Perso je me sert de ce genre de boitier pour tout ce qui est retrclairage du cockpit.

J'ai ouvert le boitier,ressortit le potard et installé sur l'overhead.

Ca gere les bandes de leds 12v qui eclairent le cockpit.

2 ou 3 € sur ebay
 
mameloose a dit:
opencockpit fait la carte usbdim qui controle le retro eclairage j'ai pu tester ca sur le pedestal de didier qui a construit un 737 et est venu chez moi pour que je lui programme tout ca .
la carte usb dim te permet soit de controller ton eclairage avec un potar soit comme en vrai interfacer avec sioc pour que quand tes battery ne sont pas mise le retro eclairage ne fonctionne pas :p
c'est pas mal dutout
et attention pour le backlight chez OC il ne faut pas depasser 3v c'est ce que dit la doc ....

Daprès la documentation on peut imposer via le programme dédié des limites aux sorties entre 0v et 50v, c'est bien ce que j'ai lu?
 
Ah ouais ça change tout, donc je peux par exemple controler avec un potar sur J1 les 4 sorties channel A et chaque sortie je peux decider avec le programme genre S1=2,5v.....S2= 3v....S3= 5v...S4=12v

J'ai vu qu'on pouvait utiliser ou non le port USb, utilser une alimentation externe ect et la sortie est de 0v à  50v. On peut aussi commander ou non avec 1 potar chaque groupe de sortie (channel A/B/C) ou chacune individuellement.

Ah ouais "mon cerveau reflechi" donc en imposant des tension à  un groupe ou des sorties individuelles, quand j'utilise ou non un potard de 0 à  255 degré (doc opencockpit) je ne pourrais pas dépasser la limitation que j'aurais imposer via le programme. Mais c'est génial.

 
Silverstar a dit:
Ah ouais "mon cerveau reflechi" donc en imposant des tension à  un groupe ou des sorties individuelles, quand j'utilise ou non un potard de 0 à  255 degré (doc opencockpit) je ne pourrais pas dépasser la limitation que j'aurais imposer via le programme. Mais c'est génial
Ouais du grand opencockpit quoi ;)
 
Super, pour ce qui me concerne je suis pas passé par FSUIPC.
La gauge fonctionne niquel avec un potard en doublure sur l'axe des flaps.
 
Bonjour Silver,

Jaurais besoin de votre aide.
Ca ma beaucoup aider votre explication de votre programme et je voudrais dire Merci.
Mais est ce que je pourrais avoir une capture de votre part pour le branchement sur la carte aduino avec le logiciel fritzing svp.

J'espère avoir une réponse de votre part Merci
 
Salut Neymaramg, bah écoute c'est la première fois que j'entend parler de ce logiciel, je n'ai exploré le logiciel que pendant quelques minutes sur la toile, mais ça me semble très bien fait, et extrêmement facile à  utiliser.
 
Merci beaucoup Silverstar :) :)
Et il ya aussi https://123d.circuits.io ou on peut a la fois écrire et faire le schéma et lancé la simulation

J'ai une dernière question.
est ce que vous pouvais écrire ce code d'une autre façon (comme par ex celle de votre explication)
/* Servomoteur avec un potentiomètre */
#include <Servo.h>
#define PIN_POTAR A0
#define PIN_SERVO_1 2
//Création d'un objet servo pour le controler
Servo servo_1;
int val = 0; //Variable qui stock la position du servo
void setup() {
//On attache la pin
servo_1.attach(PIN_SERVO_1);

}
void loop() {
//On met à  l'échelle la valeur de potentiomètre (0-1023)
//par rapport à  l'échelle du servo (0-180)
val = map(analogRead(PIN_POTAR), 0, 1023, 0, 180);
servo_1.write(val);

delay(100);

}
Merci
 
Comme ça

/* Servomoteur avec un potentiomètre */ Titre de ton programme
#include <Servo.h> Ca permet dinclure la librairie Servo dans ton programme (c'est obligatoire)
#define PIN_POTAR A0 Ca défini ton potar sur le pin A0 mais si tu mets 0 ca passe A3 ca peut etre aussi 3, le A est facultatif, aussi tu peux lécrire Int Pinpot = 0, faut juste garder le meme nom quand tu fais ton code
#define PIN_SERVO_1 2 Ca défini ton servo sur le pin 2, aussi tu peux lécrire Int Servpot = 2
//Création d'un objet servo pour le controler
Servo servo_1; Tu peux le nommer aussi Servo monservo_1; ou Servo monservo_2; si tu as 2 servo par exemple ;
int val = 0; //Variable qui stock la position du servo C'est la valeur minimale du servo
void setup() { Permet de configurer les entrées et le sorties
//On attache la pin
servo_1.attach(PIN_SERVO_1); Ca peut aussi sécrire servo_1.attach(2); puisque (PIN_SERVO_1)=pin 2;

}
void loop() { Permet de programmer les interactions
//On met à  l'échelle la valeur de potentiomètre (0-1023) Ca correspond a la valeur numérique du potar par rapport à  la tension 0V et 5V donc 1023=5V
//par rapport à  l'échelle du servo (0-180) Ca correspond à  l'angle en degré du potar tu peux mettre 360 ou plus suivant ton potar
val = map(analogRead(PIN_POTAR), 0, 1023, 0, 180); ca permet de calibrer des valeurs pour le servo de 0 à  180°
analogRead(PIN_POTAR), c'est la valeur à  convertir pour la changer de gamme
0, c'est la valeur minimale de la gamme à  convertir
1023, c'est la valeur maximale de la gamme à  convertir
0, c'est la valeur minimale de la gamme vers laquelle est convertie la valeur initiale
180 c'est la valeur maximale de la gamme vers laquelle est convertie la valeur initiale
servo_1.write(val); Ca positionne le servo suivant la valeur du potentiomètre

delay(100); temps en ms avant que le servo se déplace lorsque tu tourne le potar
}

J'ai essayé de changer comme vous avez dit mais le programme voulais pas se lancé
 
Ah ok ça c'est juste une explication pour comprendre le code, pour programmer la carte arduino tu dois injecter le code dans le PIC de la carte avec le logiciel Sketch. Ensuite tu adaptes le code suivant les bornes ou tu as branché ton matériel.

Tu comptes faire quoi au juste? quelle utilisation veux tu faire avec une arduino et un servo?
 
Neymarang,

Tu demandes là  à  ce qu'on te décrit ligne par ligne ce que fait ce bout de code. !!!

J'ai peur que cela soit hors contexte de ce forum de constructeur de cockpit.

C'est du langage C. Il y a pas mal de littérature autour de ce langage sur le net.
Essaye du côté des sites grands public dédiés à  la programmation comme "comment ça marche" ou "développez"

Si tu as besoin du langage tu dois le connaître car sans ça tu ne connaîtra pas les limites et possibilités de tes montages.

Bon dimanche
 
Bonjour à tous,

voilà , depuis le temps que je cogite ce projet de cessna 172 home cockpit, je commence un peu à mettre en pratique tout ça!

A force de fouiller en long et en large le net à la pêche aux infos, je me suis dit que ça ne coût'ait pas grand chose d’essayer larduino. Et que au pire, ça m’aiderait à comprendre les bases de la programmation...

Résultat, j'ai acquéri un kit arduino, avec une arduino méga et divers composants pour bidouiller. J'ai installé mobilight et fait les quelques tuto switch et LED, tout fonctionne sur les avions de base de P3D.


L'idée est donc d’extrapoler un peu tout ça au cessna A2A.

Via le tuto d’utilisation des LVAr fait par Avro, j'ai simplement fait un petit copié collé du script Lua, et boeingo: Ca marche!!! Merci beaucoup!!! :)
Explications!

j'ai testé pour les inter de la batterie et de lalternateur.

1/ Dans mobiflight, suivant les tutos, je crée 2 boutons, sur les entrées 2 et 3 de larduino. Pour leur programmation, je leur donne chacun un offset libre, 3340 et 3344. On press = 1 On release = 0.

2/ Via Notepad++, je crée donc un script C172.lua, que voici:
Code:
-- test switch entrée 2 pour contact batterie

battery = ipc.readUB(0x3340)
if battery > 0 then   
ipc.writeLvar("L:Battery1Switch",1)
else
ipc.writeLvar("L:Battery1Switch",0)
end


-- test switch entrée 3 pour contact alternateur

generator = ipc.readUB(0x3344)
if generator > 0 then
ipc.writeLvar("L:Eng1_GeneratorSwitch",1)
else
ipc.writeLvar("L:Eng1_GeneratorSwitch",0)
end

3/ Dans FSUIPC, "bouttons et switch" je bouge mon inter, il est détecté en joy# 64 btn# 0 et je lui associe le script C172.Lua, on press 1 on realease 0. idem pour linter 2.

4/ retour dans le simu: tout fonctionne

youpi!!

Mais bien sûr, la fête est de courte durée!

Je souhaite donc poursuivre dans la lancée, et continuer dans du basique: les switchs. Les différentes lights, la pompe et le pitot.
J'ai bien trouvé les Lvar correspondantes (puisquelles passent bien de 0 à 1 selon l'état de linter dans le simu) mais hélas, rien ne se passe dans le cockpit.

J'ai testé cette Lvar: L:LightLandingSwitchSave
qui passe bien à 1 lorsque on met les landing light sur ON dans le simu
avec ce code.
Code:
landinglight = ipc.readUB(0x334
if landinglight > 0 then   
ipc.writeLvar("L:LightLandingSwitchSave",1)
else
ipc.writeLvar("L:LightLandingSwitchSave",0)
end

Il y a d'autres Lvar avec la mention LandingLight: L:LandingLightSwitch, L:LandingLightExtendSwitch, L:LandingLightExtendSwitchPast.

J'ai changé dans le script pour ces Lvar, mais rien ne se passe

Je remarque cependant que lorsque L:LightLandingSwitchSave = 1, alors L:LandingLightsON = 1, et inversement. J'ai testé en y associant les deux Lvar.

Code:
-- test switch entrée 4 pour landing light
landinglight = ipc.readUB(0x334
if landinglight > 0 then
ipc.writeLvar("L:LightLandingSwitchSave",1)
ipc.writeLvar("L:LandingLightsON",1)
else
ipc.writeLvar("L:LightLandingSwitchSave",0)
ipc.writeLvar("L:LandingLightsON",0)
end

pas mieux...

Merci pour votre aide si vous avez une idée! O:)
 
Domelecq a dit:
Bonjour

j'ai trouvé un lien te donnant l'ensemble des LVAR pour Cessna A2A

http://www.a2asimulations.com/Cockpitbuilders/A2A C172 Trainer - Variable list.pdf

Je pense que ton problème vient de la.

Philippe

Merci, hélas ça ne vient pas de là . J'avais déjà  cette liste, hors il se trouve que si on prend exemple sur le switch de la batterie, la Lvar donnée sur la liste est bien tel quel dans la "liste des commandes" extraite du simu, "L:Battery1switch". Quand on la met dans le script Lua, ça fonctionne.
Hors, l'info donnée dans la liste pour les landing light "&gt;K:LANDING_LIGHTS_TOGGLE" napparait pas ainsi dans la liste extraite du simu. Mais javoue que tu mas mis le doute, alors j'ai tout de même essayé, avec ce script:

Code:
-- test switch entrée 4 pour landing light

landing_light = ipc.readUB(0x334
if landing_light > 0 then
ipc.writeLvar("&gt;K:LANDING_LIGHTS_TOGGLE",1)
else
ipc.writeLvar("&gt;K:LANDING_LIGHTS_TOGGLE",0)
end

mais malheureusement, rien ne se passe
 
Retour
Haut