mirror of
				https://github.com/eclipse/upm.git
				synced 2025-10-31 15:15:07 +03:00 
			
		
		
		
	mg811: Initial implementation
This driver was developed on a DFRobot CO2 sensor based on the MG811: http://www.dfrobot.com/index.php?route=product/product&product_id=1023 It seems to *require* very precise calibration at 400ppm and 1000ppm to be accurate. It also gets pretty hot (due to the heater) and consumes significant current. Signed-off-by: Jon Trulson <jtrulson@ics.com> Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
This commit is contained in:
		 Jon Trulson
					Jon Trulson
				
			
				
					committed by
					
						 sisinty sasmita patra
						sisinty sasmita patra
					
				
			
			
				
	
			
			
			 sisinty sasmita patra
						sisinty sasmita patra
					
				
			
						parent
						
							ad1cc81c0d
						
					
				
				
					commit
					60cfe88e37
				
			
							
								
								
									
										51
									
								
								examples/python/mg811.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								examples/python/mg811.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| #!/usr/bin/python | ||||
| # Author: Jon Trulson <jtrulson@ics.com> | ||||
| # Copyright (c) 2015 Intel Corporation. | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining | ||||
| # a copy of this software and associated documentation files (the | ||||
| # "Software"), to deal in the Software without restriction, including | ||||
| # without limitation the rights to use, copy, modify, merge, publish, | ||||
| # distribute, sublicense, and/or sell copies of the Software, and to | ||||
| # permit persons to whom the Software is furnished to do so, subject to | ||||
| # the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be | ||||
| # included in all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
| # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||||
| # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||
| # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||||
| # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
|  | ||||
| import time, sys, signal, atexit | ||||
| import pyupm_mg811 as sensorObj | ||||
|  | ||||
| # Instantiate an MG811 on analog pin A0, and digital pin D2 with an | ||||
| # analog reference voltage of MG811_AREF (5.0) | ||||
|  | ||||
| sensor = sensorObj.MG811(0, 2, 5.0) | ||||
|  | ||||
| ## Exit handlers ## | ||||
| # This function stops python from printing a stacktrace when you hit control-C | ||||
| def SIGINTHandler(signum, frame): | ||||
| 	raise SystemExit | ||||
|  | ||||
| # This function lets you run code on exit | ||||
| def exitHandler(): | ||||
| 	print "Exiting" | ||||
| 	sys.exit(0) | ||||
|  | ||||
| # Register exit handlers | ||||
| atexit.register(exitHandler) | ||||
| signal.signal(signal.SIGINT, SIGINTHandler) | ||||
|  | ||||
| # Every tenth of a second, sample the sensor and output it's | ||||
| # detected CO2 concentration in parts per million (ppm) | ||||
|  | ||||
| while (1): | ||||
|         print "CO2 concentration in PPM: ", sensor.ppm() | ||||
| 	time.sleep(.1) | ||||
		Reference in New Issue
	
	Block a user