====== Jalon 1: La classe ''Button'' ====== [[in202:seance_6|Retour à la séance 6]] La classe ''Button'' est une classe //composant//. En ce sens, il est possible de faire dériver la classe ''Button'' de la classe ''CustomComponent'' que vous avez implanté lors de la séance n° 5 et qui devrait ressembler au code suivant : class CustomComponent { private: const char* m_name; bool m_debug; protected; CustomComponent(const char* name, bool debug): m_name(name), m_debug(debug) {} public: bool debugIsActive() const { return m_debug; } const char* getName() const { return m_name; } }; La classe ''Button'' dérivera donc de la classe ''CustomComponent''. Comme pour la classe ''Led'', il sera nécessaire de définir : * les variables d'état du composant, * les constructeurs, * les accesseurs (les fonctions qui permettent de lire l'état du composant), ===== Question n°1 ===== Faire la liste : * des variables d'état du composant, * des constructeurs, * des accesseurs (les fonctions qui permettent de lire l'état du composant), Est-ce que ce composant supporte-t-il des actions ? ===== Question n°2 ===== Implanter la classe ''Button'', vérifier que la classe ''Button'' compile correctement. ===== Question n°3 ===== La classe que vous avez réalisé definie un composant purement **logiciel**, elle n'est pas connectée au composant physique. Il va falloir ajouter les instructions pour pouvoir récupérer l'état du composant physique. Pour ce faire nous devons penser un : * à initialiser le port auquel le composant physique est connecté * à lire l'état du port (le niveau de tension pour connaître l'état du bouton, pressé ou non pressé). Vous trouverez les informations sur les fonctions ''pinMode()'' et ''digitalRead()'' sur la [[https://www.arduino.cc/reference/en/|page ici référencée]]. Implanter les instructions physiques et vérifier que tout compiler correctement. ====== Navigation ====== Suivant: ** Jalon 2: **[[.:jalon_2|Allumer/Eteindre la diode interne à partir de ''Button'']]