mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Add documentation for Motor, Robot and RyanteckRobot
This commit is contained in:
@@ -8,6 +8,8 @@ These additional interfaces have been provided to group collections of component
|
||||
|
||||
A Generic LED Board or collection of LEDs.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `LEDBoard` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
@@ -39,6 +41,8 @@ leds = LEDBoard([2, 3, 4, 5, 6])
|
||||
|
||||
Generic Traffic Lights set.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `TrafficLights` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
@@ -79,6 +83,8 @@ traffic = TrafficLights(2, 3, 4)
|
||||
|
||||
Ciseco Pi-LITEr: strip of 8 very bright LEDs.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `PiLiter` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
@@ -148,6 +154,8 @@ To use the PI-TRAFFIC board on another set of pins, just use the generic `Traffi
|
||||
|
||||
Pi Supply Fish Dish: traffic light LEDs, a button and a buzzer.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `FishDish` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
@@ -189,6 +197,8 @@ fish = FishDish()
|
||||
|
||||
Ryanteck Traffic HAT: traffic light LEDs, a button and a buzzer.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `TrafficHat` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
@@ -225,3 +235,43 @@ traffic = TrafficHat()
|
||||
| `button` | Direct access to the button as a single `Button` object. | LED |
|
||||
| `leds` | A collection of LEDs to access each one individually, or to iterate over them in sequence. | Tuple |
|
||||
| `all` | A collection of the board's output components to access each one individually, or to iterate over them in sequence. | Tuple |
|
||||
|
||||
## Traffic HAT
|
||||
|
||||
Ryanteck Traffic HAT: traffic light LEDs, a button and a buzzer.
|
||||
|
||||
### Code
|
||||
|
||||
Ensure the `Robot` class is imported at the top of the file:
|
||||
|
||||
```python
|
||||
from gpiozero import Robot
|
||||
```
|
||||
|
||||
Create a `Robot` object by passing in the pin numbers of the forward and back pairs for each motor:
|
||||
|
||||
```python
|
||||
robot = Robot(left=(4, 14), right=(17, 18))
|
||||
```
|
||||
|
||||
### Methods
|
||||
|
||||
| Method | Description | Arguments |
|
||||
| ------ | ----------- | --------- |
|
||||
| `forward()` | Drive the robot forwards. | `seconds` - The number of seconds to drive for. If `None`, stay on. Default: `None` |
|
||||
| `backward()` | Drive the robot backwards. | `seconds` - The number of seconds to drive for. If `None`, stay on. Default: `None` |
|
||||
| `left()` | Make the robot turn left. | `seconds` - The number of seconds to turn for. If `None`, stay on. Default: `None` |
|
||||
| `right()` | Make the robot turn right. | `seconds` - The number of seconds to turn for. If `None`, stay on. Default: `None` |
|
||||
| `stop()` | Stop the robot. | None |
|
||||
|
||||
## Ryanteck MCB Robot
|
||||
|
||||
Generic robot controller with pre-configured pin numbers.
|
||||
|
||||
Same interface as generic `Robot` class, without the need to configure pins:
|
||||
|
||||
```python
|
||||
from gpiozero import RyanteckRobot
|
||||
|
||||
robot = RyanteckRobot()
|
||||
```
|
||||
|
||||
@@ -149,22 +149,16 @@ Ensure the `Motor` class is imported at the top of the file:
|
||||
from gpiozero import Motor
|
||||
```
|
||||
|
||||
Create a `Motor` object by passing in the pin number the motor is connected to:
|
||||
Create a `Motor` object by passing in the pin numbers the motor is connected to:
|
||||
|
||||
```python
|
||||
motor = Motor(4)
|
||||
motor = Motor(forward=17, back=18)
|
||||
```
|
||||
|
||||
### Methods
|
||||
|
||||
| Method | Description | Arguments |
|
||||
| ------ | ----------- | --------- |
|
||||
| `on()` | Turn the motor on. | None |
|
||||
| `off()` | Turn the motor off. | None |
|
||||
|
||||
### Properties
|
||||
|
||||
| Property | Description | Type |
|
||||
| -------- | ----------- | ---- |
|
||||
| `pin` | The GPIO pin number the motor is connected to. | Integer |
|
||||
| `is_active` | The current state of the pin (`True` if on; `False` if off). | Boolean |
|
||||
| `forward()` | Drive the motor forwards. | `seconds` - The number of seconds to stay on for. If `None`, stay on. Default: `None` |
|
||||
| `backward()` | Drive the motor backwards. | `seconds` - The number of seconds to stay on for. If `None`, stay on. Default: `None` |
|
||||
| `stop()` | Stop the motor. | None |
|
||||
|
||||
@@ -231,7 +231,8 @@ class Robot(object):
|
||||
|
||||
def left(self, seconds=None):
|
||||
"""
|
||||
Turn left. If seconds given, stop after given number of seconds.
|
||||
Make the robot turn left. If seconds given, stop after given number of
|
||||
seconds.
|
||||
|
||||
seconds: None
|
||||
Number of seconds to turn left for
|
||||
@@ -245,7 +246,8 @@ class Robot(object):
|
||||
|
||||
def right(self, seconds=None):
|
||||
"""
|
||||
Turn right. If seconds given, stop after given number of seconds.
|
||||
Make the robot turn right. If seconds given, stop after given number of
|
||||
seconds.
|
||||
|
||||
seconds: None
|
||||
Number of seconds to turn right for
|
||||
@@ -259,7 +261,7 @@ class Robot(object):
|
||||
|
||||
def forward(self, seconds=None):
|
||||
"""
|
||||
Drive forward. If seconds given, stop after given number of seconds.
|
||||
Drive the robot forward. If seconds given, stop after given number of seconds.
|
||||
|
||||
seconds: None
|
||||
Number of seconds to drive forward for
|
||||
@@ -273,7 +275,7 @@ class Robot(object):
|
||||
|
||||
def backward(self, seconds=None):
|
||||
"""
|
||||
Drive backward. If seconds given, stop after given number of seconds.
|
||||
Drive the robot backward. If seconds given, stop after given number of seconds.
|
||||
|
||||
seconds: None
|
||||
Number of seconds to drive backward for
|
||||
@@ -287,13 +289,16 @@ class Robot(object):
|
||||
|
||||
def stop(self):
|
||||
"""
|
||||
Stop both motors.
|
||||
Stop the robot.
|
||||
"""
|
||||
self._left.stop()
|
||||
self._right.stop()
|
||||
|
||||
|
||||
class RyanteckRobot(Robot):
|
||||
"""
|
||||
RTK MCB Robot. Generic robot controller with pre-configured pin numbers.
|
||||
"""
|
||||
def __init__(self):
|
||||
left = (17, 18)
|
||||
right = (22, 23)
|
||||
|
||||
@@ -256,14 +256,14 @@ class Motor(object):
|
||||
|
||||
def forward(self):
|
||||
"""
|
||||
Turn the motor on, forwards
|
||||
Drive the motor forwards
|
||||
"""
|
||||
self._forward.on()
|
||||
self._backward.off()
|
||||
|
||||
def backward(self):
|
||||
"""
|
||||
Turn the motor on, backwards
|
||||
Drive the motor backwards
|
||||
"""
|
||||
self._backward.on()
|
||||
self._forward.off()
|
||||
|
||||
Reference in New Issue
Block a user