This commit is contained in:
senpai 2025-10-19 15:29:14 +02:00
parent 10c680f77a
commit 13023e1cd4
3 changed files with 111 additions and 55 deletions

View file

@ -4,14 +4,15 @@ from pybricks.pupdevices import Motor
from pybricks.robotics import DriveBase
from pybricks.tools import wait
import batteria
from assi import A
from robot_class import LazyRobot, Robot
from robots import cbrobot as robot
def main(robot: LazyRobot):
hub = robot.hub
db = robot.db
def gira_fino_a_quando(gradi: int):
posizione_iniziale = db.angle()
gradi_mancanti = gradi - posizione_iniziale
@ -20,7 +21,6 @@ def gira_fino_a_quando(gradi: int):
# if angolo < gradi:
# db.turn(gradi - angolo)
db.use_gyro(True) # abilitiamo il giroscopio
# (mm/s, mm/s², deg/s, deg/s²)
db.settings(100, 100, 90, 50)
@ -40,5 +40,11 @@ db.straight(100)
gira_fino_a_quando(360)
print(db.angle())
print(f"drived {db.distance()}")
if __name__ == "__main__":
import batteria
from robots import cbrobot as robot
main(robot)

View file

@ -4,14 +4,14 @@ from pybricks.pupdevices import Motor
from pybricks.robotics import DriveBase
from pybricks.tools import wait
import batteria
from assi import A
from robots import giorobot as robot
from robot_class import LazyRobot
def main(robot: LazyRobot):
hub = robot.hub
db = robot.db
def gira_fino_a_quando(gradi: int):
posizione_iniziale = db.angle()
gradi_mancanti = gradi - posizione_iniziale
@ -21,7 +21,6 @@ def gira_fino_a_quando(gradi: int):
# if angolo < gradi:
# db.turn(gradi - angolo)
db.use_gyro(True) # abilitiamo il giroscopio
# (mm/s, mm/s², deg/s, deg/s²)
db.settings(100, 100, 100, 50)
@ -31,6 +30,12 @@ db.settings(100, 100, 100, 50)
wait(300)
db.reset(angle=0)
db.straight(40)
db.straight(-10)
db.straight(400)
db.straight(-100)
if __name__ == "__main__":
import batteria
from robots import cbrobot as robot
main(robot)

45
menu.py Normal file
View file

@ -0,0 +1,45 @@
# menu.py
import usys
from pybricks.tools import hub_menu, wait
from guida_funzionante import main as run_G
from guidaavantieindietro import main as run_A
from robots import cbrobot as robot
PROGRAMMI = {
"G": run_G,
"A": run_A,
}
def run_with_play(hub, fn, *args, **kwargs):
try:
hub.display.char(">")
return fn(*args, **kwargs)
finally:
hub.display.text("")
def run_once():
labels = list(PROGRAMMI.keys())
if not labels:
print("Nessun programma.")
wait(1500)
return
# if len(labels) == 1: # no menu se solo 1 programma
# run_with_play(robot.hub, PROGRAMMI[labels[0]], robot)
# return
scelta = hub_menu(*labels)
run_with_play(robot.hub, PROGRAMMI[scelta], robot)
while True:
run_once()
# while True:
# try:
# run_once()
# except Exception as e:
# usys.print_exception(e)
# wait(3000)