Paso 4: Python interactuar
No simplemente corte y pegue este código, pero asegúrese de que usted entiende por lo que son capaces de crear sus propios programas de graficación vivo desde cero.
#step 1: importar la biblioteca de
importación importación serie serie biblioteca
importación numpy # importación numpy
matplotlib.pyplot importación como plt #import matplotlib biblioteca
de drawnow importación *
#step2: configuración de las variables y crear objeto serial
tempF =]
presión =]
arduinoData = serial. Serie ('com11', 115200) #Creating nuestro objeto serial llamado arduinoData
PLT.ion() #Tell matplotlib desea modo interactivo para trazar datos en vivo
CNT = 0
Nota:-siempre Compruebe el puerto com. en mi caso conecto el arduino en com11. su es deffer de mí. y utilizar la misma velocidad en baudios en el sketch de arduino y python en baudios lo contrario python no interactuar con arduino.
Paso # 3: crear una función de parcela:-
DEF makeFig(): #Create una función que hace que nuestra parcela deseada
PLT.ylim(80,90) #Set y valores mín. y máx.
PLT.title ('mi Live Streaming datos del Sensor') #Plot el título
PLT.Grid(true) #Turn la red en
PLT.ylabel ('temperatura F") #Set ylabels
PLT.Plot (tempF, ' ro-', etiqueta = 'Grados F') #plot la temperatura
PLT.Legend (loc = superior izquierda) #plot la leyenda
plt2=PLT.twinx() #Create un segundo eje
PLT.ylim(93450,93525) #Set límites del segundo eje y - ajustan las lecturas que está recibiendo
plt2.Plot (presión, ' b ^-', etiqueta = 'Presión (Pa)') #plot datos de presión
plt2.set_ylabel ('Pressrue (Pa)') #label segundo eje
plt2.ticklabel_format(useOffset=false) #Force matplotlib no Autoescala y eje
plt2.Legend (loc = 'arriba a la derecha') #plot la leyenda
Step4:loops que para siempre:-
mientras que verdadero: # mientras bucle que lazos para siempre
mientras que (arduinoData.inWaiting()==0): #Wait aquí hasta allí es datos
pasar #do nada
arduinoString = arduinoData.readline() #read la línea de texto del puerto serial
dataArray = arduinoString.split(',') #Split en un array llamado dataArray
Temp = float (dataArray[0]) #Convert primer elemento número flotante y puesta en temperatura
P = float (dataArray[1]) #Convert segundo elemento flotante número y en P tempF.append(temp) #Build nuestra gama tempF añadiendo lecturas temp pressure.append(P) #Building nuestra gama de presión anexando P lecturas drawnow(makeFig) #Call drawnow para actualizar nuestro gráfico vivo
PLT.PAUSE(.000001) #Pause brevemente. Importante mantener drawnow falle
CNT = cnt + 1
if(CNT>50): #If tiene 50 o más puntos, borrar uno de la matriz tempF.pop(0) #This nos permite ver solo los últimos 50 puntos
pressure.pop(0)
Nota: aquí está el truco cnt. Cuando Conde Cruz el 50 o más, eliminar la primera de ellas de la matriz.
Usted debe ver datos como el gráfico. Probablemente usted necesitará ajustar sus parámetros de escala del eje y en Python para asegurar que la escala es conveniente para los datos que usted está tomando. Si el gráfico está en blanco, es probable que sus escalas y no son adecuados para la medición de datos.