Niveau : Première générale, enseignement de spécialité SI
Pour permettre aux robots de fonctionner il faut assembler des pièces mécaniques, commandées par des composants électroniques. L’organisation fonctionnelle peut se décomposer en une chaine d’informations et une chaîne d’énergie.
Différents diagrammes permettent de décrire l'organisation fonctionnelle, structurelle, énergétique, etc..., d'un système
Que veut-on décrire ? | Diagramme à utiliser |
---|---|
Le besoin | Diagramme bête à corne |
Les interactions entre le système et ses utilisateurs | Diagramme de cas d’utilisation (SYSML) |
Les exigences et les contraintes | Diagramme des exigences (SYSML) |
L'enchaînement séquentiel des interactions | Diagramme de séquence (SYSML) |
Les composants et les énergies | Diagramme interne de bloc (SYSML) |
Le comportement du système | Diagramme d'état (SYSML) |
Le programme | Algorithme |
Complétez le diagramme bête à cornes du robot pédagogique formula all code :
Compléter les éléments ci-dessous en précisant leur fonction et à quelle chaîne ils appartiennent
Compléter la chaine fonctionnelle ci-dessous
Répondre aux questions suivantes :
Compléter les éléments manquants du diagramme
Les algorithmes permettent de décrire un programme sous forme de langage naturel, les algorigrammes permettent de décrire un programme sous forme de blocs
Symbole | Description | Symbole | Description |
---|---|---|---|
Début ou fin du programme | Action ou calcul | ||
Entrée/sortie | Test | ||
Appel d'un sous-programme | Lien entre blocs | ||
Pause | Boucle |
Le programme est exécuté par le microcontrôleur :
Exemple d'algorithme
Début Répéter toujours bp ← lire l'état de BP1 si bp = 1 alors allumer la LED1 sinon éteindre la LED1 fin si fin répéter fin
Compléter l'algorigramme correspondant à l'algorithme ci-dessus :
Téléchargez les fichiers Formula.py
Exécuter le programme suivant et testez le bouton gauche.
On donne l'algorithme suivant permettant de tester l'état des LED du robot :
importer les librairies Formula et time Connecter le robot déclarer la variable i à la valeur 1 Tant que i est inférieur à 9 faire : allumer la led de rang i attendre 0.2s augmenter i de 1 (incrémenter) fin tant que tant que i est supérieur à zéro faire: éteindre la led de rang i attendre 0.2s diminuer i de 1 (décrémenter) fin tant que Déconnecter le robot
Compléter le programme suivant, puis testez-le.
Remplacer la boucle while par une boucle for:
exemple de boucle for :
Résultat de l'exécution :
début de la 1ère boucle 0 1 2 3 4 5 6 7 8 9 fin de la 1ère boucle début de la 2ème boucle 5 4 3 2 1 fin de la 2ème boucle
Collez votre programme modifié ci-dessous, après l'avoir testé
Pascal Hassenforder 30/08/2021
MAJ le 16/01/2024