This is the script to run on the cyber:bot robot. It receives values from the micro:bit tilt controller that are used for its drive servos and Gripper servo.
radio_tilt_grip_controlled_cyberbot.hex [1]
The script was created by entering the text below into the python.microbit.org/v/2 editor. The cyberbot.py module was also added to the Project Files as shown in Add modules to your micro:bit [3]. The Script Name was set to cyber_bot_gripper_forward_object before saving it as a .hex file as shown in How to Save and Reopen a Script in Python Editor v2 [4].
# radio_tilt_grip_controlled_cyberbot from cyberbot import * import radio radio.on() radio.config(channel=7, queue=1, length=64) while True: packet = radio.receive() if packet: try: dictionary = eval(packet) x = dictionary.get('x') y = dictionary.get('y') needle = dictionary.get('needle') fb = y / 10 lr = x / 10 button = dictionary['button'] # added except Exception as e: display.show(Image.SAD) print("Exception e:", e) print("Type:", type(e)) continue else: if abs(y) > 80: display.show(Image.ALL_CLOCKS[needle]) vL = fb vR = -fb if(fb < 0): lr = -lr vL = vL - lr/2 # Reduced lr term by 2 vR = vR - lr/2 # Reduced lr term by 2 else: display.show(Image.DIAMOND_SMALL) vL = None vR = None if button == 'B': # added bot(16).servo_angle(30) # added Gripper close & lift elif button == 'A': # added bot(16).servo_angle(150) # added Gripper lower & open finally: bot(18).servo_speed(vL) bot(19).servo_speed(vR)
Links
[1] https://learn.parallax.com/sites/default/files/content/cyberbot/Gripper/Hex/radio_tilt_grip_controlled_cyberbot.hex
[2] https://python.microbit.org/v/2
[3] https://learn.parallax.com/tutorials/robot/cyberbot/add-modules-your-microbit
[4] https://learn.parallax.com/tutorials/robot/cyberbot/how-save-and-reopen-script-python-editor-v2