Beispiel #1
0
class geiger:
    def __init__(self):
        self.pingCount = [0] * 15
        self.lastPingTime = 0
        self.currentPingTime = 0
        self.g = RadiationWatch(geigerSignalPin,
                                geigerNoisePin,
                                numbering=GPIO.BOARD)
        self.g.register_radiation_callback(onRad)
        self.g.register_noise_callback(onNoise)

    def onRad(self):
        print('Ping')
        self.currentPingTime = time.localtime()[5] % 15
        if (self.currentPingTime != self.lastPingTime):
            self.pingCount[self.currentPingTime] = 1
        else:
            self.pingCount[self.currentPingTime] += 1
        tot = sum(self.pingCount)
        if (tot > geigerCalibration):
            Modulate.geigerMod(tot - geigerCalibration)
        return

    def onNoise(self):
        print('Noise')
        pass

    def getSum(self):
        return sum(self.pingCount)
Beispiel #2
0
import time
from PiPocketGeiger import RadiationWatch

radwat = RadiationWatch(24, 23)
radwat.setup()
print("Status: " + radwat.status())


def onRadiation():
    print("Ray appeared!")


def onNoise():
    print("Vibration!")


radwat.register_radiation_callback(onRadiation)
radwat.register_noise_callback(onNoise)

while 1:
    time.sleep(1)