[[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.