| Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? | |
|
|
Auteur | Message |
---|
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: 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 masseLa 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 analogiqueIl 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. | |
|
| |
gregelec Membre actif
Messages : 114 Date d'inscription : 01/07/2012 Age : 63 Localisation : Vivoin 72170 (Le Mans) Emploi/loisirs : ADD/AlertGasoil
| Sujet: 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 | |
|
| |
NeoTheSpy Membre intéressé
Messages : 69 Date d'inscription : 22/05/2012 Age : 41 Localisation : Tarn :) Emploi/loisirs : Préparateur / Mécanicien Fendt
| Sujet: 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 ? | |
|
| |
gregelec Membre actif
Messages : 114 Date d'inscription : 01/07/2012 Age : 63 Localisation : Vivoin 72170 (Le Mans) Emploi/loisirs : ADD/AlertGasoil
| Sujet: 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 | |
|
| |
NeoTheSpy Membre intéressé
Messages : 69 Date d'inscription : 22/05/2012 Age : 41 Localisation : Tarn :) Emploi/loisirs : Préparateur / Mécanicien Fendt
| Sujet: 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 ? | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: 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. | |
|
| |
Quentin Admin
Messages : 419 Date d'inscription : 21/04/2012 Age : 30 Localisation : Haute-Vienne (87) Emploi/loisirs : Collecto-bédétiste !
| Sujet: 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"). (Si besoin, je pourrai faire un mini-tuto pour cette fonctionnalité, mais je pense que tout le monde trouvera facilement comment l'utiliser ) bonne soirée à tous ! | |
|
| |
gregelec Membre actif
Messages : 114 Date d'inscription : 01/07/2012 Age : 63 Localisation : Vivoin 72170 (Le Mans) Emploi/loisirs : ADD/AlertGasoil
| Sujet: 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 ??? | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: 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. | |
|
| |
Quentin Admin
Messages : 419 Date d'inscription : 21/04/2012 Age : 30 Localisation : Haute-Vienne (87) Emploi/loisirs : Collecto-bédétiste !
| Sujet: 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 | |
|
| |
Savignyexpress Membre actif
Messages : 110 Date d'inscription : 16/05/2012 Age : 61 Localisation : Suisse Emploi/loisirs : Ingénieur informaticien, modélisme ferroviaire, électronique
| Sujet: 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é 21 fois
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? | |
| |
|
| |
| Lire l'état d'un bouton poussoir parmi plusieurs en analogique ? | |
|