Bonsoir,
Pour ceux qui veulent faire un cockpit personalisé avec une arduino.
Tout d'abord ajoutez dans les "data-output / gestion Dataref" les informations que vous souhaitez envoyer.
J'utilise deux valeurs pour cette exemple . Libre a vous d'en ajouter.
sim/flightmodel/position/magpsi
sim/cockpit2/gauges/indicators/altitude_ft_pilot
valeur en write
Ensuite le prgrame arduino est :
Je vous laisse voir sur le site d;arduino le fonctionnement des lcd.
#include <LiquidCrystal.h>
LiquidCrystal lcd20_4(33, 31, 29, 27, 25, 23);
LiquidCrystal lcd20_2(43, 45, 47, 49, 51, 53);
int count = 0,flag_digit=0;
char indata[8];
int sendbyxplane=2; //nombre de donnee provenant d Xplane
char xplane[2][8]; //2 nombre de donnee provenant d Xplane
int xplaneligne=0;
void setup()
{
lcd20_4.begin(20,4);
lcd20_2.begin(20,2);
Serial.begin(38400); // make sure you select the same bauds on X-plane as well as the COM of your Arduino
}
void loop()
{
// Reading Datarefs from X-plane. Make sure you select the desired Dataref from the "Write" list
if (Serial.available() > 0)
{
char incomingByte = Serial.read ();
//lcd20_2.print(incomingByte); utilise pour debuging
if ( incomingByte != '$')
{
if ( incomingByte != ',')
{
indata[count]=incomingByte;
count++;
// indata[count]='\0';
}
else
{
count=0;
lcd20_4.print(indata);
lcd20_4.print(" ");
strcpy(xplane[xplaneligne], indata);
lcd20_2.setCursor(0,0);
lcd20_2.print(atoi(xplane[0]));
lcd20_2.setCursor(0,1);
lcd20_2.print(atoi(xplane[1]));
xplaneligne++;
if (xplaneligne == sendbyxplane)
xplaneligne=0;
}
}
}
}
Toute aide pour améliorer le programes et partager vos experience sur vos cockpit est la bienvenu.
Ounet
Pour ceux qui veulent faire un cockpit personalisé avec une arduino.
Tout d'abord ajoutez dans les "data-output / gestion Dataref" les informations que vous souhaitez envoyer.
J'utilise deux valeurs pour cette exemple . Libre a vous d'en ajouter.
sim/flightmodel/position/magpsi
sim/cockpit2/gauges/indicators/altitude_ft_pilot
valeur en write
Ensuite le prgrame arduino est :
Je vous laisse voir sur le site d;arduino le fonctionnement des lcd.
#include <LiquidCrystal.h>
LiquidCrystal lcd20_4(33, 31, 29, 27, 25, 23);
LiquidCrystal lcd20_2(43, 45, 47, 49, 51, 53);
int count = 0,flag_digit=0;
char indata[8];
int sendbyxplane=2; //nombre de donnee provenant d Xplane
char xplane[2][8]; //2 nombre de donnee provenant d Xplane
int xplaneligne=0;
void setup()
{
lcd20_4.begin(20,4);
lcd20_2.begin(20,2);
Serial.begin(38400); // make sure you select the same bauds on X-plane as well as the COM of your Arduino
}
void loop()
{
// Reading Datarefs from X-plane. Make sure you select the desired Dataref from the "Write" list
if (Serial.available() > 0)
{
char incomingByte = Serial.read ();
//lcd20_2.print(incomingByte); utilise pour debuging
if ( incomingByte != '$')
{
if ( incomingByte != ',')
{
indata[count]=incomingByte;
count++;
// indata[count]='\0';
}
else
{
count=0;
lcd20_4.print(indata);
lcd20_4.print(" ");
strcpy(xplane[xplaneligne], indata);
lcd20_2.setCursor(0,0);
lcd20_2.print(atoi(xplane[0]));
lcd20_2.setCursor(0,1);
lcd20_2.print(atoi(xplane[1]));
xplaneligne++;
if (xplaneligne == sendbyxplane)
xplaneligne=0;
}
}
}
}
Toute aide pour améliorer le programes et partager vos experience sur vos cockpit est la bienvenu.
Ounet
mais ici tu traites les données OUTPUT mais pour les INPUT comment fait tu ?
Commentaire