Анимация Matplotlib, проблема частоты дискретизации - PullRequest
0 голосов
/ 21 февраля 2020

Эй Пип. я сейчас запускаю этот скрипт, но по какой-то причине я не получаю требуемый DataRange и Rate. когда я меняю значения, ничего не меняется. Если кто-то может заметить ошибку или объяснить, почему я бы ее оценил. Я хочу высокую частоту дискретизации, но все, что я получаю, это длина 500 данных в прибл. 2-4 минуты.

# Imports matlab like plots - allows graph plotting
import matplotlib.pyplot as plt
# Imports animation behavior of plot from matlab
import matplotlib.animation as animation
# The style|appereance of the sheet|graph
from matplotlib import style
# A specific kind of appereance
style.use("fivethirtyeight")
import time
import board
import busio
import adafruit_tca9548a
import adafruit_adxl34x
# Create I2C bus as normal
i2c = busio.I2C(board.SCL, board.SDA)

# Create the TCA9548A object and give it the I2C bus
tca = adafruit_tca9548a.TCA9548A(i2c)

# For each sensor, create it using the TCA9548A channel, not the I2C object


ad1 = adafruit_adxl34x.ADXL345(tca[0])
ad2 = adafruit_adxl34x.ADXL345(tca[2])

# Changing to highest datarate
ad1.data_rate = adafruit_adxl34x.DataRate.RATE_3200_HZ

ad2.data_rate = adafruit_adxl34x.DataRate.RATE_3200_HZ  ###DataRate.Rate - fjern rate
ad1.range = adafruit_adxl34x.Range.RANGE_16_G #2,4,8,16
ad2.range = adafruit_adxl34x.Range.RANGE_16_G
##### accel.setRange(adxl345.RANGE_4G) #sets the maximum to 4G  
##### accelerometer.setDataRate(ADXL345_3200HZ);



fig = plt.figure()
ax = fig.add_subplot(1,1,1)

graph = 2 # 0=x 1=y 2=z
G = []
G2 = []
def animate(i):
    # Definere x,y,z single 
    x,y,z = ad1.acceleration
    x2,y2,z2 = ad2.acceleration

    #Samler x,y,z i en opdelt matrix
    acc = [x,y,z]
    #Negative tal bliver positive tal
    acc_abs = [abs(a) for a in acc]
    i = acc_abs.index(max(acc_abs))
    stor = acc_abs[graph]/10 #0=x , 1=y, 2=z


    acc2 = [x2,y2,z2]
    acc2_abs = [abs(a) for a in acc2]
    stor2 = acc2[graph]/10 #0=x , 1=y, 2=z


    time.sleep(0)
    G.append(abs(stor))
    G2.append(abs(stor2))
    ax.clear()
    ax.plot(G)
    ax.plot(G2)
    ax.legend(['acc1','acc2'])
ani = animation.FuncAnimation(fig,animate,interval =1)
plt.show()

# Gemmer csv fil af data
import pandas as pd
df = pd.DataFrame(G,G2)
df.to_csv('acc_data.csv', index=True)
...