mirror of
https://forge.apps.education.fr/blender-edutech/blender-edutech-ressources-pedagogiques.git
synced 2024-01-27 08:26:31 +01:00
Correction pour Ropy
This commit is contained in:
parent
9d78ef27b1
commit
11f890faf1
56
Lycee/programmation_python/snt/correction/rp_cmd-mission1.py
Normal file
56
Lycee/programmation_python/snt/correction/rp_cmd-mission1.py
Normal file
@ -0,0 +1,56 @@
|
||||
import bge # Bibliothèque Blender Game Engine (UPBGE)
|
||||
import time
|
||||
from rp_lib import * # Bibliothèque Ropy
|
||||
|
||||
###############################################################################
|
||||
# rp_cmd.py
|
||||
# @title: Commandes pour le Rover Ropy
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation du niveau :
|
||||
# Niveau 1 : Les premiers pas de Ropy
|
||||
# Niveau 2 : Ma première fonction
|
||||
# Niveau 3 : Sécuriser Ropy
|
||||
# Niveau 4 : Partir au bout du monde
|
||||
# Niveau 5 : Faire face à l'inconnu
|
||||
# Niveau 6 : Se rendre utile
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Fonctions
|
||||
###############################################################################
|
||||
|
||||
def mrp_avancer ():
|
||||
rp_avancer()
|
||||
rp_marquer()
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
###############################################################################
|
||||
|
||||
def commandes():
|
||||
|
||||
rp_gauche()
|
||||
mrp_avancer()
|
||||
rp_droite()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
rp_droite()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
|
||||
rp_fin() # A garder
|
||||
|
||||
###############################################################################
|
||||
# En: Externals calls << DONT CHANGE THIS SECTION >>
|
||||
# Fr: Appels externes << NE PAS MODIFIER CETTE SECTION >>
|
||||
###############################################################################
|
||||
|
||||
if __name__=='start':
|
||||
thread_cmd_start(commandes)
|
||||
if __name__=='stop':
|
||||
thread_cmd_stop()
|
@ -0,0 +1,87 @@
|
||||
import bge # Bibliothèque Blender Game Engine (UPBGE)
|
||||
from rp_lib import * # Bibliothèque Ropy
|
||||
|
||||
###############################################################################
|
||||
# rp_cmd.py
|
||||
# @title: Commandes pour le Rover Ropy
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation du niveau :
|
||||
# Niveau 1 : Les premiers pas de Ropy
|
||||
# Niveau 2 : Ma première fonction
|
||||
# Niveau 3 : Sécuriser Ropy
|
||||
# Niveau 4 : Partir au bout du monde
|
||||
# Niveau 5 : Faire face à l'inconnu
|
||||
# Niveau 6 : Se rendre utile
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Fonctions
|
||||
###############################################################################
|
||||
|
||||
j=0
|
||||
g
|
||||
def mrp_marquer_couleur():
|
||||
global j
|
||||
rp_marquer()
|
||||
rp_couleur("Balise "+str(j), (j/100, j/100, 1, 1)) # Balise
|
||||
j+=1
|
||||
|
||||
def mrp_avancer():
|
||||
if rp_detect()==False:
|
||||
rp_avancer()
|
||||
mrp_marquer_couleur()
|
||||
|
||||
def mrp_avancer_nbpas(pas):
|
||||
for i in range (pas):
|
||||
mrp_avancer()
|
||||
|
||||
def mrp_avancer_mur():
|
||||
while rp_detect()==False:
|
||||
mrp_avancer()
|
||||
|
||||
def mrp_avancer_mur_sb(): # sb = sans balise
|
||||
while rp_detect()==False:
|
||||
rp_avancer()
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
###############################################################################
|
||||
|
||||
def commandes():
|
||||
global j
|
||||
|
||||
# Mission 6
|
||||
rp_gauche()
|
||||
mrp_avancer_mur_sb()
|
||||
rp_droite()
|
||||
mrp_avancer_mur_sb()
|
||||
rp_gauche()
|
||||
mrp_avancer_mur_sb()
|
||||
rp_gauche()
|
||||
|
||||
j=0
|
||||
mrp_marquer_couleur()
|
||||
for i in range (5):
|
||||
mrp_avancer_nbpas(9)
|
||||
rp_gauche()
|
||||
mrp_avancer()
|
||||
rp_gauche()
|
||||
mrp_avancer_nbpas(9)
|
||||
rp_droite()
|
||||
mrp_avancer()
|
||||
rp_droite()
|
||||
|
||||
rp_fin()
|
||||
|
||||
###############################################################################
|
||||
# En: Externals calls << DONT CHANGE THIS SECTION >>
|
||||
# Fr: Appels externes << NE PAS MODIFIER CETTE SECTION >>
|
||||
###############################################################################
|
||||
|
||||
if __name__=='start':
|
||||
thread_cmd_start(commandes)
|
||||
if __name__=='stop':
|
||||
thread_cmd_stop()
|
@ -0,0 +1,58 @@
|
||||
import bge # Bibliothèque Blender Game Engine (UPBGE)
|
||||
import time
|
||||
from rp_lib import * # Bibliothèque Ropy
|
||||
|
||||
###############################################################################
|
||||
# rp_cmd.py
|
||||
# @title: Commandes pour le Rover Ropy
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation du niveau :
|
||||
# Niveau 1 : Les premiers pas de Ropy
|
||||
# Niveau 2 : Ma première fonction
|
||||
# Niveau 3 : Sécuriser Ropy
|
||||
# Niveau 4 : Partir au bout du monde
|
||||
# Niveau 5 : Faire face à l'inconnu
|
||||
# Niveau 6 : Se rendre utile
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Fonctions
|
||||
###############################################################################
|
||||
|
||||
def mrp_avancer ():
|
||||
rp_avancer()
|
||||
rp_marquer()
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
###############################################################################
|
||||
|
||||
def commandes():
|
||||
|
||||
rp_jumeau('/dev/ttyACM2', 115200)
|
||||
|
||||
rp_gauche()
|
||||
mrp_avancer()
|
||||
rp_droite()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
rp_droite()
|
||||
mrp_avancer()
|
||||
mrp_avancer()
|
||||
|
||||
rp_fin() # A garder
|
||||
|
||||
###############################################################################
|
||||
# En: Externals calls << DONT CHANGE THIS SECTION >>
|
||||
# Fr: Appels externes << NE PAS MODIFIER CETTE SECTION >>
|
||||
###############################################################################
|
||||
|
||||
if __name__=='start':
|
||||
thread_cmd_start(commandes)
|
||||
if __name__=='stop':
|
||||
thread_cmd_stop()
|
@ -0,0 +1,94 @@
|
||||
import bge # Bibliothèque Blender Game Engine (UPBGE)
|
||||
import time
|
||||
from rp_lib import * # Bibliothèque Ropy
|
||||
|
||||
###############################################################################
|
||||
# rp_cmd.py
|
||||
# @title: Commandes pour le Rover Ropy
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation du niveau :
|
||||
# Niveau 1 : Les premiers pas de Ropy
|
||||
# Niveau 2 : Ma première fonction
|
||||
# Niveau 3 : Sécuriser Ropy
|
||||
# Niveau 4 : Partir au bout du monde
|
||||
# Niveau 5 : Faire face à l'inconnu
|
||||
# Niveau 6 : Se rendre utile
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Fonctions
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
###############################################################################
|
||||
|
||||
def commandes():
|
||||
|
||||
rp_jumeau('/dev/ttyACM1', 115200)
|
||||
# rp_avancer()
|
||||
# rp_gauche()
|
||||
|
||||
while True :
|
||||
ordre = rp_serie_rcpt()
|
||||
print (ordre)
|
||||
if "AV" in ordre :
|
||||
rp_avancer()
|
||||
rp_marquer()
|
||||
if "RE" in ordre :
|
||||
rp_reculer()
|
||||
if "GA" in ordre :
|
||||
rp_gauche()
|
||||
if "DR" in ordre :
|
||||
rp_droite()
|
||||
if "ST" in ordre :
|
||||
break
|
||||
|
||||
rp_fin() # A garder
|
||||
|
||||
###############################################################################
|
||||
# En: Externals calls << DONT CHANGE THIS SECTION >>
|
||||
# Fr: Appels externes << NE PAS MODIFIER CETTE SECTION >>
|
||||
###############################################################################
|
||||
|
||||
if __name__=='start':
|
||||
thread_cmd_start(commandes)
|
||||
if __name__=='stop':
|
||||
thread_cmd_stop()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,94 @@
|
||||
import bge # Bibliothèque Blender Game Engine (UPBGE)
|
||||
import time
|
||||
from rp_lib import * # Bibliothèque Ropy
|
||||
|
||||
###############################################################################
|
||||
# rp_cmd-microbit.py
|
||||
# @title: Exemple pour le lecteur du port série Micro:bit
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation du niveau :
|
||||
# Niveau 1 : Les premiers pas de Ropy
|
||||
# Niveau 2 : Ma première fonction
|
||||
# Niveau 3 : Sécuriser Ropy
|
||||
# Niveau 4 : Partir au bout du monde
|
||||
# Niveau 5 : Faire face à l'inconnu
|
||||
# Niveau 6 : Se rendre utile
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Fonctions
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Commandes
|
||||
###############################################################################
|
||||
|
||||
def commandes():
|
||||
|
||||
rp_jumeau('/dev/ttyACM1', 115200)
|
||||
# rp_avancer()
|
||||
# rp_gauche()
|
||||
|
||||
while True :
|
||||
ordre = rp_serie_rcpt()
|
||||
print (ordre)
|
||||
if "AV" in ordre :
|
||||
rp_avancer()
|
||||
rp_marquer()
|
||||
if "RE" in ordre :
|
||||
rp_reculer()
|
||||
if "GA" in ordre :
|
||||
rp_gauche()
|
||||
if "DR" in ordre :
|
||||
rp_droite()
|
||||
if "ST" in ordre :
|
||||
break
|
||||
|
||||
rp_fin() # A garder
|
||||
|
||||
###############################################################################
|
||||
# En: Externals calls << DONT CHANGE THIS SECTION >>
|
||||
# Fr: Appels externes << NE PAS MODIFIER CETTE SECTION >>
|
||||
###############################################################################
|
||||
|
||||
if __name__=='start':
|
||||
thread_cmd_start(commandes)
|
||||
if __name__=='stop':
|
||||
thread_cmd_stop()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,99 @@
|
||||
from microbit import uart, sleep
|
||||
from microbit import *
|
||||
import radio
|
||||
|
||||
###############################################################################
|
||||
# rp_maqueen-tlcmd.py
|
||||
# @title: Jumeau Maqueen : Programme de la carte microbit télécommande (correction)
|
||||
# @project: Ropy (Blender-EduTech)
|
||||
# @lang: fr
|
||||
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
|
||||
# @copyright: Copyright (C) 2022 Philippe Roy
|
||||
# @license: GNU GPL
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# Initialisation
|
||||
###############################################################################
|
||||
|
||||
attente_image = Image("00000:00000:00300:00000:00000")
|
||||
display.show(attente_image) # Témoin de fonctionnement
|
||||
balise_image = Image("33333:36663:36963:36663:33333")
|
||||
radio.config(group=1, queue=4, length=8)
|
||||
radio.on()
|
||||
|
||||
###############################################################################
|
||||
# Télécommande
|
||||
###############################################################################
|
||||
|
||||
while True:
|
||||
|
||||
accel_y=accelerometer.get_y()
|
||||
|
||||
# Avancer : AV
|
||||
if accel_y < -300 :
|
||||
display.show(Image.ARROW_N)
|
||||
radio.send("AV")
|
||||
while True:
|
||||
accel_y=accelerometer.get_y()
|
||||
if accel_y > -300 : # Relacher l'orientation
|
||||
display.show(attente_image)
|
||||
radio.send("FI")
|
||||
break
|
||||
|
||||
# Reculer : RE
|
||||
if accel_y > 300 :
|
||||
display.show(Image.ARROW_S)
|
||||
radio.send("RE")
|
||||
while True:
|
||||
accel_y=accelerometer.get_y()
|
||||
if accel_y < 300 : # Relacher l'orientation
|
||||
display.show(attente_image)
|
||||
radio.send("FI")
|
||||
break
|
||||
|
||||
# Gauche : GA
|
||||
if button_a.is_pressed() :
|
||||
if button_b.is_pressed():
|
||||
pass
|
||||
else:
|
||||
display.show(Image.ARROW_W)
|
||||
radio.send("GA")
|
||||
while True:
|
||||
if button_b.is_pressed() :
|
||||
display.show(Image.NO) # Stop
|
||||
radio.send("ST")
|
||||
break
|
||||
else:
|
||||
if button_a.is_pressed() : # Relacher la touche
|
||||
pass
|
||||
else:
|
||||
display.show(attente_image)
|
||||
radio.send("FI")
|
||||
break
|
||||
|
||||
# Droite : DR
|
||||
if button_b.is_pressed():
|
||||
if button_a.is_pressed() :
|
||||
pass
|
||||
else:
|
||||
display.show(Image.ARROW_E)
|
||||
radio.send("DR")
|
||||
while True:
|
||||
if button_a.is_pressed() :
|
||||
display.show(Image.NO) # Stop
|
||||
radio.send("ST")
|
||||
break
|
||||
else:
|
||||
if button_b.is_pressed() : # Relacher la touche
|
||||
pass
|
||||
else:
|
||||
display.show(attente_image)
|
||||
radio.send("FI")
|
||||
break
|
||||
|
||||
# Stop : ST (carte:microbit version 2)
|
||||
if pin_logo.is_touched() :
|
||||
display.show(Image.NO)
|
||||
radio.send("ST")
|
||||
|
Loading…
Reference in New Issue
Block a user