zephyr/samples/basic/servo_motor
Sebastian Bøe 55ee53ce91 cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts
Prepend the text 'cmake_minimum_required(VERSION 3.8.2)' into the
application and test build scripts.

Modern versions of CMake will spam users with a deprecation warning
when the toplevel CMakeLists.txt does not specify a CMake
version. This is documented in bug #8355.

To resolve this we include a cmake_minimum_required() line into the
toplevel build scripts. Additionally, cmake_minimum_required is
invoked from within boilerplate.cmake. The highest version will be
enforced.

This patch allows us to afterwards change CMake policy CMP000 from OLD
to NEW which in turn finally rids us of the verbose warning.

The extra boilerplate is considered more acceptable than the verbosity
of the CMP0000 policy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-08-15 04:06:50 -07:00
..
src
CMakeLists.txt cmake: Prepend 'cmake_minimum_required()' into 'app' build scripts 2018-08-15 04:06:50 -07:00
README.rst
prj.conf
prj_bbc_microbit.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
******

Arduino 101 and Quark D2000 CRB
===============================

You will need to connect the motor's red wire to 5V,
the black wire to ground and the white wire to PWM 0 via
the shield.

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 arduino_101 board:

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