mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
Change RGBLED interface from 0-100 to 0-255, close #40
This commit is contained in:
@@ -130,14 +130,14 @@ led = RGBLED(2, 3, 4)
|
|||||||
|
|
||||||
| Property | Description | Type |
|
| Property | Description | Type |
|
||||||
| -------- | ----------- | ---- |
|
| -------- | ----------- | ---- |
|
||||||
| `red` | The brightness value of the red LED (0 to 100). | Integer |
|
| `red` | The brightness value of the red LED (0 to 255). | Integer |
|
||||||
| `green` | The brightness value of the green LED (0 to 100). | Integer |
|
| `green` | The brightness value of the green LED (0 to 255). | Integer |
|
||||||
| `blue` | The brightness value of the blue LED (0 to 100). | Integer |
|
| `blue` | The brightness value of the blue LED (0 to 255). | Integer |
|
||||||
| `rgb` | The brightness values of the three LEDs (0 to 100). | Tuple |
|
| `rgb` | The brightness values of the three LEDs (0 to 255). | Tuple |
|
||||||
|
|
||||||
## Motor
|
## Motor
|
||||||
|
|
||||||
Generic single-direction motor.
|
Generic bi-directional motor.
|
||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
||||||
|
|||||||
@@ -266,20 +266,20 @@ from time import sleep
|
|||||||
|
|
||||||
led = RGBLED(red=9, green=10, blue=11)
|
led = RGBLED(red=9, green=10, blue=11)
|
||||||
|
|
||||||
led.red = 100 # full red
|
led.red = 255 # full red
|
||||||
led.red = 50 # half red
|
led.red = 128 # half red
|
||||||
|
|
||||||
led.rgb = (0, 100, 0) # full green
|
led.rgb = (0, 255, 0) # full green
|
||||||
|
|
||||||
led.rgb = (100, 0, 100) # magenta
|
led.rgb = (255, 0, 255) # magenta
|
||||||
led.rgb = (100, 100, 0) # yellow
|
led.rgb = (255, 255, 0) # yellow
|
||||||
led.rgb = (0, 100, 100) # cyan
|
led.rgb = (0, 255, 100) # cyan
|
||||||
led.rgb = (100, 100, 100) # white
|
led.rgb = (255, 255, 255) # white
|
||||||
|
|
||||||
led.rgb = (0, 0, 0) # off
|
led.rgb = (0, 0, 0) # off
|
||||||
|
|
||||||
# slowly increase intensity of blue
|
# slowly increase intensity of blue
|
||||||
for n in range(100):
|
for n in range(256):
|
||||||
led.blue += 1
|
led.blue += 1
|
||||||
sleep(0.1)
|
sleep(0.1)
|
||||||
```
|
```
|
||||||
@@ -365,7 +365,7 @@ from gpiozero import RGBLED, MCP3008
|
|||||||
|
|
||||||
def read_pot(channel):
|
def read_pot(channel):
|
||||||
with MCP3008(channel=channel) as pot:
|
with MCP3008(channel=channel) as pot:
|
||||||
return 100 * pot.read() / 1023
|
return 255 * pot.read() / 1023
|
||||||
|
|
||||||
led = RGBLED(red=2, green=3, blue=4)
|
led = RGBLED(red=2, green=3, blue=4)
|
||||||
|
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ class RGBLED(object):
|
|||||||
|
|
||||||
@red.setter
|
@red.setter
|
||||||
def red(self, value):
|
def red(self, value):
|
||||||
self._red.value = value
|
self._red.value = self._validate(value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def green(self):
|
def green(self):
|
||||||
@@ -246,7 +246,7 @@ class RGBLED(object):
|
|||||||
|
|
||||||
@green.setter
|
@green.setter
|
||||||
def green(self, value):
|
def green(self, value):
|
||||||
self._green.value = value
|
self._green.value = self._validate(value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def blue(self):
|
def blue(self):
|
||||||
@@ -254,21 +254,31 @@ class RGBLED(object):
|
|||||||
|
|
||||||
@blue.setter
|
@blue.setter
|
||||||
def blue(self, value):
|
def blue(self, value):
|
||||||
self._blue.value = value
|
self._blue.value = self._validate(value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def rgb(self):
|
def rgb(self):
|
||||||
r = self._red.value
|
r = self.red
|
||||||
g = self._green.value
|
g = self.green
|
||||||
b = self._blue.value
|
b = self.blue
|
||||||
return (r, g, b)
|
return (r, g, b)
|
||||||
|
|
||||||
@rgb.setter
|
@rgb.setter
|
||||||
def rgb(self, values):
|
def rgb(self, values):
|
||||||
r, g, b = values
|
r, g, b = values
|
||||||
self._red.value = r
|
self.red = r
|
||||||
self._green.value = g
|
self.green = g
|
||||||
self._blue.value = b
|
self.blue = b
|
||||||
|
|
||||||
|
def _validate(self, value):
|
||||||
|
_min = self._min_value
|
||||||
|
_max = self._max_value
|
||||||
|
if _min >= value >= _max:
|
||||||
|
return value
|
||||||
|
else:
|
||||||
|
raise GPIODeviceError(
|
||||||
|
"Colour value must be between %s and %s" % (_min, _max)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Motor(object):
|
class Motor(object):
|
||||||
|
|||||||
Reference in New Issue
Block a user