Correction pour Ropy

This commit is contained in:
Philippe Roy 2022-11-13 05:14:03 +01:00
parent 9d78ef27b1
commit 11f890faf1
6 changed files with 488 additions and 0 deletions

View 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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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")