Hallo,
ich habe einen ADS1115 AD-Wandler über die i2c-Schnittstelle an meinen Raspberry Pi 3 angeschlossen.
Ich nutze die Adafruit-Bibliothek, um die Daten auszulesen. Mein Code führt die "Read"-Funktion 10 Sekunden lang wiederholt aus, und gibt am Ende die Anzahl der erfassten Daten an.
(Jedes mal, wenn die Funktion ausgeführt wird, zählt ein Zähler +1 hoch)
Hier ist der Code:
import time
import board
import busio
i2c = busio.I2C(board.SCL, board.SDA)
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
t_start = time.time()
t_stop = 10
signals = 0
def read():
global signals
ads = ADS.ADS1115(i2c)
chan1 = AnalogIn(ads, ADS.P0)
y = chan1.value
z = chan1.voltage
#print(round(z,4),y)
signals += 1
while time.time() < t_start + t_stop:
try:
read()
except:
break
print(signals)
Display More
Nach 10 Sekunden erhalte ich jedes mal etwa 1530 Werte, was also etwa 150 Werte/Sekunde entspricht. Im Datenblatt des ADS1115 steht, dass er eine Sample Rate von 860 (Samples per Second) hat.
Ich frage mich nun, was ich tun kann, um näher an die 860 Hz zu kommen, da ich eine Schwingung (Vibration) darstellen möchte, die im Bereich von 200 Hz liegt. Dafür reichen meine 150 Werte/ Sekunde leider nicht aus..
Danke! F