Go Down

Topic: Mega 2560 - Entrées - sorties analogiques (Read 2044 times) previous topic - next topic

Benobo

Bonjour tout le monde,

Je suis en train d'essayer de faire une radiocommande sur base d'une Mega 2560.
Avec les 2 sticks, les trims et l'écran tactile qui prend 4 entrées analogiques j'arrive déjà au maximum des entrées analogiques.
Peut-être n'est ce pas une bonne idée d'utiliser un écran tactile?
Je voulais vous demander s'il était préférable d'ajouter un (dé)multiplexeur ou un commutateur multi-contacts pour les trims. On ne les utilise pas souvent donc pourquoi pas.
Avec le commutateur je récupèrerais 6 entrées analogiques.

Merci à vous.

BB

_pepe_

#1
Feb 11, 2018, 07:22 pm Last Edit: Aug 19, 2018, 03:21 am by _pepe_
Supprimé

bricofoy

c'est juste, ça. avec deux axes et donc deux trims par stick, + les 4 de l'écran, si je compte bien, on arrive à 12 entrées nécessaires en tout, non ?
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

Benobo

Avec ce type de stick je vois pas comment avoir moins de 4 entrées par stick (Avant-Arrière-Gauche-Droite).
Comme il y a 4 sticks ça donnerait 16 entrées.
J'espère que vous me contredirez mais j'ai déjà vu plusieurs schémas et tous reprenaient ça.

Merci.

BB

bricofoy

#4
Feb 11, 2018, 08:58 pm Last Edit: Feb 11, 2018, 09:00 pm by bricofoy
mais avant-arrière, ou gauche droite, c'est le même potentiomètre, non ? avec le point milieu quand le stick est au centre.

Il est impossible d'avoir le stick à la fois en avant et en arrière ou à gauche et à droite, ou alors je visualise mal un truc...

une photo et/ou un schéma du matos, ça aiderait peut-être pour qu'on comprenne ? (celui que tu as mis est trop petit, c'est illisible)
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

Artouste

Bonsoir

Je ne comprends pas bien comment on peut arriver, avec seulement deux sticks, les trims associés et un écran tactile, à utiliser plus que les 16 entrées analogiques disponibles sur l'Arduino Mega.
bonsoir
+1
 8)

Benobo

Désolé pour la qualité de la photo précédente.
En voici une autre plus claire j'espère et où on voit 12 entrées analogiques utilisées pour les trims et sticks.
Sorry Bricofoy, en effet c'est pour les trims qu'on a besoin de 8 entrées.
Donc on a toujours 12 + 4 pour l'écran ça fait 16.
Mais comme les trims ne sont pas souvent utilisés je pensais utiliser un commutateur pour libérer ces entrées et leur confier d'autres tâches lors d'une utilisation normale de la RC.

Voilà et merci.

Alain46

4 entrées analogiques pour l'écran ?

T'as une datasheet (ou un lien vers la datasheet) des sticks, trim et écran ?
Un programme qui se compile sans erreur n'est pas forcément un programme qui fonctionne.

Benobo

Voilà ce que j'ai : Écran Pixnor tactile 2.8"
En cherchant son mode d'emploi je suis tombé sur différents posts disant qu'il était impossible de le faire fonctionner.
J'ai pu trouvé ce post qui j'espère donne la solution : Câblage Pixnor
Ça m'arrangerait car en insérant directement l'écran sur la Mega il resterait encore moins d'entrées analogiques.
Tu pourras voir que 4 entrées analogiques sont utilisées.
Les sticks sont les composants classique en RC 1 potentiomètre par axe (photo).
Les trims sont des commutateurs à 4 voies.

Merci.

BB.

68tjs

Question à Benebo : connaît tu bien la différence entre :

1) Une entrée sortie digitale.
2) Une entrée analogique.
et
3) Ce que l'équipe arduino appelle à tord une sortie analogique.

Pour une entrée analogique il faut un convertisseur analogique digital (ADC)
 --> il y en a un dans le micro de la UNO et dans celui de la Mega.

Pour une sortie analogique il faut l'inverse c'est à dire un convertisseur digital analogique (DAC)
 --> il n'y en a pas ni dans le micro de la UNO, ni dans celui de la Mega.

Une entrée analogique sur la UNO ou sur la Mega est à l'allumage du micro une entrée digitale.
Sur la Mega les entrées dîtes analogiques sont connectées d'une part aux ports numériques F et K et d'autre part au multiplexeur analogique.

Pour  faire passer une entrée "dîte" analogique en mode Entrée analogique il faut faire un certain nombre de configuration de registres, c'est le rôle de la fonction analogRead(x).

Ce que l'équipe arduino appelle complètement à tord sortie analogique est en fait une sortie numérique qui délivre un signal de fréquence fixe et dont la largeur du  "1" est modulable (PWM).
Sans filtrage énergique derrière cela reste un signal numérique.

Ça c'est pour être certain de se comprendre.

------------------------------------------------------------------------------------------------------------------------------------------------------------


Maintenant j'ai la même réaction :

4 entrées analogiques pour l'écran ?
T'as une datasheet (ou un lien vers la datasheet) des sticks, trim et écran ?
Pourquoi la gestion d'un écran aurait besoin de faire des mesures analogiques ?
C'est peut-être possible mais ce serait  plus que surprenant.

Je pense à autre chose.
Tu as trouvé une affectation des broches sur internet. Ce que je pense c'est que l'utilisation des I/O à capacité de mesure analogique arrangeait l'auteur mais qu'il s'en servait comme des entrées digitales classiques.

La confirmation, ou l'infirmation de ce que je viens d'exposer est facile à faire.
Tu ouvre les bibliothèques de gestion de cet écran dans l'éditeur de ton choix.
Tu utilise la fonction "Chercher" sur "analogRead" pour voir  si cette fonction est utilisée.

Si elle n'est pas utilisée  j'ai raison, si elle l'est alors j'ai tord et il faudrait voir à quoi peu bien servir la mesure analogique dans la gestion d'un écran..

Benobo

Merci pour tes explications sur les entrées-sorties analogiques. C'est clair mais je verrai à l'usage au fur et à mesure de l'avancée de mon affaire.
J'ai encore fouillé sur le net et j'ai trouvé dans un forum anglophone ceci:
Quote
/// The control pins for the LCD can be assigned to any digital or
// analog pins...but we'll use the analog pins as this allows us to
// double up the pins with the touch screen (see the TFT paint example).
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog
Donc ça ne serait pas vraiment obligatoire mais un plus.
Que ferais-tu dans ce cas-là car sinon j'en suis toujours à 16 entrées analogiques?
Sinon j'utilise un commutateur sur les 4 trims pour récupérer 8 entrées.

Merci.


bricofoy

attention, certains écrans utilisent des entrées analogiques pour lire l'écran tactile résistif. Ce n'est donc pas surprenant si il y en a besoin.
En revanche ce que tu décris donne l'impression qu'elles sont juste utilisée comme des broches digitales, là...

Ou alors (si je comprends bien le sens du commentaire en anglais) elles sont utilisées à la fois pour le pilotage de l'écran ET du tactile, une fois en E/S digitale, une fois en entrée analogique. Mais ça me semble quand même un peu étrange...
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

Alain46

#12
Feb 13, 2018, 12:19 am Last Edit: Feb 13, 2018, 12:21 am by Alain46
Dans son cas les pins sont utilisées en E/S digitales
Code: [Select]
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog

A3 = CS(Chip Select)
A2 = CD (Command / Data)
A1 = WR (Write)
A0 = RD (Read)

Mais revenons aux E/S Analogiques
Il y a 2 joysticks (X1/Y1) et (X2/Y2)
Ce qui donne 4 entrées analogiques

Si on rajoute 4 trims (TX1, TY1, TX2, TY2) ça donne 4 entrées analogiques supplémentaires
Soit un total de 8 entrées analogiques

Role du trim dans une télécommande :
Les trims sont de petites manettes situés généralement de part et d'autre des manche de commande permettant d'ajuster en vol (ou en roulant) le neutre d'une commande afin de parfaire la trajectoire du modèle.
Surt certaines télécommandes, ces trims sont effectivement reliés à une entrée analogique du module émetteur.

Sur d'autres modèles, pas forcément bas de gamme, le potentiomètre du trim est cablé en série avec le potentiomètre de l'axe correspondant de la manette. On retrouve souvent un rapport de 10 entre la valeur du potentiomètre de l'axe de la manette et la valeur du potentiomètre du trim.
Par exemple, si la résistance du potentiomètre du l'axe est de 10K, la résistance du potentiomètre du trim est de 1K

Dans cette configration il ne faut que 4 entrées analogiques
Un programme qui se compile sans erreur n'est pas forcément un programme qui fonctionne.

bricofoy

#13
Feb 13, 2018, 12:22 am Last Edit: Feb 13, 2018, 12:22 am by bricofoy
Dans son cas les pins sont utilisées en E/S digitales
pas forcément uniquement, vu ce commentaire :

/// The control pins for the LCD can be assigned to any digital or
// analog pins...but we'll use the analog pins as this allows us to
// double up the pins with the touch screen
(see the TFT paint example).
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog

-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

68tjs

Est-ce qu'il y a un appel a analogRead() dans le code oui ou non ?
Il me semble que c'est la première question à laquelle il faut répondre avant de se lancer dans des suppositions.

Si c'est oui il faut des entrées analogiques
Si c'est non n'importe quelles entrées digitales conviennent

Sauf..........si l'auteur pour des questions de rapidité a besoin de lire/écrire dans un port complet en une seule opération avec les registres.
Dans ce cas peut être qu'il  n'avait plus de port complet de disponible autre que le F et le K..
D'où ma deuxième interrogation : est-ce que le choix des I/O correspond à une exigence de l'écran ou à un confort de câblage ?

Go Up