Le forum pour tous les bidouilleurs electroniciens, du novice à l'expert !
 
AccueilAccueil  CalendrierCalendrier  FAQFAQ  RechercherRechercher  MembresMembres  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.

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Savignyexpress
Membre actif
Membre actif
avatar

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

MessageSujet: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Jeu 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):



On peut aussi utiliser le schéma suivant:



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
Voir le profil de l'utilisateur
gregelec
Membre actif
Membre actif


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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Sam 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
Voir le profil de l'utilisateur http://www.alertgasoil.com
NeoTheSpy
Membre intéressé
Membre intéressé


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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Dim 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
Voir le profil de l'utilisateur
gregelec
Membre actif
Membre actif


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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Dim 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
Voir le profil de l'utilisateur http://www.alertgasoil.com
NeoTheSpy
Membre intéressé
Membre intéressé


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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lun 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
Voir le profil de l'utilisateur
Savignyexpress
Membre actif
Membre actif
avatar

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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lun 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
Voir le profil de l'utilisateur
Quentin
Admin
Admin
avatar

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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lun 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
Voir le profil de l'utilisateur http://dessoudeurs-ex.lebonforum.com
gregelec
Membre actif
Membre actif


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

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

Tiens je teste les pièces jointes mais je ne vois pas comment faire ???
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.alertgasoil.com
Savignyexpress
Membre actif
Membre actif
avatar

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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lun 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
Voir le profil de l'utilisateur
Quentin
Admin
Admin
avatar

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

MessageSujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?   Lun 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:




(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
Voir le profil de l'utilisateur http://dessoudeurs-ex.lebonforum.com
Savignyexpress
Membre actif
Membre actif
avatar

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

MessageSujet: Clavier "analogique": calcul des résistances   Ven 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:



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
ClavierAnalogique.xls
Vous n'avez pas la permission de télécharger les fichiers joints.
(13 Ko) Téléchargé 19 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
Lire l'état d'un bouton poussoir parmi plusieurs en analogique ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Slaanesh : talon hauts et bouton sur la fesse droite!
» Compagnons de voyage pour lire un livre en Champagne
» IMPÉRATIF DE LIRE ce règlement avant toute transaction
» Aimez vous lire ?
» Pouch' le bouton façon Zelda ! (le fourre-tout)

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: