python सकत अजगर लिपि में एक वर्ग लहर की आवृत्ति कैसे प्राप्त करें



विद्युत चुंबकीय तरंगों की खोज किसने की थी (1)

मैं TSL235 ( http://www.ti.com/lit/ds/symlink/tsl235.pdf ) प्रकाश-टू-फ़्रीक्वेंसी कनवर्टर और रास्पबेरी पी का उपयोग कर रहा हूं सेंसर का उत्पादन एक तीव्रता की तीव्रता के लिए सीधे आनुपातिक आवृत्ति के साथ एक वर्ग लहर (50% कर्तव्य चक्र) है।

तो मुझे पता होना चाहिए (एक अजगर स्क्रिप्ट में) आवृत्ति जो रास्पबेरी पी की इनपुट जीपीआईओ-पिन होती है

मुझे केवल एक ट्यूटोरियल मिला ( http://playground.arduino.cc/Main/TSL235R ) जो सी-कोड दिखाता है, लेकिन मुझे सी नहीं समझती ... मैं केवल अजगर के साथ काम कर रहा हूं

जीपीआईओ इनपुट पढ़ना इतना मुश्किल नहीं है:

#!/usr/bin/python
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.IN)

impuls_count = 0
# Do next lines for i.e. 1000ms:
GPIO.wait_for_edge(25, GPIO.FALLING)
impuls_count = impuls_count + 1

मुझे लगता है कि मुझे एक समय अंतराल में संकेतों को गिनना होगा पर कैसे?


समय मॉड्यूल का उपयोग करें इसकी एक घड़ी का कार्य है जो 1 माइक्रोसेकेंड (1 मेगाहर्ट्ज) के प्रति संवेदनशील है। अपने संवेदक की डेटाशीट को देखते हुए, यह केवल 500 kHz तक बढ़ जाता है, जो उच्च प्रकाश तीव्रता पर सटीक आवृत्ति माप प्राप्त करने के लिए पर्याप्त रिज़ॉल्यूशन होना चाहिए।

बस इनपुट चक्रों के एक सेट की औसत आवृत्ति की गणना करें।

import time

NUM_CYCLES = 10
start = time.time()
for impulse_count in range(NUM_CYCLES):
    GPIO.wait_for_edge(25, GPIO.FALLING)
duration = time.time() - start      #seconds to run for loop
frequency = NUM_CYCLES / duration   #in Hz




gpio