Page 7 of 13
Page 116
from gpiozero import LightSensor
class Moisture(LightSensor):
def __init__(self, pin=None, queue_len=5, charge_time_limit=0.01, threshold=0.1, partial=False, pin_factory=None):
super(Moisture, self).__init__(pin, threshold=threshold, queue_len=queue_len,
charge_time_limit=charge_time_limit, pin_factory=pin_factory)
Moisture.wait_for_dry = Moisture.wait_for_light
Moisture.wait_for_wet = Moisture.wait_for_dark
Moisture.when_dry = Moisture.when_light
Moisture.when_wet = Moisture.when_dark
Page 119
from gpiozero import PWMLED, DistanceSensor
from signal import pause
led=PWMLED(4)
dist=DistanceSensor(5,6)
led.source=dist
pause
Page 121
from gpiozero import PWMLED, DistanceSensor
from gpiozero.tools import inverted
from signal import pause
led = PWMLED(4)
dist = DistanceSensor(5, 6)
led.source = inverted(dist)
pause
Page 121
from gpiozero import PWMLED, DistanceSensor
from gpiozero.tools import inverted, averaged
from signal import pause
led = PWMLED(4)
front = DistanceSensor(5, 6)
back = DistanceSensor(7, 8)
led.source = averaged(front, back)
pause
Page 122
from signal import pause
from gpiozero import PWMLED, DistanceSensor
from gpiozero.tools import _normalize
def mined(*values):
values = [_normalize(v) for v in values]
for v in zip(*values):
yield min(v)
led = PWMLED(4)
front = DistanceSensor(5, 6)
back = DistanceSensor(7, 8)
led.source = mined(front, back)
pause
Page 123
def PWM_values(period=360, duty=0.5):
_ontime = int(period*duty)
_offtime = period-_ontime
data = [1]*_ontime+[0]*_offtime
while True:
for i in range(_ontime):
print(1)
yield 1
for i in range(_offtime):
print(0)
yield 0
Page 126
from gpiozero import LED, CPUTemperature
from signal import pause
from gpiozero.tools import booleanized
cpu = CPUTemperature(min_temp=58, max_temp=90)
print(cpu.temperature)
led=LED(4)
led.source = booleanized(cpu,0,1)
pause()
Page 126
import io
from gpiozero import InternalDevice
class MemoryFree(InternalDevice):
def __init__(self, threshold=0.9, memfile='/proc/meminfo',
pin_factory=None):
super(MemoryFree, self).__init__(pin_factory=pin_factory)
self._fire_events(self.pin_factory.ticks(), None)
self.memfile = memfile
self.threshold = threshold
self._totalmem = 0
self._availablemem = 0
@property
def free_mem(self):
with io.open(self.memfile, 'r') as f:
self._totalmem = int(f.readline().strip().split()[1])
freemem = int(f.readline().strip().split()[1])
self._availablemem = int(f.readline().strip().split()[1])
return freemem
@property
def value(self):
return self.free_mem/self._availablemem
@property
def is_active(self):
return self.value < 1-self.threshold