zephyr/samples/boards/bbc_microbit/line_follower_robot
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 samples: micro:bit: Convert line_follower_robot sample to new GPIO API 2020-02-05 12:00:36 +01: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

.. _microbit_line_follower_robot:

BBC micro:bit line-follower robot
#################################

Overview
********
This sample show makers and robotics engineers how to use a Zephyr
OS application to control a stand-alone line-following DFRobot Maqueen
robot chassis containing a BBC micro:bit board.

Building and running
********************

To build and run this sample you'll need a `DFRobot Maqueen robot
chassis (ROB0148) <https://www.dfrobot.com/product-1783.html>`_
with a BBC micro:bit board. Use black tape to create a line track
for the robot to follow. Build and flash the program to the BBC
micro:bit board (described below), turn on the robot,
and put it on the black line track.

Build this sample project using these commands:

.. zephyr-app-commands::
  :zephyr-app: samples/boards/bbc_microbit/line_follower_robot
  :board: bbc_microbit
  :goals: build
  :compact:

Then flash the program to the micro:bit board.

Sample Output
*************

The sample program controls the robot to follow a line track and does
not write to the console. You can watch this `robot video`_
to see it in action.

.. _robot video:
   https://youtu.be/tIvoHQjo8a4