mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Add some circuit diagrams and update docs
This commit is contained in:
@@ -1,8 +1,13 @@
|
|||||||
# Add-on boards and accessories
|
# Add-on boards and accessories
|
||||||
|
|
||||||
These additional interfaces have been provided to group collections of components together for ease of use, and as examples. They are made up of components from the various [input devices](inputs.md) and [output devices](outputs.md) provided by `gpiozero`. See those pages for more information on using components individually.
|
These additional interfaces have been provided to group collections of
|
||||||
|
components together for ease of use, and as examples. They are made up of
|
||||||
|
components from the various [input devices](inputs.md) and
|
||||||
|
[output devices](outputs.md) provided by `gpiozero`. See those pages for more
|
||||||
|
information on using components individually.
|
||||||
|
|
||||||
*Note all GPIO pin numbers use BCM numbering. See the [notes](notes.md) page for more information.*
|
*Note all GPIO pin numbers use BCM numbering. See the [notes](notes.md) page
|
||||||
|
for more information.*
|
||||||
|
|
||||||
## LED Board
|
## LED Board
|
||||||
|
|
||||||
@@ -137,30 +142,13 @@ Create a `PiTraffic` object:
|
|||||||
traffic = PiTraffic()
|
traffic = PiTraffic()
|
||||||
```
|
```
|
||||||
|
|
||||||
`PiTraffic` provides an identical interface to the generic `TrafficLights` interface, without the need to specify the pin numbers to be used.
|
`PiTraffic` provides an identical interface to the generic `TrafficLights`
|
||||||
|
interface, without the need to specify the pin numbers to be used.
|
||||||
|
|
||||||
To use the PI-TRAFFIC board on another set of pins, just use the generic `TrafficLights` interface.
|
The interface is identical to the generic `TrafficLights` interface.
|
||||||
|
|
||||||
### Methods
|
To use the PI-TRAFFIC board on another set of pins, just use the generic
|
||||||
|
`TrafficLights` interface.
|
||||||
| Method | Description | Arguments |
|
|
||||||
| ------ | ----------- | --------- |
|
|
||||||
| `on()` | Turn all three LEDs on. | None |
|
|
||||||
| `off()` | Turn all three LEDs off. | None |
|
|
||||||
| `toggle()` | Toggle all three LEDs. For each LED, if it's on, turn it off; if it's off, turn it on. | None |
|
|
||||||
| `blink()` | Make the LEDs turn on and off repeatedly. | `on_time` - The amount of time (in seconds) for the LED to be on each iteration. Default: `1` |
|
|
||||||
| | | `off_time` - The amount of time (in seconds) for the LED to be off each iteration. Default: `1` |
|
|
||||||
| | | `n` - The number of iterations. `None` means infinite. Default: `None` |
|
|
||||||
| | | `background` - If True, start a background thread to continue blinking and return immediately. If False, only return when the blink is finished (warning: the default value of n will result in this method never returning). Default: `True` |
|
|
||||||
|
|
||||||
### Properties
|
|
||||||
|
|
||||||
| Property | Description | Type |
|
|
||||||
| -------- | ----------- | ---- |
|
|
||||||
| `red` | Direct access to the red light as a single `LED` object. | LED |
|
|
||||||
| `amber` | Direct access to the amber light as a single `LED` object. | LED |
|
|
||||||
| `green` | Direct access to the green light as a single `LED` object. | LED |
|
|
||||||
| `leds` | A collection of LEDs to access each one individually, or to iterate over them in sequence. | Tuple |
|
|
||||||
|
|
||||||
## Fish Dish
|
## Fish Dish
|
||||||
|
|
||||||
@@ -229,7 +217,7 @@ Create a `TrafficHat` object by passing in the LED pin numbers by name:
|
|||||||
traffic = TrafficHat()
|
traffic = TrafficHat()
|
||||||
```
|
```
|
||||||
|
|
||||||
The interface is identical to the `FishDish`
|
The interface is identical to the `FishDish`.
|
||||||
|
|
||||||
## Robot
|
## Robot
|
||||||
|
|
||||||
@@ -243,7 +231,8 @@ Ensure the `Robot` class is imported at the top of the file:
|
|||||||
from gpiozero import Robot
|
from gpiozero import Robot
|
||||||
```
|
```
|
||||||
|
|
||||||
Create a `Robot` object by passing in the pin numbers of the forward and back pairs for each motor:
|
Create a `Robot` object by passing in the pin numbers of the forward and back
|
||||||
|
pairs for each motor:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
robot = Robot(left=(4, 14), right=(17, 18))
|
robot = Robot(left=(4, 14), right=(17, 18))
|
||||||
@@ -263,10 +252,22 @@ robot = Robot(left=(4, 14), right=(17, 18))
|
|||||||
|
|
||||||
Generic robot controller with pre-configured pin numbers.
|
Generic robot controller with pre-configured pin numbers.
|
||||||
|
|
||||||
Same interface as generic `Robot` class, without the need to configure pins:
|
Ensure the `RyanteckRobot` class is imported at the top of the file:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from gpiozero import RyanteckRobot
|
from gpiozero import RyanteckRobot
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a `RyanteckRobot` object:
|
||||||
|
|
||||||
|
```python
|
||||||
robot = RyanteckRobot()
|
robot = RyanteckRobot()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
There's no need to configure the pins if you're using the default pins
|
||||||
|
`(17, 18)` for the left motor and `(22, 23)` for the right motor.
|
||||||
|
|
||||||
|
The interface is identical to the generic `Robot` interface.
|
||||||
|
|
||||||
|
To use the Ryanteck MCB on another set of pins, just use the generic `Robot`
|
||||||
|
interface.
|
||||||
|
|||||||
BIN
docs/images/button.png
Normal file
BIN
docs/images/button.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
BIN
docs/images/led.png
Normal file
BIN
docs/images/led.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
BIN
docs/images/motion-sensor.png
Normal file
BIN
docs/images/motion-sensor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -14,7 +14,12 @@ A physical push button or switch.
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
...
|
Connect one side of the button to a ground pin, and the other to any GPIO pin:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
*Alternatively, connect to 3V3 and to a GPIO, and set `pull_up` to `False` when
|
||||||
|
you create your `Button` object.*
|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
|
|
||||||
@@ -62,7 +67,10 @@ A PIR (Passive Infra-Red) motion sensor.
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
...
|
Connect the pin labelled `VCC` to a 5V pin; connect the one labelled `GND` to
|
||||||
|
a ground pin; and connect the one labelled `OUT` to any GPIO pin:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
|
|
||||||
@@ -76,7 +84,7 @@ Create a `MotionSensor` object by passing in the pin number the sensor is
|
|||||||
connected to:
|
connected to:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
pir = MotionSensor(3)
|
pir = MotionSensor(4)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
|
|||||||
@@ -14,7 +14,13 @@ An LED (Light emitting diode) component.
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
...
|
Connect the cathode (the short leg) of the LED to a ground pin, and connect the
|
||||||
|
anode (the longer leg) to any GPIO pin, with a current limiting resistor in
|
||||||
|
between:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
*Altenatively, use a breadboard to wire up the LED in the same way*
|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
|
|
||||||
@@ -27,7 +33,7 @@ from gpiozero import LED
|
|||||||
Create an `LED` object by passing in the pin number the LED is connected to:
|
Create an `LED` object by passing in the pin number the LED is connected to:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
led = LED(2)
|
led = LED(17)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
@@ -55,6 +61,9 @@ A digital Buzzer component.
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
|
Connect the negative pin of the buzzer to a ground pin, and connect the
|
||||||
|
positive side to any GPIO pin:
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
@@ -65,7 +74,8 @@ Ensure the `Buzzer` class is imported at the top of the file:
|
|||||||
from gpiozero import Buzzer
|
from gpiozero import Buzzer
|
||||||
```
|
```
|
||||||
|
|
||||||
Create a `Buzzer` object by passing in the pin number the buzzer is connected to:
|
Create a `Buzzer` object by passing in the pin number the buzzer is connected
|
||||||
|
to:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
buzzer = Buzzer(3)
|
buzzer = Buzzer(3)
|
||||||
@@ -96,6 +106,10 @@ A full colour LED component (made up of Red, Green and Blue LEDs).
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
|
Connect the common cathode (the longest leg) to a ground pin; connect each of
|
||||||
|
the other legs (representing the red, green and blue components of the LED) to
|
||||||
|
any GPIO pins, each with a current limiting resistor in between:
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
@@ -141,6 +155,9 @@ Generic bi-directional motor.
|
|||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
|
Attach a Motor Controller Board to your Pi, connect a battery pack to the Motor
|
||||||
|
Controller Board, and connect each side of the motor to any GPIO pin:
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
||||||
### Code
|
### Code
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
# Recipes
|
# Recipes
|
||||||
|
|
||||||
*Note that reaching the end of a Python file will terminate the process and GPIOs may be reset. Keep your program alive with `signal.pause` - see the [notes](notes.md) page for more information.*
|
*Note that reaching the end of a Python file will terminate the process and
|
||||||
|
GPIOs may be reset. Keep your program alive with `signal.pause` - see the
|
||||||
|
[notes](notes.md) page for more information.*
|
||||||
|
|
||||||
## LED
|
## LED
|
||||||
|
|
||||||
@@ -174,7 +176,9 @@ while True:
|
|||||||
led.off()
|
led.off()
|
||||||
```
|
```
|
||||||
|
|
||||||
See [Quick Reaction Game](https://www.raspberrypi.org/learning/quick-reaction-game/) for a full resource.
|
See
|
||||||
|
[Quick Reaction Game](https://www.raspberrypi.org/learning/quick-reaction-game/)
|
||||||
|
for a full resource.
|
||||||
|
|
||||||
## GPIO Music Box
|
## GPIO Music Box
|
||||||
|
|
||||||
@@ -203,7 +207,8 @@ for button in buttons:
|
|||||||
button.when_pressed = sound.play
|
button.when_pressed = sound.play
|
||||||
```
|
```
|
||||||
|
|
||||||
See [GPIO Music Box](https://www.raspberrypi.org/learning/gpio-music-box/) for a full resource.
|
See [GPIO Music Box](https://www.raspberrypi.org/learning/gpio-music-box/)
|
||||||
|
for a full resource.
|
||||||
|
|
||||||
## All on when pressed
|
## All on when pressed
|
||||||
|
|
||||||
@@ -446,7 +451,8 @@ while True:
|
|||||||
|
|
||||||
## Full Colour LED controlled by 3 Potentiometers
|
## Full Colour LED controlled by 3 Potentiometers
|
||||||
|
|
||||||
Wire up three potentiometers (for red, green and blue) and use each of their values to make up the colour of the LED:
|
Wire up three potentiometers (for red, green and blue) and use each of their
|
||||||
|
values to make up the colour of the LED:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from gpiozero import RGBLED, MCP3008
|
from gpiozero import RGBLED, MCP3008
|
||||||
|
|||||||
Reference in New Issue
Block a user