Page 9 sur 11
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 11:47
par Geeks
J'ajouterais qu'on peut aussi faire cela:
Mettons que l'on ai plusieurs résistance sur une voie radio. A chaque résistance, un poussoir qui viens schunter la résistance. La valeur globale de toutes les résistances est changer. Ainsi ->
Btn1 -> 1ms
Btn2 -> 1,1ms
....
Btnx -> 2ms
Donc, c'est même réalisable dans une radio classique sans avoir de potar. Si on veut simplifier, si on appuie sur aucun bouton, on a 2ms (toutes sorties désactivés).
Si on appuie sur un bouton, alors, la valeur change, le créneau change, l'arduino interprète et fait son travail selon la programmation.
Par contre, du coup, je vais tâcher dans les prochaines semaines de commencer un premier projet. Histoire de valider tout ça. Car, si j'en suis convaincu, il faudra quand même travaillé sur une librairie adapté. Ça ne peut se faire que sur table. Mais avant, je veux finir mon soum

Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 12:34
par coaxial
Tiens ça pourrait être appliqué à un contrôle de profondeur
Btn1 plongé 10cm
Btn2 20 cm ..................... trés bien pour des nav en IP tout ça
ect ect .........
BtnX 1mètre ou plus
Avec bien entendu des capteurs de pression assez fiables et sensible , par contre ça c'est cher je crois

Et il faudras prendre la pression de surface sous la quille des soum , car 10cm avec des vagues de 10cm c'est pas précis , dans un lac par exemple quand il y'a un vent assez soutenue , vous me direz c'est assez rare mais ça arrive .
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 12:44
par Geeks
Et oui, en effet, ce serais une solution. A ce moment là, il va falloir que j'étudie comment récupérer une valeur pas trop franche (a cause des vagues) et comment ce système peut se travaillé niveau soft.
Mais ce n'est pas irréalisable.
Par contre j'en ai jamais utilisé

Je vais donc avoir besoin de faire un prototype pour tester ça.

Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 13:22
par gagouze
J'ai de sacré doute car cela vas pas être simple pour que le programme de la carte soit capable de faire la différence
entre une variation de pression dû à une vague et celle du a à la variation de profondeur.
Encore moins quand les deux phénomène sont présent, lors de la navigation en IP
j'ai entendu dire que sur les classe aréthuse le maintient de l'iP part grosse mer ce faisait unique en manuel , l’auto-pilote d’alors
ne savait pas gérer cette situation
Mais l'idée d'avoir une fonction de pilote automatique sur la profondeur de plongé est bone
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 13:32
par coaxial
Exemple :
- prof de consigne sur un pota de l'émetteur = > le récepteur fournit l'info à la carte = > agit sur les barre de plongée
- commande de plongée sur le manche de profondeur = > agit directement sur les mêmes barre de plongée mais en priorité
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 13:42
par Geeks
Oui Coaxial, c'est possible. Mode interruption sur entrée numérique, le cas échéant, un test pour voir si la commande maitre à évolué avant de faire la seconde commande.
Pour répondre à gagouze:
Au niveau de la carte, on a deux solutions. Soit on prends une des entrées analogique et par voie de Convertisseur Analogique Numérique (CAN) on fait un relevé périodique. Soit on dispose d'un signal Pulse Width Modulation (PWM) soit Modulation en largeur d'impulsion (MLI), et un calcul donne la profondeur.
En revanche, on peut peut être contrée le problème avec une double mesure. Exemple vite paf:
Code : Tout sélectionner
time 0ms, Mesure 1 = 10cm
time 1ms, Mesure 2 = 15cm
On est en présence d'une vague donc la moyenne servira.
time 2ms, Mesure 1 = 10cm
time 3ms, Mesure 2 = 10cm
On est en présence normal donc la moyenne encore sera de 10.
Etc...
On peut multiplier les calculs pour plus de précision -> voir boucle for, sinon, on fait cela avec un temps approprié dans une fonction déporté. Exemple:
Code : Tout sélectionner
//Mon code principal
//...
//...
if(pingPression() <= 10) {
//Faire une descente
}
else {
//Faire une remonter
}
int pingPresion() {
int Valeur 1, Valeur 2, Pression;
Valeur 1 = 0;
Valeur 2 = 0;
//Valeur 1
delay(1);
//Valeur 2
Pression = ((Valeur 1 + Valeur 2) / 2)
Return Pression;
}
si je ne me suis pas tromper, on peut ainsi tester et agir en fonction de la pression et passé outre le paramètre de la vague.
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 15:15
par gagouze
geeks >là tu rentre dans le code. , restons pour l'instant à l'étape du cahiers des charges.
ne grillon pas les étapes
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 21:09
par coaxial
J'ai vaguement compris ,

Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 21:20
par Geeks
Gagouze, je ne grille pas les étapes, je montre juste une façon de faire que l'on peut retenir dans le cahier des clauses techniques particulières (cctp)
Content que mon explication soit compréhensible.
Re: Troll - Programmation haute et basse couche
Publié : 05 mars 2012 22:28
par gagouze
Pardon geek je ne voulais pas te froisser
Pour la mesure de la profondeur il est possible d'utiliser un sondeur à ultrason
Comme celui ci :
http://www.gotronic.fr/art-lv-maxsonar-ez1-11492.htm
Bon c'est sûre il est cher j'en conviens
Je ne pense pas qu'il soit sensible aux vagues , ni au tangage ni au roulis du sous-marin