Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fr:examples:digi:switch [2010/03/09 13:06] sdeniaudfr:examples:digi:switch [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 17: Line 17:
 | {{:examples:digi:switch:switch_sch_dpst.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_2_spst.png?100|}} | | {{:examples:digi:switch:switch_sch_dpst.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_spdt.png?100|}} | {{:examples:digi:switch:switch_sch_2_spst.png?100|}} |
  
-Pour utiliser un interrupteur comme capteur connecté à un microcontrôleur, l’un des contacts de l’interrupteur est connecté à la barrette du microcontrôleur, qui doit être configuré comme une entrée. Si le contact est connecté à la terre ou un potentiel en entrée, le taux de bits du bus de la barrette du microcontrôleur est changé. Il est logique d'utiliser l'interrupteur de basculement, qui permet de connecter de connecter un contact au contact voulu (dans le cas de la terre ou d’une entrée), mais ce n'est pas si simple. La raison est qu’au moment de changer les connexions les contacts ne sont pas connectés. Ce moment est très court (quelques millisecondes), mais pendant ce moment les barrettes dentrée du microcontrôleur ne sont connectés à rien et il n’y pas de valeur définie. En raison de l'interférence électromagnétique (qui est partout) les barrettes d’entrée du microcontrôleur peuvent prendre momentanément les valeurs arbitraires de 0 ou 1.+Pour utiliser un interrupteur comme capteur connecté à un micro-contrôleur, l’un des contacts de l’interrupteur est connecté à la broche du micro-contrôleur et doit être configuré comme une entrée dans le programme. Si le contact est connecté à la terre ou à un potentiel en entrée, le taux de bits du bus de la broche du micro-contrôleur est modifié. Il est logique d'utiliser l'interrupteur à bascule (//toggle//), qui permet de connecter  un contact avec le contact voulu (dans le cas de la terre ou d’une entrée). Dans notre cas, ce n'est pas si simple. La raison est qu’au moment de changer les connexions les contacts ne sont pas connectés. Le délai est très court (quelques millisecondes), mais pendant ce moment la broche d'entrée du micro-contrôleur n'est connectée à rien et par conséquent une valeur indéfinie. En raison de l'interférence électromagnétique (qui existe partout) la broche d’entrée qui n'est connectée à rien peut prendre les valeurs 0 ou 1 aléatoirement.
  
-Les interférences rendent l'utilisation des interrupteurs plus compliqué. Une des méthodes principales pour éviter les résultats indéterminés est de connecter l’entrée du microcontrôleur à la terre ou le potentiel d’entrée à travers une résistance. Une résistance remplissant cette fonction est appelée résistance pull-down ou pull-up. Habituellement la résistivité d’une résistance pull-down ou pull-up varie de 1 kΩ à 1 MΩ. Quand l’interrupteur est ouvert, la tension restante en entrée de la résistance est connectée. Quand l’interrupteur est fermé, l’inversion de la tension est appliquée à l’entrée parce que la résistivité de l’interrupteur est plus petite (proche de zéro) que celle de la résistance. C’est typiquement ce qu’on appelle une //volt-box//.+Les interférences rendent l'utilisation des interrupteurs plus compliquée. Une des méthodes principales pour éviter des résultats indéterminés est de connecter l’entrée du micro-contrôleur à la terre ou au potentiel d’entrée au travers d'une résistance. Une résistance remplissant cette fonction est appelée résistance de rappel vers le niveau bas (//pull-down//) ou vers le niveau haut (//pull-up//). Habituellement la résistance d’une résistance //pull-down// ou //pull-up// varie de 1 kΩ à 1 MΩ. Quand l’interrupteur est ouvert, l'entrée est à la charge de la tension de la résistance. Quand l’interrupteur est fermé, l'entrée reôit la tension de l'interrupteur puisque la résistance de ce dernier est bien plus faible (proche de zéro) que celle de la résistance. C’est typiquement ce qu’on appelle une //volt-box//.
  
-[{{  :examples:digi:switch:switch_input_pull-up.png?200|Schéma de connexion d’un interrupteur avec une résistance pull-up }}]+[{{  :examples:digi:switch:switch_input_pull-up.png?200|Schéma de connexion d’un interrupteur avec une résistance //pull-up//}}]
  
-Avec une résistance pull-up ou pull-down un simple interrupteur deux contacts peut être utilisé comme un capteur, l’interrupteur connecte l’entrée avec un potentiel et la résistance à l’autre potentiel. Habituellement les microcontrôleurs sont fabriqués en tenant compte e l’utilisation des résistances pull-up ou pull-down, il n’y a donc pas besoin d’ajouter de résistance au circuit, par exemple le microcontrôleur AVR des résistances pull-up de 20 kΩ – 50kΩ sur les 10 barrettes+Avec une résistance //pull-up// ou //pull-down//, un simple interrupteur à deux contacts peut être utilisé comme capteur, l’interrupteur connecte l’entrée avec un potentiel et la résistance à l’autre potentiel. Habituellementles micro-contrôleurs ont une option intégrée de résistance //pull-up// ou //pull-down//, il n’y a donc pas besoin d’ajouter de résistance au circuit. Par exemple, les micro-contrôleurs AVR ont des résistances //pull-up// de 20 kΩ – 50kΩ sur leurs broches d'E/S.  
-Cependant, les interrupteurs mécaniques ont encore un problème – //debounce// de l’interrupteur. C’est la cause de beaucoup de petites déconnexions pendant que l’interrupteur devrait être connecté. Nous aborderons cette question dans le chapitre suivant cela n’affectant pas les exemples dans ce chapitre.+Cependant, les interrupteurs mécaniques ont encore un problème – le rebond de l’interrupteur. Cela cause plusieurs petites déconnexions très courtes lors de la connexion. Nous aborderons cette question dans le chapitre suivantcela n’affectant pas les exemples dans ce chapitre.
  
  
-===== Entrainement =====+===== Pratique =====
  
  
-Sur le module entrée-sortie du //home laboratory//, il y a trois interrupteurs de type bouton poussoir. Ces interrupteurs connectent les barrettes du microcontrôleur à la terre, mais pas directement par l’intermédiaire de la résistance, la raison pour cela est d’éviter d’avoir un petit circuit en appuyant sur le bouton lorsque la barrette est configurée comme une sortie. L’interrupteur a aussi une résistance pull-up, mais celle-ci a une plus grande résistivité que les résistances de protection, ainsi en appuyant sur le bouton, il y a approximativement une tension de 0V dans la barrette correspondante.+Sur le module entrée-sortie du //HomeLab//, il y a trois interrupteurs de type bouton poussoir. Ces interrupteurs connectent les broches du micro-contrôleur à la terre, mais pas directement par l’intermédiaire d'une résistance, afin d’éviter d’avoir un petit circuit en appuyant sur le bouton lorsque les broches sont configurées comme des sorties. L’interrupteur a aussi des résistances //pull-up//, mais celle-ci a une plus grande résistance que les résistances de protection. Ainsi en appuyant sur le bouton, il y a approximativement une tension de 0V dans la broche correspondante.
  
-Les interrupteurs sont sur les barrettes PC0, PC1 et PC2. Pour lire le statut des interrupteurs, les barrettes correspondantes du microcontrôleur peuvent être configurées comme des entrées. Il n’est pas nécessaire de mettre la résistance pull-up interne de l’AVR, parce que la barrette est déjà équipée d’une résistance externe. Lorsque le bouton est appuyé vers le bas, la barrette correspondante est à la valeur 0, lorsque le bouton est relâché, cette valeur passe à 1, l’utilisation de LED d’indication est possible.+Les interrupteurs sont sur les broches PC0, PC1 et PC2. Pour lire le statut des interrupteurs, les broches correspondantes du micro-contrôleur doivent être configurées comme des entrées. Il n’est pas nécessaire de mettre la résistance //pull-up// interne de l’AVR en fonctionnement, parce que la broche est déjà équipée d’une résistance externe. Lorsque le bouton est enfoncéle bus de la broche correspondante est à la valeur 0, lorsque le bouton est relâché, cette valeur passe à 1. L’utilisation de LED est possible. pour voir si le micro-contrôleur comprend l'action sur le bouton.
  
-Le code source suivant permettant l’utilisation des boutons est basé sur la librairie //home lab//, qui a été présentée précédemment dans l’exemple des LED.+L'exemple de code source suivant permettant l’utilisation des boutons est basé sur la bibliothèque de broches du //HomeLab//, qui a été présentée précédemment dans l’exemple des LED.
  
 <code c> <code c>
Line 76: Line 76:
  
  
-Dans l’exemple donné les LEDs et les boutons sont définis dans une liste – cela permet des les utiliser dans une boucle //for//En commençant ce programme, les barrettes des LEDs sont configurés comme des sorties et les boutons comme des entrées. Puis dans le programme, une boucle sans fin récupère l’état des boutons et détermine l’état des LEDs correspondantes. Le premier bouton allume la LED verte, le deuxième la jaune et le troisième la rouge. +Dans cet exempleles LEDs et les boutons sont définis comme des listes – cela permet des les utiliser dans une boucle ''For''Lors du lancement du programme, les broches des LEDs sont configurées comme des sorties et les boutons comme des entrées. Puis dans le programme, une boucle sans fin récupère constamment l’état des boutons et détermine l’état des LEDs correspondantes. Le premier bouton allume la LED verte, le deuxième la jaune et le troisième la rouge. 
  
 /* /*
fr/examples/digi/switch.1268140010.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0