Script and Tests

Example Script: servo_buttons_control

# 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.