zephyr/samples/basic/servo_motor
Torsten Rasmussen 407b49b35c cmake: use find_package to locate Zephyr
Using find_package to locate Zephyr.

Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate
code.

Whenever an automatic run of CMake happend by the build system / IDE
then it was required that ZEPHYR_BASE was defined.
Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to
cache the base variable and thus allowing subsequent invocation even
if ZEPHYR_BASE is not set in the environment.

It also removes the risk of strange build results if a user switchs
between different Zephyr based project folders and forgetting to reset
ZEPHYR_BASE before running ninja / make.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-03-27 16:23:46 +01:00
..
src drivers: pwm: add support for inverted PWM signals 2020-01-07 18:13:18 +01:00
bbc_microbit.overlay license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
prj.conf
README.rst samples: servo_motor: remove whitelisting 2019-07-12 05:54:16 -07:00
sample.yaml tests: fix test identifiers 2019-12-09 15:53:44 -05:00

.. _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: