SCIENCES DE L'INGENIEUR

Niveau : Première générale, enseignement de spécialité SI

 

D
É
C
O
N
N
E
C
T
É

TP : PROGRAMMER EN LANGAGE PYTHON

1. Introduction

Le Robot Formula Allcode peut se programmer avec de nombreux langages de programmation et notamment en Python

Il possède un mode test que vous allez partiellement reproduire.

2. Connexion Bluetooth au Robot

Par défaut, la connexion Bluetooth est activée sur vos ordinateurs portables. Si ce n’est pas le cas, vous pouvez l’activer dans le panneau de configuration.

Allumer le robot, son nom Bluetooth apparait en haut à gauche de l’écran du robot.

Cliquez sur l’icône Bluetooth dans la zone de notification puis afficher les périphériques bluetooth

     

Cliquer sur + (ajouter un appareil Bluetooth …)

     

Sélectionner votre robot. Eviter d’appairer un autre robot pour ne pas créer des ports COM inutiles.

Le code d’appairage est 1234

Appuyer sur les touches « windows » « R » copier puis coller la ligne de commande suivante :

rundll32.exe shell32.dll,Control_RunDLL bthprops.cpl,,2

     

Lorsque le programme python vous demandera de sélectionner le numéro du port, toujours sélectionner le port indiqué « Sortant » de votre robot (ici 6).

Si aucun port sortant n'existe:

    1. cliquer sur ajouter,
    2. sélectionner le type de port : Sortant,
    3. Dans la liste déroulante, sélectionner Formula-xx, sinon cliquer parcourrir pour l'ajouter
    4. Cliquer Ok.

3. Observations

Les LED ont pour repère D2 à D9 et les résistances R26 à R33.

Programmation

  • Exécuter le logiciel Edupython et écrire le programme suivant :


  • Enregistrer le programme dans vos documents (LED.py),
  • Télécharger la librairie Formula.py enregistrer-le dans le même dossier que LED.py.
  • Dans le menu Exécuter, cliquer sur Exécuter.
  • Choisir le port et observez quelle LED s’allume.
  • Appuyer sur SW1 pour changer le mode puis SW2 (Go) pour lancer le test
  • Appuyer sur le bouton RESET situé à proximité de l'interrupteur M/A, pour remettre le robot en mode API
  • Programmer le mode test des LED du robot afin d'allumer à tour de rôle chaque LED pendant 0.1 seconde puis l'éteindre.

4. La boucle Tant que :

On peut utiliser une boucle pour répéter une action plusieurs fois. Tant qui se traduit par while en langage Python.

Exemple :

Tester ce programme, puis adapter-le programme pour reproduire le test avec une boucle while.

Enregistrer votre programme fonctionnel ci-dessus

Faire valider le fonctionnement par professeur.

5. La boucle Pour :

Une autre manière de faire une boucle est d'utiliser l'instruction pour, qui se traduit par for en langage Python.

Exemple :

Tester ce programme, puis adapter-le programme pour reproduire le test avec une boucle for.

Faire valider le fonctionnement par professeur.

6. Emettre un son :

A la fin du motif lumineux, un son est émis. La fréquence du son varie de 50 Hz à 1000 Hz toutes les 15 ms avec une augmentation de la fréquence de 50 hz à chaque reprise de boucle.

Ajouter au code ci-dessus une boucle while qui fait varier la fréquence dans le sens inverse : de 1000Hz à 50 Hz avec diminution de 50 Hz à chaque reprise de boucle.

Faire valider le fonctionnement par professeur.

7. Déplacer le robot :

Déplacer le robot dans le labirynthe en utilisant les fonctions suivantes :

  • avance(distance) avance d'une distance en mm comprise entre 1 et 1000,
  • gauche(angle) effectue un virage à gauche avec angle en degrés,
  • droite(angle) effectue un virage à droite avec angle en degrés.

Compléter le programme et tester le robot dans le labirynthe

Faire valider le fonctionnement par professeur.

Proposer un programme parcourant une liste contenant une liste [distance, direction et angle]

Exemple :

deplacement = [[100,"gauche",90],[50,"droite",45],...]
  • deplacement[1][2] renvoie 45
  • deplacement[0][1] renvoie gauche

Avec la condition if on pourra décider d'aller à gauche ou à droite

if deplacement[0][1]=="gauche":
    gauche(deplacement[0][2])
else :
    droite(deplacement[0][2])

Une boucle permettra de faire varier un indice i pour parcourir tous les déplacements de la liste.

Ecrire le programme ci-dessous et tester le fonctionnement.

Faire valider le fonctionnement par professeur.

Fond : Texte : Tables :