Script and Tests

Example Script: servo_buttons_control

  • Enter the servo_buttons_control script into python.microbit.org/v/2 .
  • Set the Script Name field to servo_buttons_control.
  • Click Load/Save, and then click Download Project Hex to save your work.  
  • Close the Load/Save dialog box after downloading.
  • In the python.microbit.org editor, click Connect, and then click Flash.   
# servo_buttons_control

from microbit import *

display.off()
pin9.set_pull(pin9.NO_PULL)
pin6.set_pull(pin6.NO_PULL)
pin16.set_analog_period(20)

value = 77

while True:
    state9 = pin9.read_digital()
    state6 = pin6.read_digital()

    if state9 is 1:
        value = value + 1
        if value > 128:
            value = 128
    if state6 is 1:
        value = value - 1
        if value < 26:
            value = 26
    
    pin16.write_analog(value)
    sleep(20)

Tests

It's time to verify that button presses adjust your servo's position.

  • Connect the battery pack to the Edge I/O Adapter.
  • Press and hold the P6 pushbutton.  Verify that the horn rotates to the 0° position and then stops.
  • Verify that you briefly press and release the P9 pushbutton, and that the servo angle increases toward 180° with each press.
  • Press and hold the P9 pushbutton.  Verify that the horn rotates to the 180° position and then stops.
  • Verify that you briefly press and release the P6 pushbutton, and that the servo angle decreases toward 0° with each press.
  • Disconnect the battery pack from the Edge I/O Adapter.