zephyr/samples/basic/servo_motor
Peter Bigot ecf3bdb5b3 coccinelle: re-run timeout conversion semantic patch
Run the int_literal_to_timeout Coccinelle script to fix places where
it is clear that an integer duration is being passed where a timeout
value is required.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-04-02 19:47:51 +03:00
..
boards samples: basic: servo_motor: Move dts overlays under boards 2020-04-01 10:44:31 -04:00
src coccinelle: re-run timeout conversion semantic patch 2020-04-02 19:47:51 +03:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
README.rst
prj.conf
sample.yaml

README.rst

.. _servo-motor-sample:

PWM: Servo motor
################

Overview
********

This is a sample app which drives a servo motor using PWM.

This app is targeted for servo motor ROB-09065. With the PWM control signal, the
servo motor can rotate to any angle between 0 and 180 degrees. The corresponding
PWM pulse width is between 700 micro seconds and 2300 micro seconds. The motor
is programmed to rotate back and forth in the 180 degree range.

Since different servo motors may require different PWM pulse width, you may need
to modify the pulse width in the app if you are using a different servo motor.

Wiring
******

BBC micro:bit
=============

You will need to connect the motor's red wire to external 5V, the black wire to
ground and the white wire to pad 0 on the edge connector.

Building and Running
********************

This sample can be built for multiple boards, in this example we will build it
for the bbc_microbit board:

.. zephyr-app-commands::
   :zephyr-app: samples/basic/servo_motor
   :board: bbc_microbit
   :goals: build flash
   :compact: