Introduction
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-rplidar/badge/?version=latest
:target: https://docs.circuitpython.org/projects/rplidar/en/latest/
:alt: Documentation Status
.. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg
:target: https://adafru.it/discord
:alt: Discord
.. image:: https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/workflows/Build%20CI/badge.svg
:target: https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR
:alt: Build Status
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
:target: https://github.com/astral-sh/ruff
:alt: Code Style: Ruff
.. Provide a convenient interface to the Slamtec RPLidar.
Dependencies
Install with PyPy: pip install Adafruit_CircuitPython_RPLIDAR
This driver depends on:
Adafruit CircuitPython <https://github.com/adafruit/circuitpython>
_
Bus Device <https://github.com/adafruit/Adafruit_CircuitPython_BusDevice>
_
Register <https://github.com/adafruit/Adafruit_CircuitPython_Register>
_
Please ensure all dependencies are available on the CircuitPython filesystem.
This is easily achieved by downloading
the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_Bundle>
_.
Usage Example
.. code-block:: python
import os
from math import floor
from adafruit_rplidar import RPLidar
# Setup the RPLidar
PORT_NAME = '/dev/ttyUSB0'
lidar = RPLidar(None, PORT_NAME, timeout=3)
# used to scale data to fit on the screen
max_distance = 0
def process_data(data):
print(data)
scan_data = [0]*360
try:
# print(lidar.get_info())
for scan in lidar.iter_scans():
for (_, angle, distance) in scan:
scan_data[min([359, floor(angle)])] = distance
process_data(scan_data)
except KeyboardInterrupt:
print('Stopping.')
lidar.stop()
lidar.disconnect()
Documentation
API documentation for this library can be found on Read the Docs <https://docs.circuitpython.org/projects/rplidar/en/latest/>
_.
For information on building library documentation, please check out this guide <https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/sharing-our-docs-on-readthedocs#sphinx-5-1>
_.
Contributing
Contributions are welcome! Please read our Code of Conduct <https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/blob/main/CODE_OF_CONDUCT.md>
_
before contributing to help this project stay welcoming.