Fonctionnement d'Arduino Leonardo

F-MIFA

PILOTE PRIVE
Messages
58
Réactions
33
Points
39
Bonjour a tous amis pilotes , j'ai pour projet de realiser un compensateur de profondeur, grâce a un potentiomètre et a une carte Arduino Leonardo que l'on m'a donné,
j'aimerais avoir l'Arduino reconnu comme périphérique USB
est-ce possible ? et existe t'il des tutos sur le web ?
merci a vous, bon vols
 
Bonjour a tous amis pilotes , j'ai pour projet de realiser un compensateur de profondeur, grâce a un potentiomètre et a une carte Arduino Leonardo que l'on m'a donné,
j'aimerais avoir l'Arduino reconnu comme périphérique USB
est-ce possible ? et existe t'il des tutos sur le web ?
merci a vous, bon vols
L'Arduino Leonardo est reconnue nativement comme une souris/clavier (contrairement à l'UNO/MEGA qui n'ont pas cette possibilité), et avec la librairie Joystick de l'IDE Arduino, il est facile de le convertir en carte Joystick avec 32 boutons et 3 axes plus throttle. Parfait pour ton usage

et une fois le potentiomètre connecté à une entrée Analogique, il faut créer un petit programme en s'inspirant de celui donné ici
Il ya une conversion à faire pour transformer les valeurs 0-1023 retournées par l'Arduino en valeurs -127/+127 transmises par la carte Joystick

Jacques
 
Dernière édition:
C'est intéressant, ça, mais du coup, ça ne fait gère que les entrées, pas de sorties LED par exemple ?
 
Je ne pense pas qu'on puisse avoir les deux en même temps (dans la configuration carte joystick), car dans ce cas la carte ne reçoit aucune info du PC/Simu puisqu’elle est interprétée comme un joystick avec 32 boutons.

Mobiflight ne supporte pas l'Arduino Leonardo
par contre Air Manager la supporte, et donc il est possible d’interfacer aussi des Leds et autres éléments.
Arduino MEGA 2560, Uno, Micro, Leonardo and Nano are supported, other Arduino models will not work.

C'est réglé en quelques (4 seulement!) lignes de code, Il faudra probablement utiliser ELEVATOR TRIM PCT
Voici un exemple tiré du Wiki Air Manager

We will show you an example script on how to connect a potentiometer for a throttle input. For this we use the analog input API functions


Throttle​

Lua:
-- For X-Plane we need to override the joystick input first
xpl_dataref_write("sim/operation/override/override_joystick", "INT", 1)

-- Callback function which is called when the ADC input state changes
-- 0.0 : GND (lowest voltage)
-- 1.0 : VCC (highest voltage)
function adc_input_throttle(value)
  -- FSX and Prepar3D expect a value between 0 and 100
  fsx_variable_write("GENERAL ENG THROTTLE LEVER POSITION:1", "Percent", value * 100)

  -- X-Plane expects a value between 0 and 1, no conversion necessary
  xpl_dataref_write("sim/flightmodel/engine/ENGN_thro", "FLOAT[8]", {value})
end

-- Create a ADC input
hw_adc_input_add("Throttle", adc_input_throttle)

La solution Air Manager est la plus flexible, Elle permet d’utiliser à fond la carte, celle à base de configuration de l’Arduino Leonardo en carte Joystick est la plus simple puisqu’elle ne nécessite pas de logiciel complémentaire.
 
Dernière édition:
merci pour vos réponses, j'ai reussi avec un peu de mal a faire reconnaitre l'Arduino comme périphérique, maintenant j'ai vu qu'il faut relier A0 a la terre, mais je n'ai aucune idée de ou brancher les 3 bornes du potentiomètre ?
 
merci pour vos réponses, j'ai reussi avec un peu de mal a faire reconnaitre l'Arduino comme périphérique, maintenant j'ai vu qu'il faut relier A0 a la terre, mais je n'ai aucune idée de ou brancher les 3 bornes du potentiomètre ?
Connecter la broche A0 à la broche GND ne sert qu’à démarrer le programme de test décrit dans le tutoriel étape 7/10, une fois que cette page de configuration est affichée, ce qui indique que la carte est reconnue comme un joystick

Sinon pour connecter un potentiomètre c’est comme ça:
1665174080608.png

Il faudra ensuite un petit programme adapté comme expliqué dans mon Post précédent
 
Dernière édition:
@F-MIFA

Juste un petit point de terminologie a ne pas confondre (Même, si c'est souvent le cas...;))
j'ai reussi avec un peu de mal a faire reconnaitre l'Arduino comme périphérique, maintenant j'ai vu qu'il faut relier A0 a la terre...
Ne pas confondre la "Terre" et la "Masse", ce sont deux choses différentes.
Dans ton cas , c'est une "Masse" (Celle de la carte qui te permet d'avoir un référentiel de potentiel sur ton montage, généralement 0V)


L'opération ci-dessous que te décris Jacques :
Connecter la broche A0 à la broche GND ne sert qu’à démarrer le programme de test décrit dans le tutoriel étape 7/10
Cette action s'appelle "Givrer" une entrée, en commutation électronique...
Dans le cas ci-dessus, cela permet apparemment de démarrer le programme de test.
 
Dernière édition:
Retour
Haut