LDR_test.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from pyqtgraph.Qt import QtGui, QtCore #importação de classes
  2. import pyqtgraph as pg
  3. import serial
  4. import time
  5. import scipy
  6. import numpy as np
  7. V=np.linspace(0.001,5,100)
  8. #FMM Máquina Síncrona
  9. R_aux=50000
  10. #V=R*5/(R+R_aux)
  11. #v*(R+R_aux)=5R
  12. #V*R_AUX=R*(5-V)
  13. #
  14. R=R_aux*(V)/(5-V)
  15. #Geração dos coeficientes da aproximação linear
  16. p1=np.polyfit(np.array(V),np.array(R),2)
  17. print()
  18. #Geração de array de aproximação com dados de R_LDR
  19. Vfit = p1[0]*V*V+p1[1]*V+p1[2]
  20. app = QtGui.QApplication([])
  21. view=pg.GraphicsWindow()
  22. plot1 = view.addPlot()
  23. plot1.addLegend()
  24. plot1.setTitle("Curva de Tensão x R_LDR")
  25. plot1.setLabel("bottom","Tensão (V)")
  26. plot1.setLabel("left","Resistência do LDR (Ohms)")
  27. curve1 = plot1.plot(pen='r',name="V=%.3f+%.3f*R_LDR+%.3f*R_LDR²"%(p1[2],p1[1],p1[0]))
  28. curve2 = plot1.plot(pen='r')
  29. view.show()
  30. y1 = np.polyval(p1,V)
  31. #curve1.setData(R,Vfit)
  32. plot1.setYRange(100,100000)
  33. curve2.setData(V,R)
  34. if __name__ == '__main__':
  35. import sys
  36. if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_'):
  37. QtGui.QApplication.instance().exec_()