Pour débuter avec les cartes Arduino

Tout sur les cartes et la programmation des modules ARDUINO

Pour débuter avec les cartes Arduino

Messagede JacquesZ » Ven 20 Mar 2015 13:49

Bonjour à tous. Voici un petit topo sur les cartes Arduino, les nouvelles cartes d'interface "tendance" du moment.

1-Que faire avec les cartes Arduino?
Vous avez certainement noté le "s" à carte, car il existe non pas une mais plusieurs modèles de cartes Arduino.
Issues à la base d'un développement Open Source, ce sont toutes des cartes à base de microcontrôleur ATMEL (voire maintenant INTEL) permettant de gérer facilement un nombre de broches variable suivant le modèle.

Sans rentrer dans le détail, ces broches (ou "pins") peuvent être configurées par une programmation très simple:
    - Comme des entrées binaires (ON/OFF, parfait pour un Interrupteur ou Bouton Poussoir branché sur la broche),
    - Comme des sorties binaires (ON/OFF, également, par exemple pour allumer/éteindre une Led 5 Volts directement branchée sur la carte via une résistance adaptée, ou envoyer un signal 5 Volts à un relais externe, ou piloter un moteur pas à pas, ou un servomoteur, etc...)
    - Comme des entrées analogiques (valeur de courant variant entre -5V et +5V, qui sera automatiquement décomposée en 1024 "valeurs"), par exemple pour lire des potentiomètres linéaires, rotatifs, à effet Hall, etc... ou pour lire la valeur d'une cellule photo électrique, d'un capteur de température ou d'un capteur à ultrasons...)
    - Comme des sorties analogiques (courant variant entre 0 et 5V) via une astuce appelée PWM, par exemple pour piloter des moteurs à courant continu avec variation de vitesse, ou faire varier la luminosité de Leds).
Vous l'avez compris, ces cartes sont très versatiles, et l'environnement de programmation "standard" est basé sur un sous ensemble du langage C. Le web est rempli de tutoriaux très bien faits, à commencer par le site officiel d'Arduino qui diffuse les drivers et l'environnement de programmation. http://www.arduino.cc/.

A l'énoncé des capacités on devine facilement l'usage possible pour interfacer un cockpit, ce d'autant que plusieurs programmes existent pour interfacer FS9, FSX et X-Plane! Certaines cartes ont la faveur des constructeurs de cockpit pour des raisons de nombre de broches et de compatibilité notamment, et surtout de connexion directe en USB sur nos PCs...

2- Quelle est la différence avec une carte d'interface Clavier/Joystick type LeoBodnar ou similaire?
- Sur les Arduino on peut gérer des entrées et des sorties (analogiques et/ou numériques) sur la même carte, alors que la Leobodnar est une carte fonctionant uniquement en entrée.
- La Leobodnar est directement reconnue comme un Joystick par Windows sans programmation, alors que l'Arduino doit passer par un driver et les données qu'elle reçoit ou qu'on lui envoie doivent être gérées par programmation.

3- Bon on commence par quoi?
Avant d'attaquer l'interfaçage avec Flight simulator ou Xplane, il est fortement conseillé de commencer par se familiariser avec la carte Arduino elle -même : comme on l'a vu, contrairement à Leobodnar ou Pokeys, cette carte est multi utilisations, et donc il faut la programmer un peu pour l'utiliser pleinement, mais rassurez vous c'est TRES simple!

4- Quelle carte choisir?
Pour l"instant les deux cartes ayant la faveur des constructeurs de cockpit (mais ça peut changer) sont l'Arduino MEGA et l'Arduino UNO. Comme elles sont Open Source, on les trouve chez des dizaines de fabricants différents, à des prix incroyablement bas (9 à 15€ pour la UNO , entre 15 et 30e pour la MEGA).

L'Arduino Mega 2560 est vraiment recommandée par rapport à la Arduino UNO, car elle possède jusqu'à 70 entrées/sorties (54+16) alors que la UNO n'en possède que 20 (14+6).
On peut la trouver aux alentours de 12 euros sur des sites tels que Amazon ou Mini-in-the-box. Imbattable!
Attention choisir le dernier modèle Arduino Mega 2560 rev3. Les modèles de marque équivalente fonctionnent sans problèmes, prendre des marques réputées genre Funduino, Sunfounder ou Sparkfun.

5- Des bouquins, des conseils?
Un bouquin pas mal pour débuter et comprendre des rudiments d'électronique:

Pour débuter, le mieux est de prendre un "kit de démarrage", avec l'Arduino Mega+ une malette de composants (leds, résistances, inters, fils de connection, écran LCD 2 lignes etc...). Ce genre de kit est fourni avec un livret de plusieurs pages, il permet à l'aide des composants fournis de faire ses premiers montages à base de Leds (clignotante ou pas) et d'inters, voire d'affichage sur LCD...
Par exemple: http://www.amazon.com/Sunfounder-Project-Starter-Arduino-Mega2560/dp/B00D9M4BQU

