Advertisement
Guest User

Untitled

a guest
May 21st, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. import time
  2. import math
  3. import mraa
  4.  
  5.  
  6. class LEDs:
  7. LED_GPIO_BLUE = 4
  8. LED_GPIO_GREEN = 5
  9. LED_GPIO_RED = 6
  10.  
  11. def __init__(self):
  12. self.blueLed = mraa.Gpio(LED_GPIO_BLUE)
  13. self.greenLed = mraa.Gpio(LED_GPIO_GREEN)
  14. self.redLed = mraa.Gpio(LED_GPIO_RED)
  15.  
  16. self.blueLed.dir(mraa.DIR_OUT)
  17. self.greenLed.dir(mraa.DIR_OUT)
  18. self.redLed.dir(mraa.DIR_OUT)
  19.  
  20. self.blueLedState = 0
  21. self.greenLedState = 0
  22. self.redLedState = 0
  23.  
  24. def changeBlueDiodeState(self, state):
  25. self.blueLed.write(state)
  26. self.blueLedState = state
  27.  
  28. def changeGreenDiodeState(self, state):
  29. self.greenLed.write(state)
  30. self.greenLedState = state
  31.  
  32. def changeRedDiodeState(self, state):
  33. self.blueLedState.write(state)
  34. self.blueLedState = state
  35.  
  36.  
  37. class TempSensor():
  38. TEMP_ADC_PIN = 0
  39. B = 3975
  40.  
  41. def __init__(self):
  42. self.adcPin = mraa.Aio(TEMP_ADC_PIN)
  43.  
  44. def read(self)
  45. adcPinValue = self.adcPin.read()
  46. return self.transformation(adcPinValue)
  47.  
  48. def transformation(self, value)
  49. resistance = (1023-value)*10000.0/value
  50. return 1/(math.log(resistance/10000.0)/B+1/298.15)-273.15
  51.  
  52.  
  53. class Buzzer():
  54. BUZZER_PIN = 8
  55.  
  56. def __init__(self):
  57. self.buzzer = mraa.Gpio(BUZZER_PIN)
  58. self.buzzer.dir(mraa.DIR_OUT)
  59. self.buzzerState = 0
  60.  
  61. def changeBuzzerState(self, state):
  62. self.buzzer.write(state)
  63. self.buzzerState = state
  64.  
  65.  
  66. class MiniSmartHome:
  67. def __init__(self):
  68. self.diodes = LEDs()
  69. self.tempSensor = TempSensor()
  70.  
  71. def checkTemp(self):
  72. temp = self.tempSensor.read()
  73. if temp < 15:
  74. self.diode.changeGreenDiodeState(1)
  75. if temp < 25:
  76. self.diode.changeBlueDiodeState(1)
  77. if temp < 50:
  78. self.diode.changeRedDiodeState(1)
  79.  
  80.  
  81. if __name__ == "__main__":
  82. msh = MiniSmartHome()
  83. msh.checkTemp()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement