Page 1 sur 1

Arduino

Publié : lun. avr. 10, 2017 6:03 pm
par Milos
Pour les bit néophytes comme moi qui seraient intéressés par Arduino mais qui ont peur de ne pas y arriver

http://www.craslab.org/interaction/file ... noCRAS.pdf

tout y est

:yes:

Re: Arduino

Publié : lun. avr. 10, 2017 6:36 pm
par MIKE-SIMULATION
Merci milos!

Re: Arduino

Publié : lun. avr. 10, 2017 11:17 pm
par Lightning101
Parfait pour les cancres comme moi. Merci!

Re: Arduino

Publié : sam. mai 06, 2017 11:57 am
par Easy
Bonjour !
Je vais déterrer le sujet afin de proposer mon aide pour les intéressés de l'Arduino !
Je suis actuellement en 1ère STI2D qui sont les sciences techniques de l'ingénieur option SIN (systèmes informatiques numériques).

Nous avons 4h de SIN par semaine sur lesquels nous travaillons sur les cartes Arduino, j'ai donc des documents d'apprentissage ou même de codage à disposition si besoin est.
De plus, nous utilisons le logiciel Protéus qui nous permet de simuler un circuit électrique sans avoir à le monter donc afin de voir si un soucis est présent dans le montage ou dans le codage. Alors certes, c'est du niveau première ahah mais on y retrouve un chapitre sur les interfaces de puissances, les transistors etc...

Donc ça serait avec plaisir de faire partager ces documents avec une communauté de simmeurs, j'avais déjà pensé a essayer de coder quelque chose en rapport avec Arduino sur simu. Il y a vraiment des opportunités intéressantes .

Dernière chose, pour ceux qui souhaitent se lancer dans Arduino, un pack de démarrage est trouvable sur internet
Pack de Démarrage disponible aux environs de 90€ (ce n'est pas donné mais ce pack est vraiment très complet pour qui souhaite débuter dans le domaine). De plus, il se trouve la dedans un manuel d'Arduino lui même sur a peu près tout ce qu'il y à a savoir, il à l'air vraiment plaisant à lire.

En attendant vos réponses, bon appétit :hum:

Re: Arduino

Publié : sam. mai 06, 2017 2:36 pm
par Milos
C'est bon à savoir. Merci de l'info :yes:

Re: Arduino

Publié : sam. mai 06, 2017 3:10 pm
par Easy
Aucun soucis ;)
Hésitez vraiment pas à demander les documents si besoin, je les mettrais sur un drive en libre service

Re: Arduino

Publié : sam. mai 06, 2017 5:10 pm
par 35th wilco
Salut Erwand,

Moi perso je suis bien intéressé par ta doc...

Re: Arduino

Publié : sam. mai 06, 2017 7:08 pm
par Tinkle
Bonsoir,
Tout comme Wilco, je serai intéressé par la doc.
Merci par avance

Re: Arduino

Publié : sam. mai 06, 2017 8:33 pm
par Hombre
Salut Erwand59

J ai commencé à réaliser certaines choses comme les plus basiques sur le M2000 dcs
J'ai terminé les radios qui sont fonctionnelles
Mon problème
Ce que j'aimerais réaliser ce sont le AOA et les jauges de carburants. Dans la bibliothèque de dcs bios je passe par des commandes du types "servooutput" donc du PWM. Le but c'est de les réaliser en barregraphe à l'aide de leds. Quel serait les circuits électroniques et programmes associés
Voici ce que j'ai comme argument
" DcsBios::ServoOutput aoaPos(0x3034, PIN, 544, 2400);

Sachant que le signal de sortie est du PWM donc de l'impulsionnelle
Bien sur j'ai vu qu'il existait differents c.i. pour la réalisation de barregraphe à leds
Quel moyen de convertir ce type de signal en signal analogique ou une autre méthode pour ce que je veux

Cordialement

Re: Arduino

Publié : dim. mai 07, 2017 7:48 am
par Vico
le signal de sortie est du PWM donc de l'impulsionnelle...
..Quel moyen de convertir ce type de signal en signal analogique ou une autre méthode pour ce que je veux.
Le PWM c'est de la modulation de largeur d'impulsion. En clair c'est un signal rectangulaire de fréquence fixe mais dont la largeur du créneau augmente ou diminue. Il suffit de redresser et filtrer ce signal pour obtenir une tension continue dont la valeur moyenne est proportionnelle à la largeur d'impulsion.
Mais n'y a t'il vraiment pas d'autre possibilité de sortir le signal de l'AOA en autre chose que du PWM ? :crying:

Re: Arduino

Publié : dim. mai 07, 2017 11:46 am
par Easy
Tinkle a écrit :Bonsoir,
Tout comme Wilco, je serai intéressé par la doc.
Merci par avance
35th wilco a écrit :Salut Erwand,
Moi perso je suis bien intéressé par ta doc...
Bonjour à vous deux, voilà donc les documents : Google Drive
Je m'aperçois que je n'ai pas sauvegardé tout les docs comme je le croyais. Je vais donc mettre à jour ce google drive au fur et à mesure que je récupère tout ces documents, pour le moment ces documents servent de base de connaissance et d'aide pour les TP (que je peux passer aussi mais il faut protéus).
Hombre a écrit :Salut Erwand59

J ai commencé à réaliser certaines choses comme les plus basiques sur le M2000 dcs
J'ai terminé les radios qui sont fonctionnelles
Mon problème
Ce que j'aimerais réaliser ce sont le AOA et les jauges de carburants. Dans la bibliothèque de dcs bios je passe par des commandes du types "servooutput" donc du PWM. Le but c'est de les réaliser en barregraphe à l'aide de leds. Quel serait les circuits électroniques et programmes associés
Voici ce que j'ai comme argument
" DcsBios::ServoOutput aoaPos(0x3034, PIN, 544, 2400);

Sachant que le signal de sortie est du PWM donc de l'impulsionnelle
Bien sur j'ai vu qu'il existait differents c.i. pour la réalisation de barregraphe à leds
Quel moyen de convertir ce type de signal en signal analogique ou une autre méthode pour ce que je veux

Cordialement
Alors, malheureusement comme dit plus haut, je ne suis qu'en première. Je t'avoue que on ne reste pas moins que des élèves n'ayant pas la science infuse :emlaugh:
Mon prof nous annonce souvent d'aller sur le site "Mon Club Elec" section Arduino en cas de "panne sèche".

Par exemple, il y à une page dédiée au PWM, on y voit que c'est une valeur analogique (=\Numérique) allant de 0 à 255. Pour les curieux du PWM
Il faut rappeler que la carte Arduino évolue dans un certain voltage entre 0 et 5V et que l'on peut parfois avoir besoin d'un 24V pour un moteur (exmple) de ce fait un transistor est requis pour éviter de griller la carte. Donc ça marche avec tout les montages, j'imagine que vu vos niveaux j'ai pas de doute sur ça :yes: .

Pour convertir ce signal analogique en autre méthode je te sort un screen d'un programme que nous avions du faire :

Image

Ce programme est en vrac et non fonctionnel donc c'est normal que deux trois choses grossières soient présentes :emlaugh:

Pour le contexte ici, on à un capteur de température et un moteur (pompe) qui serviront pour un aquarium. La valeur du capteur nous permet de faire réagir le moteur dans la version finale du programme avec des fonctions du style (valeur comprise entre 24 et 26 --> moteur éteint sinon moteur allumé etc...).

On vois dans la boucle "loop" que on lit la valeur analogique du capteur via la fonction "analogRead"
Puis en dessous, "analogWrite" pour assigner une valeur au moteur compris entre 0 et 255 comme on le retrouve sur la page sur le PWM.

J'éspère avoir aidé avec mon modeste niveau :emlaugh:

Re: Arduino

Publié : dim. mai 07, 2017 4:12 pm
par Hombre
Merci pour toutes ses infos
Pour l'instant n'étant pas chez moi je ne peux regarder tous ca

Je sais que je dois impérativement utiliser l argument qui est écrit dans dcs bios. Donc si je voulais mettre 20 leds associés cet argument il va falloir trouver un moyen de faire varier le bandeau avec cette ligne de dcs bios
Lorsque je prends à vide la sortie de ma carte il affiche une valeur entre 0,3v et0,6v. C'est loin des 0-5v?. Je comprends pas

Re: Arduino

Publié : dim. mai 07, 2017 5:22 pm
par matbog
C'est normal, la PWM dont tu parles permet de piloter un servo et un servo ce pilote avec un pulse qui dure entre 0.5ms et 2.5ms (suivant la position désiré) sur une période de 20ms.
Le duty cycle varie donc de 2.5% à 12.5%. Si tu lisse derrière les tensions accessibles varient donc entre 2.5% et 12.5% de 5V.
Je ne comprends pas pourquoi tu t'entête a utiliser une sortie sevroOutput de DCS-BIOS, ce n'est juste pas fait pour ça! As tu lu ma réponse a ta question dans le sujet "Cockpit Modulaire"?

Re: Arduino

Publié : dim. mai 07, 2017 7:14 pm
par Hombre
Oui oui Matbog j'ai lu ta réponse. Merci encore
Je sais que je ne peux piloter que des servos
Mais la personne qui m'a donné la bibliothèque les jauges sont en PWM. Donc je n'ai pas le choix et c'est pour cela que j essaie de trouver un moyen pour une solution

Re: Arduino

Publié : dim. mai 07, 2017 7:20 pm
par Tinkle
Merci beaucoup Erwand pour le lien et les documents.

Re: Arduino

Publié : dim. mai 07, 2017 7:32 pm
par Easy
Tinkle a écrit :Merci beaucoup Erwand pour le lien et les documents.
Au plaisir, j'en ajouterais au fur et à mesure !

Re: Arduino

Publié : dim. mai 07, 2017 8:15 pm
par matbog
Hombre a écrit :Oui oui Matbog j'ai lu ta réponse. Merci encore
Je sais que je ne peux piloter que des servos
Mais la personne qui m'a donné la bibliothèque les jauges sont en PWM. Donc je n'ai pas le choix et c'est pour cela que j essaie de trouver un moyen pour une solution
Alors tu n'as peut être pas compris ma réponse :emlaugh:
Je disais justement que tu avais le choix!
Tu peux prendre la fonction ServoOutput si tu veux piloter un servo OU onAoaFlagChange si tu veux piloter autre chose. Avec la fonction onAoaFlagChange tu dois ajouter un peu de code pour t'adapter a ce que tu met en sortie.
Enfin, il me semble que c'est comme cela que ça marche...

Re: Arduino

Publié : lun. mai 08, 2017 6:05 pm
par Hombre
Je ne maîtrise pas l arduino. En revanche tu vas pouvoir me renseigner. La ligne que j'ai actuellement " DcsBios::ServoOutput aoaPos(0x3034, PIN, 544, 2400); elle sort d'ou?
Je sais qu'elle est dans la bibliothèque que l'on m'a donné. Mais à la base de quel fichier programme dans DCS sort elle?
Bien sur je préférais une sortie basique de 0-5v. Après l'électronique suivra.
J'essaie de voir tous les fichiers LUA afin de voir si je trouve cette fameuse ligne.

Merci

Re: Arduino

Publié : lun. mai 08, 2017 7:08 pm
par matbog
C'est une fonction DCS-BIOS, tu ne la trouvera pas dans les fichier DCS.

Re: Arduino

Publié : lun. mai 08, 2017 7:29 pm
par Hombre
Donc dans la bibliothèque que j'ai.
Mais comment la relation se fait elle? avec ceci


void onAoaPosChange(unsigned int newValue) {
/* your code here */
}
DcsBios::IntegerBuffer aoaPosBuffer(0x3034, 0xffff, 0, onAoaPosChange);
DcsBios::ServoOutput aoaPos(0x3034, PIN, 544, 2400); ceci

Re: Arduino

Publié : lun. mai 08, 2017 7:54 pm
par matbog
Je ne suis pas allé voir dans le code de DCS-BIOS. Si ça t’intéresse c'est là qu'il faut que tu regarde.
Mais pourquoi veux tu savoir ça? Ce n'est pas utile pour faire fonctionner le système.

Re: Arduino

Publié : lun. mai 08, 2017 8:26 pm
par Hombre
Je me dis que si l'argument de ServoOutput est dans la bibliotheque c'est pas pour rien. Je pense pas que je puisse la changer, ou bien ce n'est pas dans la bibliotheque mais à un endroit bien spécifique dans un fichier du jeu?.
Bref si je crois comprendre je pourrais eventuellement changer cet argument et mettre à la place une ligne pour une sortie analogique mais ou??

Re: Arduino

Publié : mer. mai 10, 2017 2:06 pm
par jdaou
Hombre a écrit :Donc dans la bibliothèque que j'ai.
Mais comment la relation se fait elle? avec ceci


void onAoaPosChange(unsigned int newValue) {
/* your code here */
}
DcsBios::IntegerBuffer aoaPosBuffer(0x3034, 0xffff, 0, onAoaPosChange);
DcsBios::ServoOutput aoaPos(0x3034, PIN, 544, 2400); ceci
Je pense qu'il va falloir te former et suivre quelques tuto arduiino car j'ai l'impression que tu rames un peu :emlaugh:

dans la doc DcsBios : IntegerBuffer : The IntegerBuffer class is used to handle integer outputs in a generic way. You have to supply your own code to do something useful with the data. En gros, avec IntegerBuffer, tu va récupérer un entier qui correspondra à la valeur d'aoa.

Dans l'exemple qu'il donne :

Code : Tout sélectionner

void onAltMslFtChange(unsigned int newValue) { /* your code here */ } DcsBios::IntegerBuffer altMslFtBuffer(0x0408, 0xffff, 0, onAltMslFtChange);
en gros, pour comprendre comment ça marche, il faut lire de bas en haut :
DcsBios::IntegerBuffer altMslFtBuffer(0x0408, 0xffff, 0, onAltMslFtChange); -> récupère la valeur depuis dcsbios et la transmets à la fonction onAltMslFtChange.

Au dessus, tu déclares la fonction onAltMslFtChange qui va faire quelque chose de cette donnée : newValue. C'est à toi d'écrire le code de cette fonction ( entre les crochets { } ) qui aura pour rôle de modifier le bargraph en fonction de cette valeur : newValue.

Re: Arduino

Publié : dim. nov. 12, 2017 8:45 pm
par Hombre
Bonjour à tous,

void onAoaPosChange(unsigned int newValue) {
/* your code here */
}
DcsBios::IntegerBuffer aoaPosBuffer(0x3034, 0xffff, 0, onAoaPosChange);

Dan cette fonction quel type de code doit on écrire? Si je veux utiliser un barregraphe de 30 leds par exemple. Sachant qu'avec un LM7219 on peut en piloter 64

Si quelqu'un a un exemple à me montrer

Cordialement