Skip to main content

A pantilt control utility

Project description

中文文档

pantilt

This is a tool kit containing Python utils

  1. for driving servos,
  2. for controlling camera at a two-servos pan tilt by widgets in jupyter notebook and a PS4 Joystick.

Quick Guide

1. To Initiate a Servo

from pantilt import Servo
s1 = Servo(channel=14, bus=0, max_angle=180, min_angle=0)

channel is number that servo has connected to PCA9685 board;
bus can be 0 or 1 or even 2;
max_angle min_angle is upper and lower limit we set for the servo.

s1.to_angle(45)
s1.reset()
s1.change_reset(0)
s1.add()
s1.sub(3)
s1.read()
s1.change_unit(30)
s1.to_min()
s1.to_max()

.to_angle() will turn to a angle;
.reset() will turn servo back to the default angle, which is (max_angle+min_angle)/2 as default;
.change_reset() This will change the default reset angle to input number.
Leaving bracket blank as .change_reset() will apply the current angle.

.add() changes the servo by adding one unit of angle, which is 10 degree as default.
.sub() changes the servo by subtracting one unit of angle;
An integer in its bracket means how many unit it will act on.
.change_unit() will change how many degree it turn for one unit.

.read() can read the current angle of the servo.
.to_min() will turn to the minimum angle.
.to_max() will turn to the maximum angle.

You can open a jupyter notebook file, servo_demo.ipynb, to have a try on this tool kit.

2. To Initiate a Pan Tilt

Its methods to control two servos at a pan tilt is similar to control a servo, here is a jupyter notebook file pan_tilt_demo.ipynb

3. Camera Pan Tilt

Walkthrough is here cam_pan_tilt_demo.ipynb

Install

  1. Clone the project, please rememeber to clone with parameter —recurse-submodules, because pantilt project referene another submodule bcam.
git clone --recurse-submodules  https://github.com/youyoubilly/pantilt.git
  1. Install pantilt

STL 3D Model

pan_tilt stl

You are welcome to download the stl file I designed for this simple pan tilt of CSI camera, and 3D print it out.
You may adjust the stl model for different use.

Other Languages

English document is available here: GitHub - pantilt
Chinese document is available here: 中文传送门; 国内仓库:Gitee传送门

It would be appreciated if you can contribute to write this document in other languages!

Donate

This project is developed on a non-commercial basis by Open Source enthusiasts.
If you find pantilt useful, you can support the lead developer by donating a few dollars via PayPal. With this money, we will be able to buy new hardware to test and do more such project for open source and for free education, and generally devote significantly more time to these projects.

Notes

If you find an issue, please let us know!

Sorry that I may have some typos or inaccurate expression in English, help me to correct them if you found one! Big Thanks!

Enjoy!

Billy Wang
BillioTech Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pantilt-0.0.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

pantilt-0.0.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file pantilt-0.0.1.tar.gz.

File metadata

  • Download URL: pantilt-0.0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.9

File hashes

Hashes for pantilt-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7f0045d08f5d203ad47710bc01bf65456363acdca5ef5f52eacc549746289472
MD5 ada1a98a61cc3ff7bb05650b241cb326
BLAKE2b-256 097646a4166125e2153ce6dd323cd4298a6ed001e773fa734c2ad944d725f775

See more details on using hashes here.

File details

Details for the file pantilt-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pantilt-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.9

File hashes

Hashes for pantilt-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c3bbf67b5cf8a4d99cd25725301f9301080155599db833b70850936ea84aa005
MD5 9c881ef2b6a6180565a4c138aede560a
BLAKE2b-256 e1499c6e54ce804e758921c3b3eecd221fe7f084980ccf88d7c5ab0362f07ea1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page