我正在做一个科学项目,正在制造一种可以计算闪电离您的距离的设备。我正在使用树莓派。

我将代码和繁育板设置为使用光敏电阻对光值进行计数。我试图通过使灯光在特定值以下后实时计数来完成我的代码,然后当它听到USB麦克风发出的“雷声”时,它将停止。然后将#除以5。

我的问题是,我无法弄清楚如何计数并在检测到光线后立即激活代码。
这是我的密码

#!/usr/local/bin/python

import RPi.GPIO as GPIO
import time

__author__ = 'Gus (Adapted from Adafruit)'
__license__ = "GPL"
__maintainer__ = "pimylifeup.com"

GPIO.setmode(GPIO.BOARD)

#define the pin that goes to the circuit
pin_to_circuit = 7

def rc_time (pin_to_circuit):
    count = 0

    #Output on the pin for
    GPIO.setup(pin_to_circuit, GPIO.OUT)
    GPIO.output(pin_to_circuit, GPIO.LOW)
    time.sleep(0.1)

    #Change the pin back to input
    GPIO.setup(pin_to_circuit, GPIO.IN)

    #Count until the pin goes high
    while (GPIO.input(pin_to_circuit) == GPIO.LOW):
        count += 1

    return count

#Catch when script is interupted, cleanup correctly
try:
    # Main loop
    while True:
        print rc_time (pin_to_circuit)
except KeyboardInterrupt:
    pass
finally:
    GPIO.cleanup()

最佳答案

除了实时计数之外,您还可以记录每个条件发生和减去的时间吗?就像是

while True:
  if lightingCondition:
    lightningTime = datetime().time()
    break

while True:
  if thunderCondition:
    thunderTime = datetime().time()
    break

difference = thunderTime - lightningTime

关于python - Raspberry Pi计算光值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46946046/

10-12 12:40