User Tools

Site Tools


in202:seance_6:jalon_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in202:seance_6:jalon_2 [2021/05/02 09:26]
bmonsuez
in202:seance_6:jalon_2 [2022/11/18 10:47] (current)
Line 12: Line 12:
  
 {{:​in202:​seance_6:​4PinsPressButtonPressedSchematic.png?​600|Fonctionnement quand le bouton est appuyé}} {{:​in202:​seance_6:​4PinsPressButtonPressedSchematic.png?​600|Fonctionnement quand le bouton est appuyé}}
 +
 +===== Question 1 ======
 +
 +Positionner correctement le bouton sur la //​breadboard//​. ​
 +
 +Pour mémoire, vous avez le schéma de connexion de la //​breadboard//​ qui est rappelé par le schéma suivant :
 +
 +{{:​in202:​seance_6:​breadsmall.png?​600|}}
 +
 +**Il faudra faire attention à ce que deux pins ne soient pas sur la même ligne de connexion de la breadboard.**
 +
 +===== Question 2 =====
 +
 +==== Question 2.1 ====
 +
 +Une fois que vous avez positionné le bouton sur la //​breadboard//,​ il faut désormais connecté chacune des pins sur la carte ** ARDUINO **.
 +
 +Identifier les ports dont vous avez besoin pour :
 +
 +  * Obtenir une tension (attention jamais plus de 3,3 V sinon vous risquez d'​endommager la carte).
 +  * Mesurer le signal.
 +
 +
 +**Indication :** Sur la carte ARDUINO, il existe un port sortant du 3,3 V. De plus il existe une banque de port pouvant générer ou lire des signaux numériques (soit 0 ou 3,3 V) dans la banque PWM.
 +
 +Connecter le bouton sur ces ports.
 +
 +==== Question 2.2 ====
 +
 +En fait, nous allons faire un peu plus compliqué, nous allons mettre la diode verte en série avec l'​interupteur selon le schéma suivant :
 +
 +<​code>​
 +  + --- Interrupteur ---- + ----- diode verte ------- +
 +  |                       ​| ​                          |
 +  |                       ​| ​                          |
 +  |                       ​| ​                          |
 + 3,3 V                (mesure ​                       GND
 +                      port x sur ARDUINO)
 +</​code>​
 +
 +Quand vous appuez sur l'​interrupteur,​ la diode verte doit s'​allumer.
 +
 +L'​intérêt,​ c'est que quand vous coupez l'​interrupteur,​ la charge mesurée diminue immédiatement puisque la diode a une certaine résistance. Sinon, elle mettrait plus de temps pour disparaitre et créerait des variations de mesure.
 +Autre montage possible :
 +
 +<​code>​
 +  + --- diode blanche ---- + ----- interrupteur ------- +
 +  |                        |                            |
 +  |                        |                            |
 +  |                        |                            |
 + 3,3 V                (mesure ​                         GND
 +                      port x sur ARDUINO)
 +</​code>​
 +
 +Attention, dans ce cas, l'​interuppteur est ''​on''​ quand la mesure sur le port est ''​LOW''​.
 +
 +===== Question 3 ======
 +
 +Nous allons tester si cela fonctionne correctement. Pour ce faire, nous allons faire un petit programme qui va tester régulièrement l'​état du bouton.
 +
 +Le programme sera quelque chose du type :
 +
 +<code cpp>
 +
 +Button myButton(portNumber,​ "​bouton"​);​ // portNumber correspond au port 
 +                             // que vous avez sélectionné pour connecter ​
 +                             // votre bouton pressoir.
 +
 +void setup()
 +{
 +    Serial.begin(9600); ​   ​
 +}
 +
 +void loop()
 +{
 +    if(myButton.isPressed()) // J'ai appelé la fonction qui retourne l'​état ''​isPressed''​.
 +        Serial.print("​Button is pressed\n"​); ​
 +    delay(500);
 +}
 +</​code>​
 +
 +  - Adapter le code pour votre classe ''​Button''​ et les ports que vous avez sélectionnés en interne.
 +  - Tester le bon fonctionnement de votre circuit en vérifiant que les messages sont bien affichés dans la console.
 +
 +===== Question n°4 ======
 +
 +Désormais, nous souhaitons que chaque fois que nous appuyons sur le bouton, la diode interne s'​allume si elle était éteinte ou au contraire, elle s'​éteint si jammais elle était allumée.
 +
 +
 +Modifier le programmer précédent pour :
 +  - créer un objet associé à la diode interne.
 +  - chaque fois que le bouton est pressé, allumer ou éteindre la diode interne.
 +
 +Tester le bon fonctionnement de l'​ensemble.
 +
 +====== Navigation ======
 +
 +Précédent:​ ** Jalon 1: **[[.:​jalon_1|La classe ''​Button''​]]
 +
 +Suivant: ** Jalon 3: **[[.:​jalon_3|Détermination des limites de l'​approche synchone.]]
 +
 +
 +
 +
  
in202/seance_6/jalon_2.1619947613.txt.gz · Last modified: 2021/05/02 09:26 by bmonsuez