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
|
||||
|
||||
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
|
||||
|
||||
@@ -137,30 +142,13 @@ Create a `PiTraffic` object:
|
||||
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
|
||||
|
||||
| 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 |
|
||||
To use the PI-TRAFFIC board on another set of pins, just use the generic
|
||||
`TrafficLights` interface.
|
||||
|
||||
## Fish Dish
|
||||
|
||||
@@ -229,7 +217,7 @@ Create a `TrafficHat` object by passing in the LED pin numbers by name:
|
||||
traffic = TrafficHat()
|
||||
```
|
||||
|
||||
The interface is identical to the `FishDish`
|
||||
The interface is identical to the `FishDish`.
|
||||
|
||||
## Robot
|
||||
|
||||
@@ -243,7 +231,8 @@ Ensure the `Robot` class is imported at the top of the file:
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
from gpiozero import RyanteckRobot
|
||||
```
|
||||
|
||||
Create a `RyanteckRobot` object:
|
||||
|
||||
```python
|
||||
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
|
||||
|
||||
...
|
||||
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
|
||||
|
||||
@@ -62,7 +67,10 @@ A PIR (Passive Infra-Red) motion sensor.
|
||||
|
||||
### 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
|
||||
|
||||
@@ -76,7 +84,7 @@ Create a `MotionSensor` object by passing in the pin number the sensor is
|
||||
connected to:
|
||||
|
||||
```python
|
||||
pir = MotionSensor(3)
|
||||
pir = MotionSensor(4)
|
||||
```
|
||||
|
||||
### Methods
|
||||
|
||||
@@ -14,7 +14,13 @@ An LED (Light emitting diode) component.
|
||||
|
||||
### 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
|
||||
|
||||
@@ -27,7 +33,7 @@ from gpiozero import LED
|
||||
Create an `LED` object by passing in the pin number the LED is connected to:
|
||||
|
||||
```python
|
||||
led = LED(2)
|
||||
led = LED(17)
|
||||
```
|
||||
|
||||
### Methods
|
||||
@@ -55,6 +61,9 @@ A digital Buzzer component.
|
||||
|
||||
### Wiring
|
||||
|
||||
Connect the negative pin of the buzzer to a ground pin, and connect the
|
||||
positive side to any GPIO pin:
|
||||
|
||||
...
|
||||
|
||||
### Code
|
||||
@@ -65,7 +74,8 @@ Ensure the `Buzzer` class is imported at the top of the file:
|
||||
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
|
||||
buzzer = Buzzer(3)
|
||||
@@ -96,6 +106,10 @@ A full colour LED component (made up of Red, Green and Blue LEDs).
|
||||
|
||||
### 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
|
||||
@@ -141,6 +155,9 @@ Generic bi-directional motor.
|
||||
|
||||
### 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
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# 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
|
||||
|
||||
@@ -174,7 +176,9 @@ while True:
|
||||
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
|
||||
|
||||
@@ -203,7 +207,8 @@ for button in buttons:
|
||||
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
|
||||
|
||||
@@ -446,7 +451,8 @@ while True:
|
||||
|
||||
## 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
|
||||
from gpiozero import RGBLED, MCP3008
|
||||
|
||||
Reference in New Issue
Block a user