Outils pour utilisateurs

Outils du site


cours:arduino1

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:arduino1 [2021/01/17 18:47]
mrcjl [Exercice 1 : La sonnette lumineuse]
cours:arduino1 [2022/01/30 13:36] (Version actuelle)
mrcjl
Ligne 1: Ligne 1:
 ~~NOTOC~~ ~~NOTOC~~
-=======Découverte de la programmation des objets========+=======Découverte de la programmation des objets (ARDUINO)========
 Pour aller plus loin dans les activités de programmation, nous allons quitter Scratch et ses animations sur l'ordinateur pour la programmation d'objets **domotiques** grâce à mBlock. Pour aller plus loin dans les activités de programmation, nous allons quitter Scratch et ses animations sur l'ordinateur pour la programmation d'objets **domotiques** grâce à mBlock.
  
Ligne 22: Ligne 22:
 Nous allons utiliser : Nous allons utiliser :
   * une carte programmable ARDUINO UNO.    * une carte programmable ARDUINO UNO. 
-  * un capteur BOUTON POUSSOIR, branché en D2, qui détectera notre intention de générer ou pas la lumière+  * un capteur **BOUTON POUSSOIR, branché en D2**, qui détectera notre choix logique (appuyé/non appuyé)
-  * un actionneur LED, branché en D3, qui génèrera de la lumière en fonction du programme. +  * un actionneur **LED, branché en D3**, qui génèrera de la lumière en fonction du programme. 
-  * un capteur CELLULE PHOTOÉLECTRIQUE, branché en A0, qui mesurera la lumière existante autour de nous.+  * un capteur **CELLULE PHOTOÉLECTRIQUE, branché en A0**, qui mesurera la lumière existante autour de nous.
  
 Le nom des **broches** figurant sur la carte bouclier se compose d'une lettre (D pour digital ou numérique ; A pour analogique) et d'un numéro. Le nom des **broches** figurant sur la carte bouclier se compose d'une lettre (D pour digital ou numérique ; A pour analogique) et d'un numéro.
Ligne 41: Ligne 41:
  
 ====Exercice 1 : La sonnette lumineuse==== ====Exercice 1 : La sonnette lumineuse====
-**Nous voulons que la LED s'allume lorsque le bouton est appuyé** (éteinte lorsque le bouton est relâché). \\ +{{ :cours:sonnette.jpg?100|}} 
-(Il faut bien sur que le programme n'ai pas de fin pour que nous puissions appuyer plusieurs fois sur le bouton.)+**Nous voulons que la LED s'allume lorsque le bouton est appuyé** (soit éteinte lorsque le bouton est relâché). \\ 
 +(Il faut bien sur que le programme n'ai pas de fin pour qu'il puisse détecter des appuis successifs sur le bouton.)
  
 ===Travail à faire=== ===Travail à faire===
Ligne 56: Ligne 57:
  
 ====Exercice 2 : Le clignotant==== ====Exercice 2 : Le clignotant====
-Nous voulons que la LED clignote 5 fois lorsque le bouton est appuyé et reste éteinte autrement. \\ +{{ :cours:clignotant.jpg?100|}} 
-Nous voulons que le programme fonctionne indéfiniment, je peux appuyer plusieurs fois sans relancer le programme.+**Nous voulons que la LED clignote 5 fois en 5 secondes lorsque le bouton est appuyé** et reste éteinte autrement. \\ 
 +Le programme doit se répéter comme le précédent.
  
 ===Travail à faire=== ===Travail à faire===
Ligne 65: Ligne 67:
  
 ===Coups de pousse=== ===Coups de pousse===
-  * Un nombre de clignotement est défini +  * Attention au nombre de clignotements et calculer la durée d'un clignotement pour attendre le temps qu'il faut. 
-  * Bien réfléchir à ce qu'est un clignotement +  * Essayer d'optimiser l'attente pour que le clignotement soit régulier
-  * Dans les "Contrôle", il existe un bloc "Attendre" dont la durée peut être réglée de quelques millisecondes à plusieurs secondes afin de fixer la durée du clignotement.+
  
 ====Exercice 3 : L'interrupteur==== ====Exercice 3 : L'interrupteur====
-Lorsque nous appuyons sur le bouton, nous voulons que la LED s'allume si elle était éteinte et reste allumé lorsque le bouton est relâché. Si elle était allumée elle doit s'éteindre et rester éteinte. \\+{{ :cours:interrupteur.jpg?100|}} 
 +**Lorsque nous appuyons sur le bouton, nous voulons que la LED s'allume si elle était éteinte** et reste allumé lorsque le bouton est relâché. **Si elle était allumée elle doit s'éteindre** et rester éteinte. \\
 Le programme doit fonctionner lui aussi en permanence. Le programme doit fonctionner lui aussi en permanence.
  
Ligne 79: Ligne 81:
  
 ===Coups de pousse=== ===Coups de pousse===
-  * D'une répétition du programme à l'autre, il faut se rappeler si la LED est allumée ou pas. Il faut donc utiliser une variable pour le noter. +  * Il faut 2 instructions conditionnelles. 
-  * Il faut aussi 2 instructions conditionnelles, une pour chaque cas.+  * D'une répétition du programme à l'autre, il faut se rappeler si la LED est allumée ou pas. Il faut donc le noter dans une variable
 +  * Pour éviter que la led clignoteil faut bloquer le programme jusqu'à ce que le bouton soit relâché (Attendre jusqu'à). 
 +  * L'opérateur "pas" inverse une condition (pas appuyé).
  
 ====Exercice 4 : L'interrupteur crépusculaire==== ====Exercice 4 : L'interrupteur crépusculaire====
