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

  • If you are in a classroom, adjust the channel= in the script to your assigned channel.
  • Enter, save, and flash radio_tilt_transmit_test into the micro:bit that you will use to measure and transmit tilt data.  
# 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)
  • Open the terminal.
  • 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.