[[cours:start|Cours]] - [[cours:4ème]] - [[cours:CI5_programmation]] - La programmation [TH] ======La programmation [TH]====== Nous avons déjà découvert la programmation les années précédentes à travers SCRATCH et Arduino. Nous savons qu'il faut trouver l'algorithme (la solution) à mettre en œuvre avant de commencer à programmer. Cette année nous allons utiliser mBloc, un dérivé de Scratch, permettant la programmation de carte Arduino en mode graphique. Après un rappel sur la programmation et Arduino, nous nous intéresserons à la programmation des déplacement d'un robot comportant 2 moteurs. =====Rappels===== Un **algorithme** est une méthode générale pour atteindre la solution d'un problèmes. C'est une suite finie et non ambigüe d’opérations permettant de le résoudre. Il est exprimé en langage naturel (français) et en respectant certaines règles comme les **indentations** et les pseudo instructions. Un **programme** informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur. C'est la traduction de l'algorithme. Il n'existe qu'un langage (le code machine) compréhensible par l'ordinateur. Il faut donc un **interpréteur** (traduction ligne par ligne) ou un **compilateur** (traduction en 1 seule fois) pour passer du langage de programmation au code machine. =====Les blocs Arduino====== Un bloc peut correspondre à une ou plusieurs instructions. De plus, le nombre de capteurs et d'actionneurs disponibles étant considérable, il n'est pas possible de regrouper tous les blocs en un seul lieu. Avant de commencer à programmer, il peut être nécessaire de définir les bibliothèques (ou croquis) à utiliser. Nous utiliserons principalement les bibliothèques "Arduino" et ... La plupart des blocs nécessitent de définir les broches sur lesquelles sont connectés les composants (capteur ou actionneur) puis l'action à effectuer (activer/vrai = 1, désactiver/faux = 0). Une liste des entrées/sorties utilisées et des composants qui leur sont connectés est nécessaire. ====Un feu tricolore ou clignotant==== Les broches utilisées sont : * D8 led verte * D9 led orange * D10 led rouge * D4 inverseur (feux/clignotant) L'algorithme et le programme sont : FAIRE éteindre la led verte FAIRE éteindre la led orange FAIRE éteindre la led rouge RÉPÉTER indéfiniment SI l'inverseur est sur clignotant FAIRE allumer la led orange ATTENDRE 0.5 seconde FAIRE éteindre la led orange ATTENDRE 0.5 seconde SINON FAIRE allumer la led verte ATTENDRE 3 seconde FAIRE éteindre la led verte FAIRE allumer la led orange ATTENDRE 0.5 seconde FAIRE éteindre la led orange FAIRE allumer la led rouge ATTENDRE 3 seconde FAIRE éteindre la led rouge {{ :cours:img_progscratch2.jpg?300 |}} =====Pour aller plus loin===== Programmer un objet n'est pas plus difficile que programmer un jeu. Il faut seulement faire preuve de plus de rigueur car une erreur de programmation peut être plus grave que sur un ordinateur. Elle peut endommager l'objet ou pire, blesser l'utilisateur. **Cours des années précédentes** * [[cours:4ème]] voir partie programmation