Update the Receiver cyber:bot Script
The transmitter micro:bit should still be running the same script from the previous activity. That’s radio_tilt_controller_w_stop_range.
Now for the new cyber:bot receiver script!
Example script: radio_tilt_bot_fb_lr_with_stop_range
- Set the cyber:bot board’s PWR switch to 0.
- Make sure you are working in the browser with the micro:bit Python Editor that is connected to the radio tilt controlled cyber:bot.
- If the radio_tilt_bot_fb_with_stop_range script isn’t already open, click Open, and find and open it.
- Change the project name to radio_tilt_bot_fb_lr_with_stop_range.
- Update the script to match the one below.
- If you are in a classroom, adjust the channel= in the script to your assigned channel.
- Click Save, and then click Send to micro:bit.
# radio_tilt_bot_fb_lr_with_stop_range from cyberbot import * import radio radio.on() radio.config(channel=7, queue=1, length=64) while True: packet = radio.receive() if packet: dictionary = eval(packet) x = dictionary.get('x') y = dictionary.get('y') needle = dictionary.get('needle') fb = y / 10 lr = x / 10 if abs(fb) > 8: display.show(Image.ALL_CLOCKS[needle]) vL = fb vR = -fb if(fb < 0): lr = -lr vL = vL - lr vR = vR - lr else: display.show(Image.DIAMOND_SMALL) bot(18).servo_speed(vL) bot(19).servo_speed(vR)
- Set the cyber:bot board PWR switch to 1.
- Repeat the needle/diamond display tests from the previous activity.
- Set the cyber:bot board PWR switch to 2.
- Now, tilt the micro:bit transmitter in the directions shown in the table, and verify that the cyber:bot moves as expected:
Tilt the micro:bit transmitter | Verify the cyber:bot maneuver |
---|---|
Level | Stay still |
Slightly away from you | Forward slowly |
Further away from you | Forward faster |
Slightly toward you | Slowly backward |
Further toward you | Faster backward |
Away from you and to the left | Curve forward and to the left |
Away from you and to the right | Curve forward and to the right |
Toward you and to the left | Curve backward and to the left |
Toward you and to the right | Curve backward and to the right |
- Set the cyber:bot board’s PWR switch to 0.
- Make sure you are working in the browser with the micro:bit Python Editor that is connected to the radio tilt controlled cyber:bot.
- If the radio_tilt_bot_fb_with_stop_range script isn’t already open, click Open, and find and open it.
- Change the project name to radio_tilt_bot_fb_lr_with_stop_range.
- Update the script to match the one below.
- If you are in a classroom, adjust the channel= in the script to your assigned channel.
- Click Save, and then click Send to micro:bit.
# radio_tilt_bot_fb_lr_with_stop_range from cyberbot import * import radio radio.on() radio.config(channel=7, queue=1, length=64) while True: packet = radio.receive() if packet: dictionary = eval(packet) x = dictionary.get('x') y = dictionary.get('y') needle = dictionary.get('needle') fb = y / 10 lr = x / 10 if abs(fb) > 8: display.show(Image.ALL_CLOCKS[needle]) vL = fb vR = -fb if(fb < 0): lr = -lr vL = vL - lr vR = vR - lr else: display.show(Image.DIAMOND_SMALL) bot(18).servo_speed(vL) bot(19).servo_speed(vR)
- Set the cyber:bot board PWR switch to 1.
- Repeat the needle/diamond display tests from the previous activity.
- Set the cyber:bot board PWR switch to 2.
- Now, tilt the micro:bit transmitter in the directions shown in the table, and verify that the cyber:bot moves as expected:
Tilt the micro:bit transmitter | Verify the cyber:bot maneuver |
---|---|
Level | Stay still |
Slightly away from you | Forward slowly |
Further away from you | Forward faster |
Slightly toward you | Slowly backward |
Further toward you | Faster backward |
Away from you and to the left | Curve forward and to the left |
Away from you and to the right | Curve forward and to the right |
Toward you and to the left | Curve backward and to the left |
Toward you and to the right | Curve backward and to the right |