Quelques conseils:
    a- S'entraîner d'abord sur la platine d'expérimentation, puis on peut passer au câblage sur le cockpit. Il faut savoir charger le programme, le compiler puis le "téléverser" sur l'Arduino. Quel pied de faire rentrer le train et de voir les 3 vertes s'allumer roicouronne !
    b-L'arduino est autoalimentée par le port USB (câble fourni); mais l'intensité du courant disponible en sortie de la carte est limité lorsque la carte est alimentée par le port USB, à 200mA de mémoire. Une alim externe de 9 Volts en 2A est recommandée mais pas obligatoire (n'importe quel vieux transfo ira, mais attention au câblage de la prise, le + est au centre)/ Un transfo de 9 volts c'est bien, on peut monter jusqu'à 12 volts et pas en dessous de 6V.
    c- Prévoir à terme un petit Hub USB auto alimenté

Pour l'utilisation et la programmation d'une carte Arduino proprement dite, (téléchargement de l'environnement de développement (ou "IDE", qui comprend entre autres un éditeur de code et un compilateur), installation éventuelle des drivers, etc...) je vous renvoie aux dizaines de Tutoriels très bien fait sur le Net, à commencer par le site officiel où on pourra charger l'IDE http://arduino.cc/en/Main/HomePage

La référence du langage de programmation en français se trouve ICI: http://playground.arduino.cc/French/Reference
6- Et pour l'interfaçage avec FS9, FSX?
Bien qu'il en existe plusieurs et d'autres en cours de développement, le programme indispensable pour l'interface à mon sens est Link2FS de Jim Page. Dans sa version la plus avancée, il permet de gérer les événements FS en entrée/sortie via Simconnect et/ou FSUIPC version enregistrée via les OFFSETS

http://www.jimspage.co.nz/intro.htm Prendre Link2fs Multi (version FSX ou FS9) au choix.
Les scripts fournis à télécharger sur l'Arduino sont à adapter à sa "sauce", avec un peu de programmation très simple (un sous ensemble du langage C)

Si cela vous paraît trop intimidant, dans un premier temps il y a une version "Starter Pack" pour les volets, le train et quelques inters. http://www.jimspage.co.nz/multi_starter_pack.htm
Il n'y a qu'à suivre les images et brancher les leds via une résistance de 220 à 330 Ohms aux endroits indiqués, des inters pour le train et les volets et voilà! rien à programmer, tout est déjà prêt.

6- Et pour l'interfaçage avec Xplane?
Le seul que je connaisse pour l'instant est:
http://b58.svglobe.com/ Magnifique et il a développé tout ça pour son propre cockpit! applaublanc

il y a même un micro site dédié à l'interfacage Arduino (très bien fait):
http://arduino.svglobe.com/

Bon débuts avec Arduino!

Jacques
Dernière édition par JacquesZ le Mer 25 Mar 2015 13:09, édité 5 fois.
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

Des liens pour interfacer FS9, FSX avec les cartes Arduino

Messagede JacquesZ » Ven 20 Mar 2015 14:22

Des liens pour interfacer l'Arduino avec nos simus préférés!

J'ai beaucoup parlé de Link2FSmulti, http://www.jimspage.co.nz/Link2fs_Multi.htm mais il existe d'autres voies pour interfacer Arduino avec FSim (et P3D):

Mobiflight:
http://www.mobiflight.com
Il semble que ce soit une interface entre FSUIPC et l'Arduino (MEGA rev3 uniquement ), rien à programmer dans l'Arduino, tout se fait via le module Mobiflight.
Pas encore essayé, mais je suis sur le coup, dès que j'ai appris l'allemand... murrouge

Arduino_Keys
Il y a également l'ancienne version de link2Fs qui se consacre uniquement à l'émulation de touches clavier (On pourra connecter jusqu'à 66 inter/touches sur une Arduino MEGA):
http://www.jimspage.co.nz/arduino_keys_beta.htm
N'oubliez pas de consulter l'excellent totorial sur ce sujet de notre ami Philippe (aka DreamBox):
http://www.vfrnetwork.com/forums/index.php?/topD)ic/12635-emulation-de-touches-clavier-avec-une-arduino/
Note: Cette ancienne version qui ne gère que les entrées est intégrée dans la version Link2FS, mais elle ne nécessite AUCUNE programmation. pas mal pour démarrer! On peut ensuite passer à Link2FSMulti mais là il faudra mettre les mains dans le cambouis.

Scripts avec FSUIPC
On peut également programmer directement avec un script LUA sous FSUIPC, mais c'est plus complexe.
https://code.google.com/p/arduino-fs/

Pas mal pour commencer!

Jacques
Dernière édition par JacquesZ le Mer 25 Mar 2015 11:39, édité 2 fois.
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: Pour débuter avec les cartes Arduino

Messagede dreambox » Ven 20 Mar 2015 14:23

JacquesZ a écrit:
L'arduino est autoalimentée par le port USB (câble fourni); mais l'ampérage dispo est limité par le port USB, 200mA de mémoire.

Jacques


Bonjour Jacques

Belle introduction, juste une petite remarque, un port USB peut fournir ou absorber une intensité de 500 mA (et pas un ampérage, mon prof d'électro m'a suffisamment mis des pieds au c... pour m'en souvenir)

Par compte le microcontrôleur de la carte Arduino ne peut fournir sur ces périphériques (entrées et sorties) qu'une intensité de 200 mA au delà ça chauffe trop et la puce risque de grillé mais je te rassure il y a des solutions, des interfaces

imagine, une dizaine de LED à 20 mA chacune, on est déjà à la limite

Cordialement DREAMBOX
Dernière édition par dreambox le Lun 23 Mar 2015 12:08, édité 1 fois.
Avatar de l’utilisateur
dreambox
 
Messages: 303
Inscription: 23/11/13
Localisation: F62950 Noyelles-Godault

Re: Pour débuter avec les cartes Arduino

Messagede JacquesZ » Ven 20 Mar 2015 14:31

Merci Philippe, mais tout le mérite te revient!

Par compte le microcontrôleur de la carte Arduino ne peut fournir sur ces périphériques (entrées et sorties) qu'une intensité de 200 mA

C'est corrigé dans le premier post, merci de tes conseils techniques (Ca s'est vu que je ne suis pas électronicien? nonbleu )

Cordialement
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: Pour débuter avec les cartes Arduino

Messagede PARALAILE » Dim 22 Mar 2015 12:07

Merci énormément pour ce sujet.
Dominique --> DC-3


PS : je pense que ça , c'est la version anglaise du site de mobiflight :
http://www.mobiflight.com/
Avatar de l’utilisateur
PARALAILE
 
Messages: 111
Inscription: 11/11/12

Re: Pour débuter avec les cartes Arduino

Messagede JacquesZ » Lun 23 Mar 2015 00:48

PARALAILE a écrit:Merci énormément pour ce sujet.
Dominique --> DC-3


PS : je pense que ça , c'est la version anglaise du site de mobiflight :
http://www.mobiflight.com/

C'est corrigé dans le premier post, merci!

ceci dit je suis un peu circonspect avec MobiFlight.
la mise à jour du microcode de la carte se fait directement via le module, le code téléchargé sur l'arduino devient inaccessible je ne sais pas ce qu'il y a dedans!

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: Pour débuter avec les cartes Arduino

Messagede nonolight » Lun 23 Mar 2015 10:51

Très bonne introduction détaillée Jacques
Merci pour nous !! grandsoleil

Nono
Image Image
Avatar de l’utilisateur
nonolight
 
Messages: 4344
Inscription: 21/03/09

Re: Pour débuter avec les cartes Arduino

Messagede FiX » Lun 23 Mar 2015 17:58

Petite précision sur les copies non officielles chinoises:

On trouve sur ebay des clônes chinois non-officiels à des prix encore plus bas que les clône officiels.
Je pense que c'est pas mal d'en avoir une officielle pour débuter sans bidouiller en étant à peu près sûr que ça va fonctionner du premier coup.
Mais pour d'autres projet où l'on a besoin "d'immobiliser" des cartes, on peut être tenté par ces clônes.
J'ai testé (moins de 4$ la uno...), ça fonctionne, mais il y a une petite chose à savoir.
Ces clônes ne sont pas tout à fait identique, le contrôleur USB diffère.
Sur l'arduino officielle on a un ATmega16U2, alors que sur les clônes chinois on a un CH340G (ils le précisent généralement dans l'annonce).
Le 16U2 est reconnu sans problème par le PC et donc la lisaison avec l'IDE arduino se fera sans problème.
En revanche les systèmes d'exploitation ne reconnaissent pas le CH340G, il faut installer des driver spécifique, que l'on trouve ici: http://www.5v.ru/ch340g.htm

Et, là, les clônes chinois à 4 euros fonctionnent!
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Pour débuter avec les cartes Arduino

Messagede JacquesZ » Mer 25 Mar 2015 11:34

Voici un lien vers le sujet de Michel sur le forum de FVFR.
Michel qui débute sur Arduino, et fait des progrès rapides!

http://www.vfrnetwork.com/forums/index.php?/topic/12649-arduino-et-fsx-mon-initiation-aux-techniques-n%C3%A9cessaires-pour-cr%C3%A9er-un-cockpit-sous-fsxp3d/

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: Pour débuter avec les cartes Arduino

Messagede tabar57 » Mer 25 Mar 2015 23:01

Bonjour tout le monde,

Eh bien je vois que ça chôme pas sur l'arduino lolaffiche , en plus des constructions de pits.
Je pensais pas qu'on étaient autant à s'intéresser à la carte bleue

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

Suivante

Retourner vers Interface & logiciel ARDUINO





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité