Les dessoudeurs de l'extrême
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Le forum pour tous les bidouilleurs electroniciens, du novice à l'expert !
 
AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Bienvenue ! Des questions sur l'électronique? Ou passionnés par ce domaine? Partageons nos savoirs et compétences en vous inscrivant.

 

 Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?

Aller en bas 
4 participants
AuteurMessage
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyJeu 20 Déc - 7:17

Bonjour à tous,

Une méthode pour connecter plusieurs boutons poussoirs à un microcontrôleur utilise les entrées analogiques. Chaque bouton poussoir configure différemment un réseau de résistances pour créer un diviseur de tension. La tension ainsi produite, unique pour chaque bouton, est lue par le convertisseur A/D.

On trouve souvent le schéma suivant (repris des notes d'applications de Freescale et présenté dans le livre de Ch. Tavernier sur l'Arduino):

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Screen10

On peut aussi utiliser le schéma suivant:

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Screen12

Quels sont, à votre avis, les avantages et inconvénients de chaque montage ?

Montage 1: poussoirs connectés à la masse
La sortie du diviseur de tension est directement reliée à l'entrée analogique du microcontrôleur, ce qui réduit le risque de perturbation.
Selon l'endroit où on dispose les boutons poussoirs, on ne véhicule pas d'autre tension que celle de la masse hors du montage.

Par contre, pour obtenir des tensions réparties uniformément, il faut utiliser des valeurs de résistances différentes, à calculer !

Montage 2: poussoirs connectés entre les résistances et l'entrée analogique
Il suffit de choisir N résistances de même valeurs pour obtenir des tensions réparties uniformément.

Les sorties du diviseur de tension sont reliées à l'entrée analogique via les poussoirs, d'où allongement des fils et risque de perturbation.
Risque de court-circuit avec la masse.
Revenir en haut Aller en bas
gregelec
Membre actif
Membre actif



Messages : 114
Date d'inscription : 01/07/2012
Age : 63
Localisation : Vivoin 72170 (Le Mans)
Emploi/loisirs : ADD/AlertGasoil

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptySam 22 Déc - 6:26

Très utilisé en TV et sur les moniteurs CRT depuis au moins 20 ans une seule pin de µcontroleur pour gérer X boutons
Revenir en haut Aller en bas
http://www.alertgasoil.com
NeoTheSpy
Membre intéressé
Membre intéressé



Messages : 69
Date d'inscription : 22/05/2012
Age : 41
Localisation : Tarn :)
Emploi/loisirs : Préparateur / Mécanicien Fendt

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyDim 23 Déc - 18:02

C'est très intéressant, du moins pour les projets que je potasse mais si on appuis sur deux boutons en même temps, il y en aura un qui sera ignoré non ?
Revenir en haut Aller en bas
gregelec
Membre actif
Membre actif



Messages : 114
Date d'inscription : 01/07/2012
Age : 63
Localisation : Vivoin 72170 (Le Mans)
Emploi/loisirs : ADD/AlertGasoil

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyDim 23 Déc - 20:29

NeoTheSpy a écrit:
C'est très intéressant, du moins pour les projets que je potasse mais si on appuis sur deux boutons en même temps, il y en aura un qui sera ignoré non ?

Avec le premier montage oui mais pas avec le deuxieme si tu calcule bien les résistances tu doit pouvoir tout gerer et meme detecter l'appui de 2 touches voir 3
Revenir en haut Aller en bas
http://www.alertgasoil.com
NeoTheSpy
Membre intéressé
Membre intéressé



Messages : 69
Date d'inscription : 22/05/2012
Age : 41
Localisation : Tarn :)
Emploi/loisirs : Préparateur / Mécanicien Fendt

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 24 Déc - 1:21

Donc si je suis toujours, dans le montage numéro 2, une fois qu'on a calculé les tensions pour chaque bouton, il faut ensuite utiliser la "loi des mailles" pour calculer la tension sur l'entrée analogique pour en déduire quels boutons sont appuyés, d'où le besoin d'avoir des résistances de même valeur ?
Revenir en haut Aller en bas
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 14 Jan - 7:28

Bonjour à tous,

J'ai créé une feuille de tableur (avec LibreOffice mais compatible Excel) pour calculer les résistances du 1er montage. Testé avec 5 et 6 résistances, c'est Ok.

Si quelqu'un est intéressé, je peux lui envoyer le fichier par MP.

Bon début de semaine.
Revenir en haut Aller en bas
Quentin
Admin
Admin
Quentin


Messages : 419
Date d'inscription : 21/04/2012
Age : 30
Localisation : Haute-Vienne (87)
Emploi/loisirs : Collecto-bédétiste !

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 14 Jan - 18:46

Bonsoir Savignyexpress,

je viens d'activer la fonction "pièces-jointes" dans les messages, donc si tu veux, tu peux mettre ton fichier en "libre service" (pour éviter de devoir passer par mp).
Cette fonctionnalité est bien entendu disponible pour tout le monde. Après chacun est libre de partager ses fichiers comme il le souhaite (partage "contrôlé" par mp ou bien "libre service"). hiboux
(Si besoin, je pourrai faire un mini-tuto pour cette fonctionnalité, mais je pense que tout le monde trouvera facilement comment l'utiliser Wink )

bonne soirée à tous !
Revenir en haut Aller en bas
https://dessoudeurs-ex.lebonforum.com
gregelec
Membre actif
Membre actif



Messages : 114
Date d'inscription : 01/07/2012
Age : 63
Localisation : Vivoin 72170 (Le Mans)
Emploi/loisirs : ADD/AlertGasoil

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 14 Jan - 19:04

Tiens je teste les pièces jointes mais je ne vois pas comment faire ???
Revenir en haut Aller en bas
http://www.alertgasoil.com
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 14 Jan - 19:31

Bonsoir Quentin,

Depuis mon profil, pièces jointes, j'aboutis sur une liste vide sans aucun bouton me permettant d'uploader des pièces jointes. Est-ce que je fais quelque chose de faux ?

Merci d'avance, bonne soirée et meilleures salutations.
Revenir en haut Aller en bas
Quentin
Admin
Admin
Quentin


Messages : 419
Date d'inscription : 21/04/2012
Age : 30
Localisation : Haute-Vienne (87)
Emploi/loisirs : Collecto-bédétiste !

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyLun 14 Jan - 21:23

Alors en fait, l'insertion d'une pièce jointe se fait directement dans l'édition d'un message.
Voilà un petit scan qui en dira plus que des longues phrases incompréhensibles pour localiser la chose:

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Piece_10


(je découvre comme vous cette fonctionnalité et n'en connait donc pas complétement le fonctionnement)

N'hésitez pas à m'informer si vous rencontrez un soucis hiboux
Revenir en haut Aller en bas
https://dessoudeurs-ex.lebonforum.com
Savignyexpress
Membre actif
Membre actif
Savignyexpress


Messages : 110
Date d'inscription : 16/05/2012
Age : 61
Localisation : Suisse
Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Clavier "analogique": calcul des résistances   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? EmptyVen 18 Jan - 17:32

Bonsoir à tous,

M'inspirant des notes d'application de Freescale, j'ai créé un fichier Excel pour calculer les résistances du montage suivant:

Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Screen10

La 1ère ligne du fichier contient les valeurs suivantes:

  • R1: valeur de la résistance pull-up entre Vcc et l'entrée AD du microcontrôleur.
  • Vcc: tension d'alimentation.
  • Max AD: valeur maximale retournée par le convertisseur ADC, ici 1023 = 2^10 - 1, pour Atmega, à adapter.
  • Incrément: subdivision de la tension. Pour 5 poussoirs =1/5, pour 6 poussoirs = 1/6.


Les colonnes contiennent les valeurs suivantes:

  • i: numéro des autres résistances. R2: 1er poussoir, R3: 2ème poussoir, etc.
  • V0/Vcc: rapport de tension à produire à l'entrée AD du microcontrôleur.
  • Req: résistance équivalente à la somme des résistances entre l'entrée AD et le poussoir.
  • Ri brut: valeur brute de la résistance no. i.
  • Req norm: résistance équivalente à la somme des résistances entre l'entrée AD et le poussoir, obtenue avec des valeurs normalisées E12.
  • Ri norm min: résistance normalisée <= valeur brute de Ri.
  • Ri nomr max; résistance normalisée >= valeur brute de Ri.
  • Ri norm: résistance normalisée la plus proche de Ri brute.
  • V0/Vcc norm: rapport de tension avec les valeurs normalisées.
  • écart: entre le rapport de tension idéal et celui obtenu avec les valeurs normalisées.
  • Courant: courant circulant dans les résistnaces.
  • V0: tension à l'entrée AD.
  • Valeur AD: valeur correspondante produite par le convertisseur AD.
  • Seuils: valeurs intermédiaires à stocker dans la table pour déterminer les poussoirs pressés.


En lignes 10 et 12, on trouve encore 2 valeurs de seuils pour respectivement le dernier seuil à 5 poussoirs, le dernier seuil à 6 poussoirs.

Si vous choisissez un Incrément = 1/5, la ligne 8 (i = 6) est en erreur, c'est tout à fait normal.

Encore un dernier mot sur la détermination des valeurs normalisées de résistances. Elles sont dans le tableau à partir de la ligne 15. C'est parce que la fonction de recherche retourne la valeur <= que les 2 colonnes sont décalées. On utilise la colonne B pour la valeur min et la colonne C pour la valeur max, puis on prend la valeur la plus proche (en valeur absolue) pour Ri norm.

Ce tableau contient les valeurs E12, mais c'est adaptable si vous avez des séries de résistances E24 ou autre.

Bonne fin de semaine, meilleures salutations.
Fichiers joints
Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? AttachmentClavierAnalogique.xls
Vous n'avez pas la permission de télécharger les fichiers joints.
(13 Ko) Téléchargé 21 fois
Revenir en haut Aller en bas
Contenu sponsorisé





Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty
MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? Empty

Revenir en haut Aller en bas
 
Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un nouveau parmi vous...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Les dessoudeurs de l'extrême :: AIDES & ASTUCES :: LA SECTION PROGRAMMATION :: GÉNÉRALITÉ SUR LES MICRO-CONTRÔLEURS-
Sauter vers: