前提・実現したいこと
Raspberry piを使って半固定抵抗の値を読み込むプログラムを作成しています。
ベースとなっているのはblue backsの「最新 Raspberry oiで学ぶ電子工作 金丸隆志・著」の第6章のサンプルプログラムです。
読み込んだ値を角度に変換し、matplotlibを用いて1分間の出力値をグラフにアニメーションとして表示させたいのです(時間が経過するにつれて値が更新されてグラフが伸びていくようなイメージです)。
発生している問題・エラーメッセージ
現在起こっている問題は、グラフのフレームは表示されるのですが肝心のグラフがプロットされない点です。
該当のソースコード
python
1import RPi.GPIO as GPIO 2from time import sleep 3import numpy as np 4import matplotlib.pyplot as plt 5import matplotlib.animation as animation 6 7fig = plt.figure() 8inputval = [] 9 10def readadc(adcnum, clockpin, mosipin, misopin, cspin): #実装は省略 11 12for i in range(300): 13 inputVal0 = readadc(0, SPICLK, SPIMOSI, SPIMISO, SPICS) 14 inputVal0 = inputVal0 * 270 / 4095 #出力値を角度に変換 15 y = inputVal0 16 inputVal1 = plt.plot(i*0.2, y) 17 inputval.append(inputVal1) 18 sleep(0.2) 19 20ani = animation.ArtistAnimation(fig, inputval, interval = 200) 21plt.show()
readadc関数はADコンバータからの値を読み込む関数で、半固定抵抗の値が0〜4095の範囲で返ってきます。
試したこと
以下のように簡単なコードに書き換えましたが、上と同じくグラフの縦軸・横軸は表示されましたがグラフの線が出てきません。
python
1from time import sleep 2import numpy as np 3import matplotlib.pyplot as plt 4import matplotlib.animation as animation 5 6 7fig = plt.figure() 8inputval = [] 9 10for i in range(10): 11 y = i 12 inputVal1 = plt.plot(i*0.2, y) 13 inputval.append(inputVal1) 14 15ani = animation.ArtistAnimation(fig, inputval, interval = 200) 16plt.show()
補足情報(FW/ツールのバージョンなど)
pythonのバージョンは3.7.3
matplotlibのバージョンは2.2.4です
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/17 03:19