sandeep03edu

RaspiDemo

Apr 26th, 2023
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. import RPi.GPIO as GPIO
  2. import time
  3. import math
  4.  
  5. pi = 3.14159265359
  6. timeDelay = 0.5
  7. f = 0.1
  8. peak = 5
  9.  
  10. def bin2Dec(in1, in2, in3, in4, in5, in6, in7, in8):
  11.     ans = 128*in1 + 64*in2 + 32*in3 + 16*in4 + 8*in5 + 4*in6 + 2*in7 + in8
  12.     return ans
  13.  
  14. def getVoltage(score):
  15.     ans = score/256
  16.     ans = ans*peak
  17.     return ans
  18.  
  19.  
  20. def getPeakVol(curr):
  21.     vdash = curr - prevLast
  22.     vdash/=timeDelay
  23.     vdash/=2
  24.  
  25.     omega = 2*pi*f
  26.  
  27.     last2 = last*last
  28.     term2 = vdash/omega
  29.     term2 = term2*term2
  30.  
  31.     vPeak = last2 + term2
  32.     vPeak = math.sqrt(vPeak)
  33.     return vPeak
  34.  
  35.  
  36. # Set GPIO mode and pins
  37. GPIO.setmode(GPIO.BCM)
  38. GPIO.setup(26, GPIO.IN)
  39. GPIO.setup(12, GPIO.IN)
  40. GPIO.setup(13, GPIO.IN)
  41. GPIO.setup(15, GPIO.IN)
  42. GPIO.setup(16, GPIO.IN)
  43. GPIO.setup(25, GPIO.IN)
  44. GPIO.setup(22, GPIO.IN)
  45. GPIO.setup(24, GPIO.IN)
  46.  
  47. last = -1
  48. prevLast = -1
  49.  
  50.  
  51. try:
  52.     while True:
  53.         # Read input from pins
  54.         input1 = GPIO.input(26)
  55.         input2 = GPIO.input(12)
  56.         input3 = GPIO.input(13)
  57.         input4 = GPIO.input(15)
  58.         input5 = GPIO.input(16)
  59.         input6 = GPIO.input(25)
  60.         input7 = GPIO.input(22)
  61.         input8 = GPIO.input(24)
  62.        
  63.         # Print input values
  64.         # print("Input ", str(input1) + str(input2) + str(input3) + str(input4) + str(input5) + str(input6) + str(input7) + str(input8))
  65.         # print("InputDec ", bin2Dec(input1, input2, input3, input4, input5, input6, input7, input8))
  66.         vol =  getVoltage(bin2Dec(input1, input2, input3, input4, input5, input6, input7, input8))
  67.         # print("Voltage ", vol)
  68.  
  69.         if(prevLast==-1):
  70.             prevLast = vol
  71.         elif(last==-1):
  72.             last = vol
  73.         else:
  74.             print("Peak: ", getPeakVol(vol))
  75.             prevLast =last
  76.             last = vol
  77.             pass
  78.  
  79.         # Wait for 1 s
  80.         time.sleep(timeDelay)
  81.        
  82. except KeyboardInterrupt:
  83.     # Clean up GPIO settings
  84.     GPIO.cleanup()
  85.     pass
  86.  
  87.  
Advertisement
Add Comment
Please, Sign In to add comment