Advertisement
Kreasteve

Kleine Zweipunktregelung

Aug 24th, 2021
1,870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.91 KB | None | 0 0
  1. import board
  2. import digitalio
  3. import time
  4. import busio
  5. from analogio import AnalogIn
  6. import adafruit_mcp9808
  7.  
  8. ##Temperatursensor; Beispiel: MCP9808
  9. i2c = busio.I2C(board.SCL, board.SDA)
  10. tempSensor = adafruit_mcp9808.MCP9808(i2c)
  11.  
  12. #Poti
  13. poti = AnalogIn(board.A1)
  14.  
  15. def potiRead(pin, minTemp, maxTemp):
  16.     #gibt eine Temparatur als float zurück
  17.     #die Temperatur kann am Poti zwishchen minTemp und maxTemp eingestellt werden
  18.     return pin.value * (maxTemp-minTemp) / 65536 + minTemp
  19.  
  20. #Heizung; wird als Relais am Mikrocontroller angeschlossen
  21. heizung = digitalio.DigitalInOut(board.D9)
  22. heizung.direction = digitalio.Direction.OUTPUT
  23.  
  24.  
  25. hysterese = 1 #hysterese in Kelvin
  26. while True:
  27.     ist = tempSensor.temperature
  28.     soll = potiRead(poti, 20,60)
  29.  
  30.     if   ist > soll+hysterese:
  31.         heizung=0 #ausschalten
  32.     elif ist < soll-hysterese:
  33.         heizung=1 #einschalten
  34.  
  35.     time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement