36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
#! python3.5
|
|
from grove.factory import Factory
|
|
from grove.temperature import Temper
|
|
from upm.pyupm_mcp9808 import MCP9808
|
|
import time
|
|
|
|
class TemperatureSensorPI:
|
|
"""
|
|
Represents a temperature sensor created with an I2C address
|
|
In this projet, it is supposed to be exactly 2 TemperatureSensorPI for 1 PlantPI
|
|
The precision of this sensor is about ± 0.0625
|
|
|
|
:param address: A string representing the address in hexadecimal, it'll be converted into int
|
|
:type address: str
|
|
"""
|
|
def __init__(self,address):
|
|
self.address = address
|
|
self.Processor = MCP9808(0,int(address,16))
|
|
self.Processor.setMode(True)
|
|
self.Processor._resolution = Temper.RES_1_16_CELSIUS
|
|
|
|
def ReadTemperatureCelsius(self):
|
|
self.Processor.getTemp()
|
|
|
|
|
|
def main():
|
|
sensor1 = TemperatureSensorPI(18) # The hexadecimal 18 address
|
|
sensor2 = TemperatureSensorPI(19) # The hexadecimal 19 address
|
|
while True:
|
|
print("[Temperature 1] {} Celsius".format(sensor1.ReadTemperatureCelsius()))
|
|
print("[Temperature 2] {} Celsius".format(sensor2.ReadTemperatureCelsius()))
|
|
time.sleep(1)
|
|
|
|
if __name__== "__main__":
|
|
main()
|