Exercice Sous-partie 3 - Question 1.17 · Bac Sciences de l'Ingénieur Métropole 1 remplacement 2025

Thème : Traitement de l'information : algorithmes et programmation · Tiré du sujet Métropole France 1 remplacement (2025)

Énoncé

Partie 1 - Sciences de l'ingénieur

Robot d'assistance à la mobilité

Il est parfois difficile pour une personne souffrant d'un handicap moteur ou victime d'un accident de se déplacer à l'intérieur de son habitat. Les fauteuils roulants classiques sont généralement encombrants et ne passent pas forcément partout.

Une société a conçu un système qui permet de transformer une chaise quelconque en un fauteuil roulant d'intérieur: le robot d'assistance à la mobilité. Ce système présente trois avantages par rapport à un fauteuil roulant classique (figure 1): il permet de choisir une chaise confortable, il est beaucoup plus fin et peut donc passer partout ou presque et il permet de se lever plus facilement. De plus, ce robot d'assistance propose une autonomie accrue par rapport au fauteuil roulant classique motorisé.

Ce système comporte une plateforme motorisée qui vient épouser les pieds de la chaise choisie en se clipsant dans les réceptacles prévus à cet effet. Il est doté d'un moteur central et d'un mât sur lequel est montée une télécommande pour que l'utilisateur puisse se déplacer en toute autonomie (figure 2).

Afin d'informer l'utilisateur sur l'état de charge de la batterie du robot d'assistance à la mobilité, la télécommande indique l'énergie restante grâce à une barre de 10 leds par pas de 10 % (figure 13). Si l'énergie contenue dans la batterie passe sous le seuil de 10 % de l'énergie totale de la batterie, alors la led rouge la plus à gauche de la barre se met à clignoter.

Un programme permet d'acquérir et d'afficher l'énergie présente dans la batterie du robot d'assistance. Son algorigramme est fourni sur la figure 14.

Document réponse DR3 - Question 1.17

Les fonctions à utiliser pour compléter le programme sont:

Fonction

Description

grovepi.ledBar_setLed(pin, led, state)

Allume (state=1) ou éteint (state=0) la led spécifiée (1 à 10) du bargraphe connecté à la broche (pin)

time.sleep(t)

Permet d'attendre un délai de durée t exprimée en seconde

SOC_Alerte_10()

Permet de faire clignoter avec une fréquence de 1Hz la led rouge la plus à gauche du bargraphe

Compléter les lignes 13, 14, 16 et 30 de l'extrait du programme en langage Python sur le document réponse DR3, en vous aidant de l'algorigramme fourni en figure 14.

1 import time

2 import grovepi

3 # Entrée analogique A2 connectée à UPont

4 UPont = 2

5 # Bargraph indicateur du taux de charge batterie connecté à la broche D5

6 ledbar = 5

7 grovepi.pinMode(ledbar, "OUTPUT")

8 # Config. de l'orientation du Bargraph (0 = rouge vers vert, 1 = vert vers rouge)

9 grovepi.ledBar_init(ledbar, 0)

10 def SOC_Alerte_10():

11 # Clignotement de la Led Rouge à gauche du Bargraphe à une fréquence de 1Hz

12 # ledbar_setLed(pin, led, state), led: which led (1-10), state: off or on (0,1)

Ligne 13

Ligne 14

15

grovepi.ledBar_setLed(ledbar, 1, 0)

Ligne 16

17 def SOC_Batterie():

18 # Calcul du taux de charge batterie et retourne un entier correspondant au level

19 # à afficher sur le Bargraph

20 # cette fonction est cachée pour plus de lisibilité

21 while 1:

22 # Affichage sur Bargraph de l'énergie dans la batterie

23 N=grovepi.analogRead(UPont)

24 if N > 542:

25 SOC = Calc_SOC_Batterie(N)

26 grovepi.ledBar_setLevel(ledbar, SOC)

27 else:

28 # Appel de la fonction qui permet de faire clignoter la Led Rouge

29 # à gauche du Bargraphe à une fréquence de 1Hz

Ligne 30

31

# Suite du programme

Conclusion

Conclure sur l'intérêt d'avoir un indicateur de taux de charge précis compte tenu de l'autonomie réelle du robot d'assistance comparativement à l'autonomie annoncée.

Énoncé: Exercice Sous-partie 3 - Question 1.17 · Bac Sciences de l'Ingénieur Métropole 1 remplacement 2025

Corrigé

Corrigé établi d’après les éléments de correction officiels

Ligne 13 : allumer la Led Rouge 1 à gauche du bargraphe

Réponse : ```python grovepi.ledBar_setLed(ledbar, 1, 1) ```

Ligne 14 : pause d'une demi-période (fréquence 1 Hz)

Réponse : ```python time.sleep(0.5) ``` ```python time.sleep(.5) ```

Ligne 16 : pause d'une demi-période (fréquence 1 Hz)

Réponse : ```python time.sleep(0.5) ``` ```python time.sleep(.5) ```

Ligne 30 : appel de la fonction d'alerte

Réponse : ```python SOC_Alerte_10() ```

Conclure sur l'intérêt d'avoir un indicateur de taux de charge précis compte tenu de l'autonomie réelle du robot d'assistance comparativement à l'autonomie annoncée.

Réponse : L'autonomie réelle semble moins importante que celle affichée par le constructeur. Il est donc intéressant pour l'utilisateur d'avoir un suivi précis sur l'état de charge de la batterie afin de gérer les recharges indépendamment de la distance parcourue par le robot d'assistance.

L’explication pas à pas, faite avec l’IA, est réservée aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice Sous-partie 3 - Algorithmique et programmation Py… · Métropole 2025 (sujet 1) · Exercice Sous-partie 3 - Traitement de l'information · Métropole 2025 (sujet 2) ›

Plus d’exercices de Traitement de l'information : algorithmes et programmation