Let's build on experience, and adapt a familiar script from a previous tutorial to use keyboard inputs.
Starting with the countdown_sender script from the Send and Receive Packets [1] activity, you can replace its input statements with the ones from terminal_controlled_bot_tethered_try_this. Then, the dictionary that’s created has to be adjusted to contain the vL, vR, and ms keys and values. That’s the most crucial part of incorporating the terminal-in, radio-out part of your tethered app into script that wirelessly transmits.
This animated GIF shows the script being modified:
You will also need to make a few other adjustments. Here they are, step-by-step:
vL = int(input("Enter left speed: ")) vR = int(input("Enter right speed: ")) ms = int(input("Enter ms to run: "))
text = input("Enter countdown start: ") value = int(text) message = input("Enter message after countdown: ")
dictionary['start'] = value dictionary['after'] = message
dictionary['vL'] = vL dictionary['vR'] = vR dictionary['ms'] = ms
print("Countdown App") print("micro:bit sender")
Replace them with this line:
print("\nSpeeds are -100 to 100\n")
radio.config(channel=7,length=50)
It should look like this:
radio.config(channel=7,length=64)
Now, your script should be ready.
# terminal_bot_controller_wireless.py from microbit import * import radio radio.on() radio.config(channel=7,length=64) sleep(1000) print("\nSpeeds are -100 to 100\n") while True: vL = int(input("Enter left speed: ")) vR = int(input("Enter right speed: ")) ms = int(input("Enter ms to run: ")) dictionary = { } dictionary['vL'] = vL dictionary['vR'] = vR dictionary['ms'] = ms packet = str(dictionary) print("Send: ", packet) radio.send(packet) print()
Links
[1] http://learn.parallax.com/tutorials/robot/cyberbot/cybersecurity-radio-data/send-and-receive-packets