Advertisement
schuetz

tmp36 moving average

Apr 26th, 2015
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. import spidev
  2. import time
  3. from collections import deque
  4.  
  5. spi = spidev.SpiDev()
  6. spi.open(0,0)
  7.  
  8. def readadc(adcnum):
  9.         if adcnum > 3 or adcnum <0:
  10.                 return -1
  11.         r = spi.xfer2([1,8+adcnum << 4,0])
  12.         adcout = ((r[1]&3)<<8)+r[2]
  13.         return adcout
  14.  
  15. temperatureList = deque()
  16. temperatureSum = 0.0
  17. while True:
  18.         tempAdcVal = readadc(0)
  19.         temperatureSum += tempAdcVal
  20.         temperatureList.append(tempAdcVal)
  21.         if  len(temperatureList) == 101:
  22.                 temperatureSum -=temperatureList.popleft()
  23.                 print ("%4d/1023 => %5.3f V => %2.0f C" %(temperatureSum/100,temperatureSum/100.0*3.3/1024.0,round(temperatureSum*3.3/1024.0-50)))
  24.                 time.sleep(1)
  25.         time.sleep(0.1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement