Bouton poussoir à souder sur CI | Bouton Poussoir à souder sur fils | Microswitch (microrupteur) à souder sur CI |
* Le port du microcontrôleur est configuré en entrée, c'est-à-dire qu'il va lire une information. * Tant que le bouton poussoir n'est pas actionné, le port est relié au 5V et le microcontrôleur lit un état haut (1). * Dès que l'on actionne le bouton poussoir, le port est relié au 0V et le microcontrôleur lit un état bas (0) |
INPUT 0 lecture: IF PIN0=0 THEN message GOTO lecture message: DEBUG «bouton poussoir appuyé» GOTO lecture | => => => => => => => | configure le port 0 en entrée (pour la lecture) sous-programme lecture si le port 0 est à l'état bas (0) alors va au sous-programme message sinon va au sous-programme lecture sous-programme message affiche à l'écran le message "bouton poussoir appuyé" va au sous-programme lecture |
R1 = 10 kOhms (Marron Noir Orange) SW = Microswitch à levier à souder sur CI Prévoir 3 fils de couleurs différentes pour P, 0V et 5V |
Le port du microcontrôleur est utilisé en entrée analogique, c'est-à-dire qu'au lieu de lire 2 états (0 ou 1) comme précédemment, il peut lire des valeurs comprises entre 0 et 255. Lorsqu'aucun des poussoirs n'est enfoncé le microcontrôleur mesure le temps de décharge du condensateur au travers des 3 résistances et convertit cette mesure en une valeur comprise entre 0 et 255. Si l'un des poussoirs est enfoncé, la somme des résistances diminue ainsi que le temps de décharge. La valeur convertie sera modifiée en conséquence. |
SYMBOL val=b0 SYMBOL ech=33 detecte: POT 0,ech,val IF val<210 AND val>200 then msg1 IF val<130 AND val>120 then msg2 IF val<60 then msg3 GOTO detecte msg1: DEBUG «bouton 1 pressé» GOTO detecte msg2: DEBUG «bouton 2 pressé» GOTO detecte msg3: DEBUG «2 boutons pressés» GOTO detecte | => => => => => => => => => => => => => => => => => | réserve un espace en mémoire pour stocker les valeurs lues déclare que la variable "ech" contient 33 (valeur de l'échelle de lecture à étalonner avant de lancer le programme, voir plus bas) sous-programme detecte lit sur le port 0 et stocke la valeur dans "val" si la valeur est comprise entre 200 et 210 alors va à msg1 si la valeur est comprise entre 120 et 130 alors va à msg2 si la valeur est inférieure à 60 alors va à msg3 sinon va au sous-programme detecte sous-programme msg1 affiche à l'écran le message "bouton 1 pressé" va au sous-programme detecte sous-programme msg2 affiche à l'écran le message "bouton 2 pressé" va au sous-programme detecte sous-programme msg3 affiche à l'écran le message "2 boutons pressés" va au sous-programme detecte |
R1 = 6,8 kOhms (Bleu, Gris, Rouge) R2 = 10 kOhms (Marron, Noir, Orange) R3 = 22 kOhms (Rouge, Rouge, Orange) C1 = Condo polyester 100 nF SW1, SW2 = Microswitch à levier Prévoir 2 fils de couleurs différentes pour P et 0V |