-Nous voulons que la LED s'allume si l'on appuie sur le bouton et que la lumière ambiante est faible. \\ +{{ :cours:crepuscule.jpg?100|}} 
-Elle doit resté éteinte pour faire des économies sinon. \\ +**Nous voulons que la LED s'allume si l'on appuie sur le bouton et que la lumière ambiante est faible.** \\ 
-Le programme doit fonctionner lui aussi en permanence.+Elle doit resté éteinte pour faire des économies sinon. Le programme doit fonctionner lui aussi en permanence.
  
 ===Travail à faire=== ===Travail à faire===
   * écrire dans votre classeur le problème et l'algorithme correspondant,   * écrire dans votre classeur le problème et l'algorithme correspondant,
   * le traduire en programme dans mBloc et le téléverser dans la carte Arduino,   * le traduire en programme dans mBloc et le téléverser dans la carte Arduino,
-  * en tester le fonctionnement et appeler le professeur s'il fonctionne.+  * en tester le fonctionnement et appeler le professeur s'il fonctionne. **Pour simuler la nuit, on mettra la main au dessus du capteur de lumière.**
  
 ===Coups de pousse=== ===Coups de pousse===
-  * Une entrée analogique donne une valeur (nombre) compris entre 0 et 1023. Il faut donc utiliser un opérateur pour pouvoir la comparer. 0 correspond au noir absolu et 1023 au plein soleil, il faut donc décider du niveau de lumière à partir duquel la LED doit s'allumer (250 par exemple). +  * Une entrée analogique donne une valeur (nombre) compris entre 0 et 1023. Il faut donc utiliser un opérateur pour pouvoir la comparer. 0 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 (250 par exemple). 
-  * Il existe un opérateur "ET" pour regrouper 2 conditions.+  * Il existe un opérateur "et" pour regrouper 2 conditions.
  
 +=====Pour aller plus loin=====
 +<WRAP round todo>
 +**Pour vous entrainer à la maison** sans avoir de carte ARDUINO, vous pouvez utiliser le simulateur ci dessous et essayer les différents programmes.
 +  * [[ cours:Simul_DPO|Simulateur pour la découverte de la programmation objet]]
 +</WRAP>
cours/arduino1.1610905676.txt.gz · Dernière modification: 2021/01/17 18:47 de mrcjl