Niveau : Première générale, enseignement de spécialité SI
Téléchargez les fichiers Formula.py et Oscilloscope.py.
Enregistrez-les dans le même dossier et exécutez Oscilloscope.py
Remplir le tableau ci-dessous et faire un enregistrement du signal délivré par chaque capteur :
Précisez la nature du signal : Alanogique ou TOR (tout ou rien)
Allure | Bouton poussoir(choix 1) |
Capteur de lumière(choix 2) |
---|---|---|
Nature | ||
Allure | Accéléromètre axe x (choix 3) |
Capteur de distance IR avant centre (choix 4) |
Nature |
Exécuter le programme suivant et testez le bouton gauche.
Modifiez le programme précédent afin de respecter le cahier des charges suivant :
Début Se connecter au robot Tant que les boutons poussoirs ne sont pas activés en même temps, faire : Si le bouton poussoir gauche est appuyé Alors émettre un son de 440 Hz durant 200 ms Attendre 0,2 s Fin si Si le bouton poussoir droit est appuyé Alors émettre un son de 880 Hz durant 100 ms Attendre 0,1 s Fin si Emettre un son de 220 Hz durant 500 ms Se déconnecter du robot Fin tant que Fin
Collez votre programme ci-dessous après l'avoir testé
On souhaite que le robot émette des bips lorsqu’il détecte une source lumineuse dont le seuil dépasse la valeur 3800 (flash du téléphone)
L'appel de la fonction capteur_lumiere()
dans le programme, retourne une valeur entière comprise entre 0 et 4096
Chronogrammes
Algorithme :
Début Importer la librairie du robot Connecter le robot Tant que le bouton poussoir droit n’est pas activé Si le capteur de lumiere a dépassé la valeur 3800, alors : Emettre le son décrit par le chronogramme ci-dessus Attendre Fin si Fin tant que Déconnecter le robot fin
Collez votre programme ci-dessous après l'avoir testé
symbole électrique:
On donne le programme suivant :
En utilisant un rapporteur, incliner le robot de l'angle indiqué, puis relever la valeur renvoyée et remplir le tableau ci-dessous
Valeur lue par l’accéléromètre (axe y) | Inclinaison en ° |
---|---|
-90 | |
-45 | |
0 | |
45 | |
90 |
Reproduire le tableau dans une feuille Excel.
Sélectionner toutes les données du tableau, puis insérer un nuage de points
Cliquer sur la droite avec le bouton droit de la souris et ajouter une courbe de tendance linéaire. Cocher la case « afficher l’équation sur le graphique »
insérer l'équation de y indiquée sur le graphique dans le programme entre la ligne 4 et 5 et modifier print(x) permettant d'afficher la valeur de y en degrés.
Inclinez le robot pour vérifier l'angle.
Remarque : ce programme ne fonctionne que si le robot n'est pas en mouvement.
Collez votre programme modifié ci-dessous :
symbole électrique:
Ce capteur n’a pas une réponse linéaire, en plus il est très sensible et donne rarement les mêmes résultats. Pour le modéliser, on va relever une dizaine de points pour une distance donnée et afficher la moyenne.
Téléchargez le fichier capteurIR.py, exécuter le programme et compléter le tableau ci-dessous en plaçant le robot devant un obstacle.
Valeur lue par le capteur avant | Distance séparant le robot et l’obstacle en cm |
---|---|
2 | |
4 | |
6 | |
8 | |
10 |
Faire la même manipulation dans le tableur, mais ajouter une courbe de tendance du type puissance.
Pour écrire x0,5 en python, il faut taper x**0.5
Modifiez le programme ci-dessous permettant d’afficher la distance séparant le robot de l’obstacle en cm.
Compléter le programme ci-dessous en y ajoutant l’équation
Tester la précision du capteur entre 2 et 20 cm. Que pouvez-vous dire concerant l'erreur du capteur ? (voir cours)
Faire fonctionner le programme mystère ci-dessous en complétant l'équation, puis ajoutez des commentaires de description aux lignes 5 à 12
Quel est le rôle du programme, quel serait le rôle du bouton poussoir gauche dans le système réel, pourquoi n'est-il plus nécessaire de faire une moyenne sur 10 mesures ?
Pascal Hassenforder 29/10/2021
Mise à jour du 13/07/2022