Cela fait un moment que je ne suis pas intervenu, mais d’autres tâches m’incombaient.
Pour mon Baron, voici la conception de ma dernière pièce : le sélecteur d’altitude et de VS.

Certains puristes me diront que ce n’est pas sa forme originelle, mais plutôt celle-ci :

L’intégration d’un LCD de 2 x 16 et d’un encodeur m’ont obligé à faire cette entorse.
Comme interface j’ai utilisé la carte USB-LCD.
Le câblage du LCD s’est avéré assez délicat. Il eut fallu fabriquer un CI double face et je n’en avais pas les moyens.
J’ai utilisé des platines d’expérimentation de ce style :

Platine Euro DIN 41612 chez Conrad. Jai accolé 2 sections afin d’en faire un simili double face que j’ai ensuite câblé.
Voici un aperçu :

l’envers du décor:

Pour configurer l’écran, je vous propose de suivre ce tutoriel (il est en français)
https://docspike.com/download/tutorial-lcd_pdf
Pour un bon fonctionnement, il est impératif de rentrer manuellement le chemin de votre IOclcd.lcd ,comme indiqué ci-dessous, dans le fichier ini correspondant au logiciel IOCLlcd.exe
[ Fichero de configuracion ]
[ Configuration File ]
CONFIG_FILE=I:\Simulation\FreeCAD\VS_Altitude\Logiciel_LCD\IOclcd.lcd
Et voici le code sioc pour son fonctionnement :
- Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 5.1 - By Manuel Velez - www.opencockpits.com
// *****************************************************************************
// * FileName : essai_VS.txt
// * Date : 09/10/2021
Var 0010, name VS
{
V1002 = &VS
V1004 = &VS
}
Var 0011, name VS_01, Link FSUIPC_INOUT, Offset $07F2, Length 2
{
&VS = &VS_01
IF &VS_01 > 55636
{
&VS = &VS_01 - 65536
}
}
Var 0012, name Altitude
{
V1001 = &Altitude
V1003 = &Altitude
}
Var 0013, name Altitude_01, Link FSUIPC_INOUT, Offset $07D4, Length 4
{
L0 = &Altitude_01 / 19975.37
&Altitude = L0
}
Var 0014, name sw_vs_alt, Link IOCARD_SW, Input 15, Type P
{
IF &sw_vs_alt = 0
{
&ecran_LCD = 0
}
ELSE
{
&ecran_LCD = 1
}
}
Var 0015, name Encoder_VS_Alt, Link IOCARD_ENCODER, Input 45, Aceleration 6, Type 2
{
IF &sw_vs_alt = 0
{
L0 = &Encoder_VS_Alt * 100
&VS_01 = LIMIT -5000 ,5000 ,L0
}
ELSE
{
L0 = &Encoder_VS_Alt * 100
&Altitude = LIMIT 0 ,99999 ,L0
}
}
Var 1000, name ecran_LCD
Var 1001, static
Var 1002, static
Var 1003, static
Var 1004, static
Remarque importante, les variables 1001 à 1004 sont en mode static, c’est impératif car elles correspondent à la configuration de l’écran dans le IOclcd.lcd. Le numéro de variable doit rester immuable, surtout si vous utilisez Config_sioc.exe pour concaténer plusieurs fichiers.
le poussoir de l'encodeur sert à passer de l'altitude à la VS. une petite précision, vous avez sans doute remarqué sur l'écran
le signe ">>", il sert à indiquer soit "altitude" ou "VS" est actif à l'affichage et sera incrémenté par l'encodeur.
Et pour finir, ci-joint les différents fichiers nécessaires à la conception de l’appareil :
C'est tout pour aujourd'hui.
Jean-Gilles