1 秒あたり約 3 回の電圧読み取りを行う Python プログラムがあります。私は通常、Linux デスクトップ Lxterminal から実行します。その後、電圧対時間を Pylab で使用してプロットを作成します。ただし、電圧の読み取りを行うと一時停止することがあり、データにギャップが生じ、テストが台無しになる可能性があります。これらのギャップは 1 ~ 6 秒続きます。一時停止は、プログラムの 'print >> logfile, time(), (volts)' スクリプトが原因であることに気付きました。しかし、ログファイル スクリプトを削除してコマンド プロンプト (別名「ターミナル」、「コンソール」、「シェル」) から実行すると、これらの一時停止は発生しません。コマンド プロンプトからプログラムを実行すると、モニターに表示される長い一連の電圧が出力されますが、プロットの作成に使用するログ ファイルがありません。私の質問は、これらの電圧を端末シェルに保存し、後で Pylab でこれらのギャップのない電圧を使用する方法はありますか? 私は試した:
list = time(), volts
しかし、次に何をすべきか、あるいは正しい方向に向かっているかどうかさえわかりません。これが私のプログラムです。
import time, sys, signal, math
from Adafruit_ADS1x15 import ADS1x15
from time import time, sleep
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
ADS1115 = 0x01
adc = ADS1x15(ic=ADS1115)
while True:
voltsdiff = adc.readADCDifferential01(4096, 8)
logfile = open('logfile.txt', 'a')
print >> logfile, time(), voltsdiff
logfile.close()
sleep(0.25)