~~NOTOC~~
=======SIMULATEUR pour la découverte de la programmation des objets=======
Si vous ne possédez pas d'appareil (type carte ARDUINO) pour vous entrainer à la programmation des objets, il est toutefois possible de le faire en utilisant [[https://planet.mblock.cc/project/1272455|ce simulateur]] utilisant uniquement des sprites (objets) du monde SCRATCH.
Les composants sont simulé par des "objets" et les signaux par l'utilisation de "variables". Les signaux analogiques correspondent à des valeurs de variable entre 0 et 1000 (BROCHE_0) et les signaux logiques à des valeurs de variable 0 ou 1 (BROCHE_1 à BROCHE_4). \\
Seule la partie programme du personnage représentant la carte ARDUINO est à modifier.
=====Présentation=====
La chaîne d'information est présente avec les 3 blocs "Acquérir", "Traiter" et "Communiquer".
{{:cours:ecran_simul_dpo.jpg?400 |}}
* Le **bouton** est un capteur logique possédant 2 états (2 costumes/représentations) "appuyé" ou "relâché" qui changent si on clique dessus avec la souris. Il modifie l'état de la **BROCHE_2**.
* le **capteur de luminosité** est analogique et possède 1024 états (4 costumes) plus ou moins lumineux qui changent si on le déplace horizontalement pour modifier l'état de la **BROCHE_0**.
* La **lampe verte** est un actionneur possédant 2 états (2 costumes) "allumé" ou "éteinte" qui changent en fonction du contenu de la variable **BROCHE_1**.
* La **lampe jaune** est un actionneur possédant 2 états (2 costumes) "allumé" ou "éteinte" qui changent en fonction du contenu de la variable **BROCHE_3**.
* La **lampe rouge** est un actionneur possédant 2 états (2 costumes) "allumé" ou "éteinte" qui changent en fonction du contenu de la variable **BROCHE_4**.
* Le bloc "Traiter" contient l'image d'une **carte ARDUINO**. Le programme associé peut être modifié afin d'adapter le comportement de la chaine d'information au **programme** à traiter.
Les algorithmes trouvés pour résoudre les différents problèmes posés sont valables pour programmer une carte ARDUINO, un robot mBot ou ce simulateur. Seule la traduction en programme utilise des blocs légèrement différents en fonction des moyens utilisées.
=====Exemple d'algorithme=====
===Problème : La sonnette lumineuse===
{{ :cours:sonnette.jpg?100|}}
**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.)
===Algorithme===
**Rappel** : L'algorithme est la solution du problème exprimée sous la forme d'une suite finie, non ambigüe et ordonnée d’opérations simples permettant de le résoudre. Il est exprimé en français et respecte certaines règles comme l'indentation.
Pour toujours
Si bouton appuyé
Allumer lampe
Sinon
Éteindre lampe
L'algorithme sera traduit en fonction des langages et des appareils connectés.
===Les traductions programmes===
//Cliquer sur un programme pour l'agrandir si besoin.//
^ ARDUINO bloc ^ mBot ^ Simulateur DPO ^ ARDUINO basic ^
| | {{ :cours:mbot_p1.png?200 | }} | | |
| ARDUINO n'a pas d'emplacement fixe. Sur notre maquette le bouton est sur la broche 2 et la LED sur la 3. Un état "bas" indique un bouton relâché ou une LED éteinte ("haut" = appuyé ou allumé) | mBot ne sait pas allumer ou éteindre mais afficher une couleur (ici blanc ou noir), Son bouton et ses 2 LEDs ne peuvent pas être changée de broche et n'ont pas de numéro.| | |
=====Pour aller plus loin=====