From bcb47f0d23f326b70c007da3aaa4925378f2deda Mon Sep 17 00:00:00 2001 From: Antoni Luong Pham Date: Sun, 25 Oct 2020 13:51:57 -0700 Subject: [PATCH] sets/ev3/home/gripp3r: refactor main.py --- sets/ev3/home/gripp3r/.vscode/launch.json | 2 +- sets/ev3/home/gripp3r/README.md | 7 +++++ sets/ev3/home/gripp3r/gripp3r.py | 37 ----------------------- sets/ev3/home/gripp3r/main.py | 21 +++++++++++++ 4 files changed, 29 insertions(+), 38 deletions(-) create mode 100644 sets/ev3/home/gripp3r/README.md create mode 100644 sets/ev3/home/gripp3r/main.py diff --git a/sets/ev3/home/gripp3r/.vscode/launch.json b/sets/ev3/home/gripp3r/.vscode/launch.json index 18fa898..d933aeb 100644 --- a/sets/ev3/home/gripp3r/.vscode/launch.json +++ b/sets/ev3/home/gripp3r/.vscode/launch.json @@ -8,7 +8,7 @@ "name": "Download and Run", "type": "ev3devBrowser", "request": "launch", - "program": "/home/robot/${workspaceRootFolderName}/gripp3r.py", + "program": "/home/robot/${workspaceRootFolderName}/main.py", "interactiveTerminal": false } ] diff --git a/sets/ev3/home/gripp3r/README.md b/sets/ev3/home/gripp3r/README.md new file mode 100644 index 0000000..2af71a8 --- /dev/null +++ b/sets/ev3/home/gripp3r/README.md @@ -0,0 +1,7 @@ +# Example LEGO® MINDSTORMS® EV3 Gripp3r Program + +This program requires LEGO® EV3 MicroPython v2.0 downloadable at https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3. + +Building instructions can be found at https://www.lego.com/en-us/themes/mindstorms/buildarobot. + +You can drive Gripp3r around and make it grip or release objects by the IR beacon. diff --git a/sets/ev3/home/gripp3r/gripp3r.py b/sets/ev3/home/gripp3r/gripp3r.py index bf8015b..90f6240 100644 --- a/sets/ev3/home/gripp3r/gripp3r.py +++ b/sets/ev3/home/gripp3r/gripp3r.py @@ -1,21 +1,7 @@ -#!/usr/bin/env pybricks-micropython - -""" -Example LEGO® MINDSTORMS® EV3 Gripp3r Program ---------------------------------------------- - -This program requires LEGO® EV3 MicroPython v2.0 downloadable at: -https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 - -Building instructions can be found at: -https://www.lego.com/en-us/themes/mindstorms/buildarobot -""" - from pybricks.hubs import EV3Brick from pybricks.ev3devices import Motor, TouchSensor, InfraredSensor from pybricks.media.ev3dev import SoundFile from pybricks.parameters import Button, Direction, Port, Stop -from pybricks.tools import wait from rc_tank_util import RemoteControlledTank @@ -75,26 +61,3 @@ class Gripp3r(RemoteControlledTank): while Button.BEACON in \ self.ir_sensor.buttons(channel=self.ir_beacon_channel): pass - - def main( - self, - driving_speed: float = 1000 # mm/s - ): - """ - Gripp3r's main program performing various capabilities - """ - self.gripping_motor.run_time( - speed=-500, - time=1000, - then=Stop.COAST, - wait=True) - - while True: - self.drive_by_ir_beacon(speed=driving_speed) - self.grip_or_release_by_ir_beacon(speed=500) - wait(1) - - -if __name__ == '__main__': - GRIPP3R = Gripp3r() - GRIPP3R.main(driving_speed=1000) diff --git a/sets/ev3/home/gripp3r/main.py b/sets/ev3/home/gripp3r/main.py new file mode 100644 index 0000000..b6c3cf3 --- /dev/null +++ b/sets/ev3/home/gripp3r/main.py @@ -0,0 +1,21 @@ +#!/usr/bin/env pybricks-micropython + + +from pybricks.parameters import Stop +from pybricks.tools import wait + +from gripp3r import Gripp3r + + +gripp3r = Gripp3r() + +gripp3r.gripping_motor.run_time( + speed=-500, + time=1000, + then=Stop.COAST, + wait=True) + +while True: + gripp3r.drive_by_ir_beacon(speed=1000) + gripp3r.grip_or_release_by_ir_beacon(speed=500) + wait(1)