Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import math
- import mraa
- class LEDs:
- LED_GPIO_BLUE = 4
- LED_GPIO_GREEN = 5
- LED_GPIO_RED = 6
- def __init__(self):
- self.blueLed = mraa.Gpio(LED_GPIO_BLUE)
- self.greenLed = mraa.Gpio(LED_GPIO_GREEN)
- self.redLed = mraa.Gpio(LED_GPIO_RED)
- self.blueLed.dir(mraa.DIR_OUT)
- self.greenLed.dir(mraa.DIR_OUT)
- self.redLed.dir(mraa.DIR_OUT)
- self.blueLedState = 0
- self.greenLedState = 0
- self.redLedState = 0
- def changeBlueDiodeState(self, state):
- self.blueLed.write(state)
- self.blueLedState = state
- def changeGreenDiodeState(self, state):
- self.greenLed.write(state)
- self.greenLedState = state
- def changeRedDiodeState(self, state):
- self.blueLedState.write(state)
- self.blueLedState = state
- class TempSensor():
- TEMP_ADC_PIN = 0
- B = 3975
- def __init__(self):
- self.adcPin = mraa.Aio(TEMP_ADC_PIN)
- def read(self)
- adcPinValue = self.adcPin.read()
- return self.transformation(adcPinValue)
- def transformation(self, value)
- resistance = (1023-value)*10000.0/value
- return 1/(math.log(resistance/10000.0)/B+1/298.15)-273.15
- class Buzzer():
- BUZZER_PIN = 8
- def __init__(self):
- self.buzzer = mraa.Gpio(BUZZER_PIN)
- self.buzzer.dir(mraa.DIR_OUT)
- self.buzzerState = 0
- def changeBuzzerState(self, state):
- self.buzzer.write(state)
- self.buzzerState = state
- class MiniSmartHome:
- def __init__(self):
- self.diodes = LEDs()
- self.tempSensor = TempSensor()
- def checkTemp(self):
- temp = self.tempSensor.read()
- if temp < 15:
- self.diode.changeGreenDiodeState(1)
- if temp < 25:
- self.diode.changeBlueDiodeState(1)
- if temp < 50:
- self.diode.changeRedDiodeState(1)
- if __name__ == "__main__":
- msh = MiniSmartHome()
- msh.checkTemp()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement