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.