User Tools

Site Tools


in202:seance_7:jalon_3

Jalon 3: Commande la LED à partir du bouton

Retour à la séance 7

L'idée la suivante :

  • Un appui court sur le bouton, nous augmentons ou nous diminuons l'intensité lumineuse de la diode.
  • Un appui long sur le bouton,
    • si le mode consiste à augmenter la luminosité, nous allons passer dans le mode nous diminuons la luminosité.
    • si le mode consiste à diminuer la luminosité, nous allone passer dans le mode nous augmentons la luminosité de la diode.

Phase 1

Etape 1

Dériver de la classe Button que vous avez modifié au jalon précédent en ajoutant les méthodes virtuelles OnShortButtonClick(), OnLongButtonClick(), OnVeryLongButtonClick() une classe LedButton.

Etape 2

Modifier les fonctions OnShortButtonClick(), OnLongButtonClick() pour implanter le comportement désiré. Il faudra peut-être ajouter un nouveau champs m_increasingOrDecreasing qui indique si on augmente ou l'on diminue l'intensité.

Phase 2

Le problème, c'est que nous n'avons pas d'informations sur le mode actuellement activé. Il serait bien d'avoir un indicateur visuelle qui nous indique si nous augmentons ou nous diminuons l'intensité lumineuse.

Etape 1

Nous proposons d'utiliser la diode interne pour faire cela. Cette diode est connectée au port 13.

Modifier le code précédent pour que

  • la diode soit allumée quand le mode actif consiste à diminuer l'intensité lumineuse,
  • la diode est éteinte quand le mode actif consiste à augmenter l'intensité lumineuse,

Etape 2

Tester le bon fonctionnement de votre code.

Précédent: Jalon 2: La détection des appuis courts, longs et très longs sur le bouton.

Suivant: Jalon 4: Ajouter un mode clignotement

in202/seance_7/jalon_3.txt · Last modified: 2022/11/18 10:45 (external edit)