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 Feedback 360 drive servos and Gripper servo.
- Right-click the radio_tilt_grip_controlled_cyberbot_with_fb360.hex link below, chose Save As, and then save the file to your computer.
radio_tilt_grip_controlled_cyberbot_with_fb360.hex
- Open the saved file with the python.micrbit.org/v/2 editor.
The .hex file download was created by entering the Python script below into the python.microbit.org/v/2 editor, and also adding the cyberbot.py and Feedback360.py modules to the Project File as shown in Add Modules to your micro:bit. The Script Name was set to radio_tilt_grip_controller before saving it as a .hex file as shown in How to Save and Reopen a Script in Python Editor v2.
- Plug the battery pack’s barrel plug into the cyber:bot board’s barrel jack.
- Set the cyber:bot board’s PWR switch to 1.
- Click Connect, then Flash.
- Disconnect the USB from the cyber:bot robot’s micro:bit module.
Project Script:radio_tilt_grip_controlled_cyberbot_with_fb360
# radio_tilt_grip_controlled_cyberbot_with_fb360 from cyberbot import * from feedback360 import * import radio drive.connect() 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 = 0 vR = 0 if button == 'B': # added bot(15).servo_angle(30) # added Gripper close & lift elif button == 'A': # added bot(15).servo_angle(150) # added Gripper lower & open finally: drive.speed(vL/2, -vR/2)