No Description

tp401.py 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Author: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
  2. # Copyright (c) 2014 Intel Corporation.
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining
  5. # a copy of this software and associated documentation files (the
  6. # "Software"), to deal in the Software without restriction, including
  7. # without limitation the rights to use, copy, modify, merge, publish,
  8. # distribute, sublicense, and/or sell copies of the Software, and to
  9. # permit persons to whom the Software is furnished to do so, subject to
  10. # the following conditions:
  11. #
  12. # The above copyright notice and this permission notice shall be
  13. # included in all copies or substantial portions of the Software.
  14. #
  15. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  16. # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  17. # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  18. # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  19. # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  20. # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  21. # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  22. from time import sleep
  23. import pyupm_gas as TP401
  24. # Give a qualitative meaning to the value from the sensor
  25. def airQuality(value):
  26. if(value < 50): return "Fresh Air"
  27. if(value < 200): return "Normal Indoor Air"
  28. if(value < 400): return "Low Pollution"
  29. if(value < 600): return "High Pollution - Action Recommended"
  30. return "Very High Pollution - Take Action Immediately"
  31. # New Grove Air Quality Sensor on AIO pin 0
  32. airSensor = TP401.TP401(0)
  33. # Wait for sensor to warm up
  34. print "Sensor is warming up for 3 minutes..."
  35. for i in range (1, 4):
  36. sleep(60)
  37. print i, "minute(s) passed."
  38. print "Sensor is ready!"
  39. # Loop indefinitely
  40. while True:
  41. # Read values (consecutive reads might vary slightly)
  42. value = airSensor.getSample()
  43. ppm = airSensor.getPPM()
  44. print "raw: %4d" % value , " ppm: %5.2f " % ppm , airQuality(value)
  45. # Sleep for 2.5 s
  46. sleep(2.5)