====== Jalon 3: Commande la LED à partir du bouton ===== [[in202:seance_7|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: **[[.:jalon_1| La détection des appuis courts, longs et très longs sur le bouton.]] Suivant: ** Jalon 4: **[[.:jalon_4|Ajouter un mode clignotement]]