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.

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
- Exercice Sous-partie 2 - Question 1.11 · Métropole 2026 (sujet 1)
- Exercice Sous-partie 3 - Question 1.14 · Métropole 2026 (sujet 1)
- Exercice Sous-partie 3 - Traitement de l'information : alg… · Métropole 2026 (sujet 2)
- 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)
- Exercice Questions 1.18 et 1.19 · Métropole 2024 (sujet 1)
- Exercice Sous-partie 3 - Logique de commande et suivi de l… · Métropole 1 remplacement 2024
- Exercice Sous-partie 3 - Algorithmes et programmation · Métropole 2024 (sujet 2)
- Exercice Sous-partie 1 - Traitement de l'information · Métropole 2023 (sujet 1)
- Exercice Sous-partie 1 - Traitement de l'information · Métropole 2023 (sujet 2)