[[cours:start|Cours]] - [[cours:4ème]] - Découverte de la maquette Arduino
======Découverte de la maquette Arduino======
{{:cours:maquette1.jpg?130 |}}
La maquette comprend, en plus de la carte Arduino, 4 capteurs et 5 actionneurs.
Ils sont branchés sur les broches suivantes (les lettres D ou A ne sont pas toujours utilisées en programmation) :
^ Broche ^ Composant ^ Broche ^ Composant ^ broche ^ composant ^
^ D11 (S) | Ventilateur ^ D8 (S) | Led verte ^ D4 (E) | Inverseur |
^ D10 (S) | Led rouge ^ D6 (E) | Bouton gauche ^ D3 (S) | Servomoteur |
^ D9 (S) | Led orange ^ D5 (E) | Bouton droit ^ A0 (E) | Potentiomètre |
=====Configuration de mBloc=====
Pour programmer la maquette (et réaliser cette activité) nous utilisons le logiciel mBlock. \\
Il doit être configuré de la manière suivante :
* Choisir dans le menu "Choix de la langue" le "Français".
* Choisir dans le menu "Choix de la carte" la carte "Arduino uno".
* Cocher dans le menu "Choix des extension" uniquement "Arduino".
Chaque fois que la maquette sera connectée à l'ordinateur, il faudra aussi :
* Choisir dans le menu "Connecter" puis "par port série (COM)" le port COM > 4 qui apparaitra.
Par défaut mBloc est configuré en "Mode Scratch". Pour les activités réalisées avec les maquettes, il faut :
* Choisir dans le menu "Édition" le "Mode Arduino".
=====Activités=====
Nous allons comparer des activités réalisées avec SCRATCH sur l'ordinateur et avec Arduino sur la maquette. Elles vont utiliser des capteurs et des actionneurs de type analogique et numérique. \\
Faites preuve de bon sens pour comprendre les algorithmes et choisir les blocs correspondants.
En mode ARDUINO, le bloc chapeau "Arduino: générer le code" remplace son équivalent SRATCH "Quand drapeau est cliqué". Il faut aussi cliquer sur "Téléverser dans l'Arduino", après l'avoir connecté au port COM, pour y transférer le programme avant de pouvoir l'utiliser la 1ère fois.
A chaque activité, lorsque chacun des 2 programmes fonctionnent, il faut faire cocher la fiche de suivi du professeur.
====Activité 1====
Utiliser une information numérique (0 ou 1) pour réaliser une action numérique (0 ou 1)
SCRATCH
RÉPÉTER indéfiniment
SI touche espace pressée
FAIRE montrer lutin
SINON
FAIRE cacher lutin
ARDUINO
RÉPÉTER indéfiniment
SI l'état logique du bouton gauche (est appuyée)
METTRE l'état logique led rouge à allumée
SINON
METTRE l'état logique led rouge à éteinte
====Activité 2====
Utiliser une information numérique (0 ou 1) pour réaliser une action analogique (-200 à +200 ou 0 à 255)
SCRATCH
METTRE variable X à 0
FAIRE aller le lutin à variable X (Y sans importance)
RÉPÉTER indéfiniment
SI touche flèche droite pressée ET variable X < 200
FAIRE variable X à X + 1
SI touche flèche gauche pressée ET variable X > -200
FAIRE variable X à X - 1
FAIRE aller le lutin à variable X (Y sans importance)
ATTENDRE 0.2 seconde
ARDUINO
METTRE variable X à 0
FAIRE envoyer sur la broche PWM led rouge la valeur X
RÉPÉTER indéfiniment
SI l'état logique du bouton droit ET variable X < 255
FAIRE variable X à X + 1
SI l'état logique du bouton gauche ET variable X > 0
FAIRE variable X à X - 1
FAIRE envoyer sur la broche PWM led rouge la valeur X
ATTENDRE 0.2 seconde
====Activité 3====
Utiliser une information analogique (0 à 1023) pour réaliser une action analogique (0 à 180)
SCRATCH \\
Créer la variable X au type potentiomètre avec un mini de 0 et un maxi de 180
METTRE variable X à 90
RÉPÉTER indéfiniment
FAIRE orienter le lutin à X
Agir sur le potentiomètre de la variable
ARDUINO
RÉPÉTER indéfiniment
METTRE variable X à la valeur de la broche analogique potentiomètre
METTRE variable X à X / 1023 * 180
FAIRE orienter le servomoteur de la broche servomoteur à X
====Activité 4====
Utiliser une information analogique (0 à 1023) pour réaliser une action numérique (0 ou 1)
SCRATCH \\
Créer la variable X au type potentiomètre avec un mini de 0 et un maxi de 180
RÉPÉTER indéfiniment
SI X < 60
DIRE "Faible" 2 secondes
SINON
SI X < 120
DIRE "Moyen" 2 secondes
SINON
DIRE "Fort" 2 secondes
Agir sur le potentiomètre de la variable
ARDUINO
RÉPÉTER indéfiniment
METTRE variable X à la valeur de la broche analogique potentiomètre
SI variable X < 341
METTRE l'état logique verte à allumée
METTRE l'état logique orange à éteinte
METTRE l'état logique rouge à éteinte
SINON
SI variable X < 682
METTRE l'état logique verte à éteinte
METTRE l'état logique orange à allumée
METTRE l'état logique rouge à éteinte
SINON
METTRE l'état logique verte à éteinte
METTRE l'état logique orange à éteinte
METTRE l'état logique rouge à allumée
=====Pour aller plus loin=====
**Extension Arduino**
* L'Arduino dispose de 13 broches numériques (entrée ou sortie à 0 ou 1) (D0 à D13)
* D0 et D1 (RX/TX) sont réservées pour le port série qui dialogue avec l'ordinateur
* Certaines broches peuvent aussi être utilisées en sortie analogique (valeur entre 0 et 255) (D3, D5, D6, D9 à D11)
* Il dispose aussi de 5 broches entrées analogiques (valeur entre 0 et 1023) (A0 à A5)
* Certaines broches peuvent avoir d'autres fonctions particulières (ex. servomoteur)
* L'Arduino dispose d'un Chronomètre
Le code textuel du programme Arduino apparait dans la fenêtre de droite. Il est dérivé du langage C.