파이썬으로 코드를 작성하여 직렬 포트를 통해 초음파 거리 측정기와 통신하면 다음을 수행 할 수 있습니다.
-0.1 초. 센서는 거리 측정을하고, 센서
마지막 오초파이썬과 matplotlib을 사용하여 데이터를 동시에 수집하고 그래프를 업데이트하십시오.
의 모든 거리 측정의 플롯 내 코드의 - 표시의 응답 등록 : 지금
import serial
import numpy as np
import time
from matplotlib import pyplot as plt
tagnr=2#Tag number of the sensor that we're pinging
samplingRate=.1#Sampling Rate in seconds
graphbuf=50.#Buffer length in samples of logger graph
!#Initialize logger graph
gdists=np.zeros(graphbuf)
ax1=plt.axes()
!#Main loop
nsr=time.time()#Next sample request
try:
while True:
statreq(tagnr)#Send status request to sensor over serial port
temp,dist=statread(tagnr)#Read reply from sensor over serial port
gdists=np.concatenate((gdists[1:],np.array([dist])))
print gdists
nsr=nsr+samplingRate
while time.time()<nsr:
pass
finally:
ser.close()#Close serial port
print 'Serial port closed.'
, 내 코드를 마지막 50 mea 배열을 얻을 수있다. 확실하지만, 동시에 그래프로 표시하는 방법을 모르겠습니다 (보통 Matplotlib를 사용하여 그래프를 그립니다). 스레딩을 사용해야합니까? 아니면 pyGTK 또는 pyQt4를 사용하여 애니메이션 그래프를 사용합니까? 나는 파이 게임 (pygame) 사용을 고려하고 있었습니까? 타이밍 메커니즘이 너무 좋지는 않지만 꽤 정확하다고 생각합니다.
의견을 보내 주셔서 감사합니다.하지만 여전히 업데이트 할 플롯을 가져올 수 없습니다. 그 동안 필자는 완전한 파이썬 코드를 발견하여 Eli Bendersky의 직렬 데이터를 로그하고 표시했습니다. [link] (http://eli.thegreenplace.net/2009/08/07/a-live-data-monitor-with- python-pyqt-and-pyserial /). –