Les interrupteurs

Introduction

Dans notre kit nous avons 4 types de dispositifs qui peuvent servir d'interrupteur :

  • l'interrupteur mécanique simple (push button)
  • le clavier à 16 touches
  • le détecteur infrarouge passif (PIR: Passive InfraRed Sensor)
  • le détecteur tactile capacitif
pushbuttton.png keypad.png pir.png
interrupteur mécanique clavier 16 touches capteur PIR

L'interrupteur mécanique

Si on pousse le bouton d'interruption un contact est établi et un courant peut passer à travers le bouton. Si le bouton est relâché le circuit est interrompu. On peut connecter un tel bouton à un pin GPIO, programmé en entrée avec une résistance "pull-up" également programmé. L'autre pin du bouton est mis à la masse. On lit une valeur de "1" si le bouton est relâché (la tension Vcc appliqué via la résistance "pull-up", et zéro si le bouton est pressé.

L'interrupteur mécanique a le problème que les transitions sont généralement pas propre. Pendent quelques ms son état peut sauter entre zéro et un avant de se stabiliser. On appelle cet effet "switch bouncing" et vous allez trouver sur Internet plusieurs solutions hardware et software pour se débarrasser de ce problème.

Pour lire l'état de l'interrupteur on peut écrire une boucle qui lit la valeur du pin GPIO en intervalles réguliers (polling) ou on peut créer une interruption quand l'état du pin GPIO change. Dans ce cas MicroPython appelle une fonction "callback" ou "interrupt service routine" précédemment définie par le programmeur et enregistré avec la déclaration de l'interruption.

Le contact tactile capacitif

L'ESP32 fourni une interface pour les contacts tactiles capacitifs (TouchPad). On lit une valeur d'un contact faible s'il est touché (quelque dizaines) et in valeur forte (plus que 1000) sinon.

-- Uli Raich - 2021-06-21

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng keypad.png r1 manage 91.4 K 2021-06-21 - 07:59 UliRaich  
PNGpng pir.png r1 manage 143.3 K 2021-06-21 - 07:59 UliRaich  
PNGpng pushbuttton.png r1 manage 48.1 K 2021-06-21 - 07:59 UliRaich  
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2021-06-28 - UliRaich
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback