Radio-Transmit Tilt
The radio_tilt_transmit_test script is a modified version of display_tilt_down_with_leds with packetizing and transmitting from Cybersecurity: Radio Data’s Send and Receive packets activity. The packet it sends contains x, y, and needle key-value pairs that the receiver will be able to parse and use.
Example script: radio_tilt_transmit_test
- Make sure the micro:bit you have connected to the computer is the one you plan to use as the tilt controller.
- In the micro:bit Python Editor, set the project name to radio_tilt_transmit_test.
- Enter the script into the editor.
- 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_transmit_test from microbit import * import math import radio radio.on() radio.config(channel=7, queue=1, length=64) sleep(1000) while True: x = accelerometer.get_x() y = accelerometer.get_y() angle = round( math.degrees( math.atan2(y, x) ) ) needle = ( angle + 90 + 15 ) // 30 print("Send:") print("x =", x, ", y =", y, ", needle =", needle) print() display.show(Image.ALL_CLOCKS[needle]) dictionary = { } dictionary['x'] = x dictionary['y'] = y dictionary['needle'] = needle packet = str(dictionary) radio.send(packet) sleep(500)
- Check the results in the serial monitor.
- Tilt the micro:bit in various directions.
- Verify that it displays the direction you are tilting with the LEDs.
- Verify that it displays the x, y, and needle measurements in the terminal.
- Make sure the micro:bit you have connected to the computer is the one you plan to use as the tilt controller.
- In the micro:bit Python Editor, set the project name to radio_tilt_transmit_test.
- Enter the script into the editor.
- 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_transmit_test from microbit import * import math import radio radio.on() radio.config(channel=7, queue=1, length=64) sleep(1000) while True: x = accelerometer.get_x() y = accelerometer.get_y() angle = round( math.degrees( math.atan2(y, x) ) ) needle = ( angle + 90 + 15 ) // 30 print("Send:") print("x =", x, ", y =", y, ", needle =", needle) print() display.show(Image.ALL_CLOCKS[needle]) dictionary = { } dictionary['x'] = x dictionary['y'] = y dictionary['needle'] = needle packet = str(dictionary) radio.send(packet) sleep(500)
- Check the results in the serial monitor.
- Tilt the micro:bit in various directions.
- Verify that it displays the direction you are tilting with the LEDs.
- Verify that it displays the x, y, and needle measurements in the terminal.