2025-12-03 01:54:49 +01:00
2025-12-03 01:53:10 +01:00
2025-12-03 01:54:49 +01:00

TP Tests Unitaires Moteur DC & Capteur HC-SR04

Niveau : débutant MicroPython ESP32

Objectifs du TP

Comprendre ce quest un test unitaire.

Apprendre à séparer la logique du programme du pilotage matériel.

Créer une fonction simple représentant la logique dun moteur DC ou dun capteur ultrason.

Écrire des tests unitaires avec assert en MicroPython.

TP1 — Tests unitaires dun moteur DC

Contexte

Un moteur DC piloté via un pont en H utilise :

deux signaux logiques in1, in2 pour choisir le sens,

un signal PWM pour la vitesse.

Dans ce TP, vous nallez pas piloter un vrai moteur. Vous allez tester la logique qui décide des valeurs à envoyer.

Énoncé

Vous devez écrire une fonction :

calcul_signaux_moteur(vitesse_pourcent, pwm_max=1023)

Elle reçoit une vitesse en pourcentage, entre -100 et +100, et doit retourner un dictionnaire contenant :

{ "in1": ..., "in2": ..., "pwm": ... }

La logique à implémenter : img logique

Calcul du PWM :

pwm = pwm_max * (abs(vitesse) / 100)

Exemple (si pwm_max = 1000) :

vitesse = 50 → pwm = 500

vitesse = -100 → pwm = 1000

vitesse = 200 → pwm = 1000 (clamp)

Vous devez faire :

Compléter le fichier : logique_moteur_eleve.py (qui contient des zones ____ à remplir)

Puis compléter les tests dans : test_logique_moteur_eleve.py

Les tests vérifieront automatiquement :

larrêt,

la marche avant,

la marche arrière,

le PWM proportionnel,

la saturation des valeurs extrêmes.

TP2 — Tests unitaires du capteur HC-SR04

Contexte

Le HC-SR04 mesure une distance grâce à lécho dun ultrason.

Il renvoie un temps décho (en microsecondes), et la distance se calcule via :

distance_cm = (temps_echo_microsecondes × 0.0343) / 2

Dans ce TP, vous nallez pas utiliser de vrai capteur. Vous allez tester la fonction de calcul seulement.

Énoncé

Vous devez écrire une fonction :

calcul_distance_cm(temps_echo_us)

Elle doit :

  1. Retourner None si :

temps_echo_us est None

ou ≤ 0

  1. Sinon :

convertir les microsecondes en secondes

appliquer le calcul de distance

retourner la distance en centimètres (float)

Aides :

1 seconde = 1 000 000 microsecondes

vitesse du son = 343 m/s = 34300 cm/s

Exemple :

1000 µs → environ 17.15 cm

3000 µs → environ 51.45 cm

Vous devez faire :

Compléter le fichier : logique_hcsr04_eleve.py

Compléter les tests dans : test_logique_hcsr04_eleve.py

Les tests vérifieront :

les entrées invalides,

les distances calculées,

la cohérence des valeurs retournées.

Description
No description provided
Readme 45 KiB
Languages
Python 100%