ラズパイに加速度センサを取り付け、読み込んだセンサ値をフーリエ変換した結果を表示するプログラムを作成したいと考えています。できれば計測しながら随時フーリエ処理していくようなプログラムが組めればよいと考えていますが、現状動作確認できている加速度センサプログラム(accel.py)とフーリエ処理するプログラム(fft-test.py)をどのように統合したらよいのかがわかりません。プログラム言語はpythonを使いたいのですが、初心者でわからないことも多く、アドバイスいただけますと大変助かります。よろしくお願いいたします。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
---------------------------------- #accel.py import spidev, time spi=spidev.SpiDev() spi.open(0,0) def analog_read(channel): #ADCコンバータを使ってセンサアナログ値をデジタル値に変換する関数 、、、、、、 while True: x=analog_read(0) y=analog_read(1) z=analog_read(2) time.sleep(0.01) ---------------------------------- #fft-test.py(生成したsin波のフーリエ変換処理) import numpy as np import matplotlib.pyplot as plt from scipy import signal N=256 #データ数 n=np.arange(N) freq=3 #周期 f=np.sin(freq*2*np.pi(n/N) #生成sin波 F=np.fft.fft(f) F_abs=np.abs(F) plt.plot(F_abs) ---------------------------------- #統合プログラム import spidev, time import numpy as np import matplotlib.pyplot as plt from scipy import signal spi=spidev.SpiDev() spi.open(0,0) def analog_read(channel): #ADCコンバータを使ってセンサアナログ値をデジタル値に変換する関数 、、、、、、 while True: x=analog_read(0) y=analog_read(1) z=analog_read(2) time.sleep(0.01) N=256 #データ数 #n=np.arange(N) #freq=3 #周期 f=z #加速度センサのz軸データを渡す F=np.fft.fft(f) F_abs=np.abs(F) plt.plot(F_abs)
試したこと
accel.pyを実行すると3軸それぞれのデータが出力され、fft-test.pyではフーリエ変換後の結果をグラフ表示できた。
ただし、上記の統合プログラムを実行すると、エラーはでないもののなにも出力されない。
補足情報(FW/ツールのバージョンなど)
python3を使用。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。