Skip to content
Parallax Learn

Parallax Learn

  • Welcome
  • Tutorials
        • Tutorial Series head tag

          Tutorial Series
        • Tutorial Series

          The special, classroom-ready series pages are organized collections of tutorials for our most popular hardware and/or languages. The tutorials for each topic are conveniently accessible from a single page, shown in the order it is recommended that they be completed.
        • Robotics Series Head tag

          Robotics Series
        • Robotics Series

          • Artificial Intelligence
          • Cybersecurity: Radio Data tutorialCybersecurity
          • cyber:bot + Python
          • cyber:bot + MakeCode
          • Boe-Bot Tutorial SeriesBoe-Bot
          • Arduino Shield-Bot
          • ActivityBot with C TutorialsActivityBot + C
          • ActivityBot with BlocklyProp Tutorial SeriesActivityBot + BlocklyProp
          • Scribbler 3 Tutorial SeriesScribbler 3
        • Electronics & Programming Series Head tag

          Electronics & Programming Series
          • BS2 Board of Education Tutorial SeriesBS2 Board of Education
          • Propeller C-Language BasicsPropeller C Basics
          • FLiP Try-It Kit C Tutorial SeriesFLiP Try-It Kit + C
          • FLiP Try-It Kit BlocklyProp TutorialsFLiP Try-It Kit + BlocklyProp
          • Badge WX Tutorial SeriesBadge WX
          • Propeller BlocklyProp Basics and ProjectsPropeller BlocklyProp Basics
          • View All Tutorial Series »
        • Browse Tutorials
        • Browse Tutorials

          Individual tutorials sorted by robot or kit, and language.
        • By Robot or Kit
          • ActivityBot
          • SumoBot WX
          • Boe-Bot
          • Shield-Bot
          • cyber:bot
          • Badge WX
          • ELEV-8
          • ARLO
        • By Language
        • By Language

          • Propeller C
          • Arduino
          • BlocklyProp
          • PBASIC
          • Python
          • MakeCode
          • View All Tutorials »
  • Educators
  • Reference
  • Downloads
  • Home
  • All Courses

Servo Position Control with Python and micro:bit

Curriculum

  • 1 Section
  • 31 Lessons
  • Lifetime
Expand all sectionsCollapse all sections
  • Servo Position Control with Python and micro:bit
    31
    • 1.1
      Setup from Previous Tutorials
    • 1.2
      Battery Pack: Load, Connect, Test
    • 1.3
      Script and Tests
    • 1.4
      How it Works
    • 1.5
      Regulated vs Unregulated Supply
    • 1.6
      Review and Practice
    • 1.7
      Solutions
    • 1.8
      Connect and Test the Servo
    • 1.9
      Script and Tests
    • 1.10
      How it Works
    • 1.11
      Equations for Setting Servo Angles
    • 1.12
      Review and Practice
    • 1.13
      Solutions
    • 1.14
      Pushbutton Servo Control
    • 1.15
      Script and Tests
    • 1.16
      How it Works
    • 1.17
      Angle and Angular Velocity
    • 1.18
      Review and Practice
    • 1.19
      Solutions
    • 1.20
      Tilt Servo Control
    • 1.21
      Script and Tests
    • 1.22
      How it Works
    • 1.23
      Pass Statement
    • 1.24
      Review and Practice
    • 1.25
      Solutions
    • 1.26
      Measure Servo Signals
    • 1.27
      Script and Tests
    • 1.28
      How it Works
    • 1.29
      One More Angle
    • 1.30
      Review and Practice
    • 1.31
      Solutions

Script and Tests

Example Script: servo_buttons_control

  • Connect your micro:bit module to your computer with its USB cable.
  • In Google Chrome or Microsoft Edge browser, open the micro:bit Python Editor. 
  • Set the project name field to servo_buttons_control, enter the script, and click Save. 
    (See Save & Edit Scripts.)  
  • Click Send to micro:bit.
    (See Flash Scripts with Python Editor.)
# 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.

 


Printer-friendly version
Pushbutton Servo Control
Prev
How it Works
Next

DISCUSSION FORUMS | PARALLAX INC. STORE

About | Terms of Use | Feedback: learn@parallax.com | Copyright©Parallax Inc. 2024

© 2026 Parallax Learn • Built with GeneratePress