Advertisement
Guest User

Untitled

a guest
Jun 30th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. from scipy import signal
  2. import scipy.linalg as la
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. from scipy.fftpack import fft
  6. import serial
  7. from time import sleep
  8. from scipy.linalg import hankel
  9.  
  10. class Radar(object):
  11. def __init__(self):
  12. self.Fs = 0
  13.  
  14. def setupSerial(self,port, N):
  15. port = port
  16. Nn = N
  17. n = N
  18. N = n * 2
  19. x = [0 for h in range(0, N)]
  20. radarData = [0 for h in range(0, n)]
  21. timeData = [0 for h in range(0, n)]
  22. ser = serial.Serial(port, 9600)
  23. sleep(2)
  24.  
  25. if (input("Do you want to start communication?") == 'y'):
  26.  
  27. print("Ok Im Starting Serial COmmunicatiton")
  28. if (ser.is_open):
  29. sleep(3)
  30. for i in range(0, N):
  31. ser.write(b"a")
  32. x[i] = ser.readline()
  33. print(x[i])
  34. else:
  35. print("Serial port is not open")
  36. self.setupSerial(port,N)
  37.  
  38. samples = 0;
  39. samples1 = 0;
  40. for i in range(0, N):
  41. if (i % 2 == 0):
  42. radarData[samples] = float(str(x[i], 'utf-8')) * 5.0 / 1023.0
  43. samples = samples + 1
  44. else:
  45. timeData[samples1] = float(str(x[i], 'utf-8'))
  46. samples1 = samples1 + 1
  47.  
  48. self.radar = np.asarray(radarData)
  49. self.time = np.asarray(timeData)
  50.  
  51. self.samplingRate = 10 ** 6 / np.mean(np.diff(self.time))
  52.  
  53. ser.close()
  54.  
  55. return self.samplingRate, self.radar, self.time
  56.  
  57.  
  58. def getVariables(self):
  59. return self.samplingRate, self.radar,self.time
  60. if __name__ == '__main__':
  61.  
  62. radar = Radar()
  63. radar.setupSerial(port='COM3',N=2500)
  64. fs,radar,time = radar.getVariables()
  65. print(fs, len(radar), len(time))
  66.  
  67. print('Process took: ')
  68. print(time[len(time) - 1])
  69. plt.plot(time,radar)
  70. plt.show()
  71.  
  72. ArduinoCode:
  73. void setup()
  74. {
  75. Serial.begin(9600);
  76. pinMode(A0,INPUT);
  77. }
  78.  
  79. void loop()
  80. {
  81. if(Serial.available() > 0)
  82. {
  83. if(((char) Serial.read()) == 'a')
  84. {
  85. Serial.println(analogRead(A0));
  86. Serial.println(micros());
  87. }
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement