Bouton pousoir (push button)

Branchement d'un bouton poussoir

Le bouton poussoir permet de fermer ou d'ouvrir un circuit. L'image ci-contre, indique le fonctionnement des boutton poussoir que nous allons utiliser dans les exemples suivants

L'exemple ci-dessous explique comment brancher un bouton pour allumer une lumière DEL.

push button
LED schema
LED Diag
Inversement on peut éteindre une lumière en appuyant sur un bouton en créant un courscircuit tel illustré à l'image de droite. push boutton

Branchement d'un bouton avec le microcontrôleur:

Le circuit ci-dessous, indique la façon adéquate de brancher un bouton au microcontrôleur. Tout dépendant de l'état du bouton, l'interface du microcontrôleur recevra en entrée soit 1 ou 0.

button push button

Le code suivant indique comment utiliser la commande DEBUG pour recevoir une entrée. Le fenêtre DEBUG Terminal affiche à chaque demi-seconde, l'état du bouton. IN3 = 1 si le bouton est appuyé et IN3=0 si le bouton est relâché.

code

' {$STAMP BS2}
' {$PBASIC 2.5}


DO
ESPACEDEBUG ? IN3ESPACE'Affiche l'entrée reçu par l'interface P3
ESPACEPAUSE 500
LOOP
ENDESPACE

code

debug in

Bouton et lumière DEL

Dans cet exemple, nous allons utiliser un bouton pour allumer une lumière par l'intermédiare du microcontrôleur. Construisez les deux circuits suivants et exécuter le code afin de clignoter une lumière lorsque le bouton est appuyé.

bouton

La commdande IF THEN ELSE permet d'exécuter du code selon une condition.

code

' {$STAMP BS2}
' {$PBASIC 2.5}


DO
ESPACEDEBUG ? IN3ESPACE'Affiche l'entrée reçu par l'interface P3

ESPACEIF (IN3 = 1) THEN
ESPACEHIGH 14
ESPACEPAUSE 50
ESPACELOW 14
ESPACEPAUSE 50
ESPACEELSE
ESPACEPAUSE 100
ESPACEENDIF
ESPACE
LOOP
ENDESPACE

code

Bouton et deux lumières DEL

 

bouton

bouton

Le code suivant indique comment utiliser la structure IF then ELSEIF, ELSE afin d'allumer l'une des deux DEL.

code

' {$STAMP BS2}
' {$PBASIC 2.5}


DO
ESPACEDEBUG
HOME
ESPACEDEBUG ? IN4
ESPACEDEBUG ? IN3
ESPACEIF (IN3 = 1) THEN
ESPACEHIGH
14
ESPACEPAUSE 50
ESPACEELSEIF (IN4 = 1) THEN
ESPACEHIGH 15
ESPACEPAUSE 50
ESPACEELSE
ESPACEPAUSE
50
ESPACEENDIF
ESPACELOW
14
ESPACELOW 15
ESPACEPAUSE 50
LOOP
ENDESPACE

code

Comment allumé les 2 lumières en même temps : opérande AND

code

' {$STAMP BS2}
' {$PBASIC 2.5}


DO
ESPACEIF
(IN3 = 1) AND (IN4 = 1) THEN
ESPACEHIGH 14
ESPACEHIGH 15
ESPACEPAUSE 50
ESPACEELSEIF (IN3 = 1) THEN
ESPACEHIGH
14
ESPACEPAUSE 50
ESPACEELSEIF (IN4 = 1) THEN
ESPACEHIGH
15
ESPACEPAUSE 50
ESPACEELSE
ESPACELOW
14
ESPACELOW 15
ESPACEENDIF
LOOP

ENDESPACE

code



Exercices

  1. Faites clignoter un lumière rouge et jaune en alternance
  2. Créez un effet de lumières style discothèque en utilisant plusieurs lumières. Dans le cas de plusieurs lumière (plus de 10), il est possible que la batterie 9Volt ne soit pas suffisante pour alimenter correctement l'ensemble du circuit. Dans ce cas, il est recommandé d'utiliser un adapteur ural de 6 à 9 volt à environ 60mA.