Outils pour utilisateurs

Outils du site


cours:picaxe1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:picaxe1 [2024/03/10 11:24]
mrcjl
cours:picaxe1 [2024/03/26 09:44] (Version actuelle)
mrcjl [Exercice 4 : L'interrupteur crépusculaire]
Ligne 80: Ligne 80:
 ===Pour l'algorithme=== ===Pour l'algorithme===
 **Il n'est pas nécessaire de faire des phrases mais on doit utiliser des mots clés + verbe d'action + capteur/actionneur + état.** **Il n'est pas nécessaire de faire des phrases mais on doit utiliser des mots clés + verbe d'action + capteur/actionneur + état.**
-  * Il faut répéter indéfiniment le programme pour qu'il n'ai pas de fin+  * Il faut **répéter indéfiniment le programme si l'on veut pouvoir répéter les mêmes actions** (ex. appuyer plusieurs fois)
-  * Il faut regarder si le capteur d'entrée numérique pour savoir si l'on doit allumer ou éteindre. +  * Il faut lire le **capteur (= entrée)** pour savoir si l'on doit allumer ou éteindre (un capteur est lu par le programme mais le programme ne peut pas le modifier)
-  * Il faut modifier un actionneur de sortie numérique pour allumer ou éteindre.+  * Il faut modifier un **actionneur (= sortie)** pour allumer ou éteindre (un actionneur est modifié par le programme mais le programme ne peut pas lire son état).
 ===Pour le programme=== ===Pour le programme===
   * Un signal électrique est dit : **désactivé**/0/bas s'il est absent/éteint/relâché ou **activé**/1/haut s'il est présent/allumé/appuyé   * Un signal électrique est dit : **désactivé**/0/bas s'il est absent/éteint/relâché ou **activé**/1/haut s'il est présent/allumé/appuyé
Ligne 120: Ligne 120:
 {{:cours:cp.png?20 |}}++++Coups de pousse : Faire clignoter| {{:cours:cp.png?20 |}}++++Coups de pousse : Faire clignoter|
 <WRAP round box> <WRAP round box>
-  * Clignoter, c'est allumer puis éteindre.  +  * Clignoter, c'est allumer puis éteindre. (Beaucoup de langages ne connaissent pas le mot clignoter).  
-  * Le microcontrôleur étant plus rapide que notre oeil, pour voir les clignotements il faut ralentir (attention clignoter = 1/2 allumé et 1/2 éteint).+  * Le microcontrôleur (> 1000 actions par secondes) étant plus rapide que notre œil (maxi 25 images par secondes)il faut pour voir les clignotements le ralentir (attention clignoter = 1/2 allumé et 1/2 éteint; 1 seconde = 1000 ms).
 </WRAP> </WRAP>
 ++++ ++++
Ligne 127: Ligne 127:
 {{:cours:cp.png?20 |}}++++Coups de pousse : Compter les clignotements| {{:cours:cp.png?20 |}}++++Coups de pousse : Compter les clignotements|
 <WRAP round box> <WRAP round box>
-  * Il faut utiliser une variable pour fixer la valeur du compteur au début +  * Il faut utiliser une variable pour fixer la valeur du compteur au début (0 ou 1) 
-  * Il faut utiliser une condition plus grand que la valeur de fin pour l'arrêter +  * Il faut utiliser une condition fonction de la valeur de fin pour l'arrêter (ex. compter jusqu'à 5 : si début = 0 -> fin = 5 ; si début = 1 -> fin > 5). 
-  * Il faut ajouter 1 à chaque **itération**/répétition pour faire progresser le compteur+  * Il faut ajouter 1 au compteur à chaque **itération**/répétition pour le faire progresser.
 </WRAP> </WRAP>
 ++++ ++++
Ligne 138: Ligne 138:
 Le programme doit fonctionner lui aussi en permanence. Le programme doit fonctionner lui aussi en permanence.
  
-**ATTENTION** : Le microcontrôleur peut lire mais pas modifier un capteur et peut modifier mais pas lire un actionneur.+**RAPPELS** : Le microcontrôleur peut lire mais pas modifier un capteur et peut modifier mais pas lire un actionneur.
  
 {{:cours:cp.png?20 |}}++++Coups de pousse : Se rappeler de l'état de l'actionneur | {{:cours:cp.png?20 |}}++++Coups de pousse : Se rappeler de l'état de l'actionneur |
 <WRAP round box> <WRAP round box>
-  * Il faut noter son état dans une variable à chaque changement (0 = désactivé et 1 = activé). +  * Il faut noter l'état de l'actionneur dans une variable à chaque changement (0 = désactivé et 1 = activé). 
-  * Il faut lire la variable pour connaître l'état du capteur.+  * Il faut lire la variable pour connaître l'état de l'actionneur. 
 +  * Au démarrage du programme je ne connais pas l'état de l'actionneur. Il faut une initialisation (ex. éteindre la led et le noter dans la variable) avant de démarrer la boucle "Répéter indéfiniment".
 </WRAP> </WRAP>
 ++++ ++++
Ligne 149: Ligne 150:
 {{:cours:cp.png?20 |}}++++Coups de pousse : Éviter les clignotements | {{:cours:cp.png?20 |}}++++Coups de pousse : Éviter les clignotements |
 <WRAP round box> <WRAP round box>
-Le microcontrôleur étant plus rapide que notre doigt, lors de la détection d'un appui, il faudra qu'il attende que le bouton soit relâché avant d'en prendre en compte un nouveau.+Le microcontrôleur étant plus rapide que notre doigt, après le traitement d'un bouton appuyé, il faut attendre que le bouton soit relâché avant de répéter le programme. Sinon on obtient un clignotement et un résultat aléatoire.
 </WRAP> </WRAP>
 ++++ ++++
Ligne 155: Ligne 156:
 ====Exercice 4 : L'interrupteur crépusculaire==== ====Exercice 4 : L'interrupteur crépusculaire====
 {{ :cours:crepuscule.jpg?100|}} {{ :cours:crepuscule.jpg?100|}}
-**Nous voulons que la LED s'allume si l'on appuie sur le bouton et que la lumière ambiante est faible.** \\ +**Nous voulons que la LED s'allume si l'on appuie sur le bouton et que la lumière ambiante est faible.**  Il faudra qu'elle reste allumée au moins 2 secondes (2000ms) pour permettre le passage\\ 
-Elle doit resté éteinte pour faire des économies sinon. Le programme doit fonctionner lui aussi en permanence.+Sinon elle doit rester éteinte pour faire des économies. Le programme doit fonctionner en permanence
 + 
 +La valeur mesurée de la lumière varie de 0 (la nuit noire) à 1023 (le plein soleil). On décide que la LED doit s'allumer si la lumière est < 200.
  
 {{:cours:cp.png?20 |}}++++Coups de pousse | {{:cours:cp.png?20 |}}++++Coups de pousse |
 <WRAP round box> <WRAP round box>
-  * Une entrée analogique donne une valeur (nombrecompris entre 0 et 1023Il faut donc utiliser un opérateur pour pouvoir la comparer0 correspond à la nuit noire et 1023 au plein soleil, il faut donc décider du niveau de lumière à partir duquel la LED doit s'allumer (100 par exemple).+  * Le programme ressemble à celui de la sonnette avec une condition supplémentaire (la lumière du jour). 
 +  * Quand on lui demande, le capteur analogique écrit directement la mesure dans une variable (ex"Lire capteur et stocker dans variable"). Il faudra comparer cette variable au seuil fixé.  
 +  * Pour éclairer durant le passage il faut attendre un certain temps après avoir allumé on a choisi 2 secondes.
 </WRAP> </WRAP>
 ++++ ++++
cours/picaxe1.1710066254.txt.gz · Dernière modification: 2024/03/10 11:24 de mrcjl