Advertisement
Makerino

Bauraumregelung

Feb 7th, 2022
1,601
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 KB | None | 0 0
  1. /*
  2. PinBelegung:
  3.  
  4. VCC/Vin = 5V
  5. GND = GND
  6.  
  7. A4 = SDA
  8. A5 = SCL
  9. D3 = gesteuert über PWM
  10.  
  11. */
  12.  
  13. #include <EEPROM.h>
  14. #include <SPI.h>
  15. #include <Wire.h>
  16. #include <Adafruit_GFX.h>
  17. #include <Adafruit_SSD1306.h>
  18. #include <Bme280BoschWrapper.h>
  19.  
  20. #define DS3231_ADDRESSE 0x68
  21. #define OLED_RESET 4
  22. Adafruit_SSD1306 display(OLED_RESET);
  23. Bme280BoschWrapper bme280(true);
  24.  
  25. int offsettemp = 0;
  26. int offsethum = 0;
  27. int offsetpress = 0;
  28. int sig = 3;
  29. int tprom = 30;
  30.  
  31. void setup()   {  
  32.   Wire.begin();
  33.   Serial.begin(9600);
  34.   Serial.println("BME280 Bosch test");
  35.  
  36.   while(!bme280.beginI2C(0x76))
  37.   {
  38.     Serial.println("Cannot find sensor.");
  39.     delay(1000);
  40.   }
  41.  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  //////Display mit der Adresse 0x3C initialisieren
  42.  display.clearDisplay();
  43.  
  44. pinMode(sig, OUTPUT);
  45. analogWrite(sig, 0);
  46.  
  47. }
  48.  
  49. void loop() {
  50.  
  51. while (Serial.available() > 0) {
  52.    int value = Serial.parseInt();
  53.  
  54.     // Ausgabe:
  55.     Serial.print("I received: ");
  56.     Serial.println(value);
  57.     if (value != 0){
  58.       EEPROM.write(1, value);
  59.     }
  60.   }
  61.  
  62. float temp = (bme280.getTemperature() / 100.0);
  63. disptemp();
  64. Serial.println(temp);
  65.  
  66. tprom = EEPROM.read(1);
  67.  
  68. if (temp < (tprom-1)){          //einschaltwert tprom -1
  69.   analogWrite(sig, 255);
  70.   Serial.println("läuft");
  71. }
  72.       if (temp > (tprom +1)){   //abschaltwert tprom +1
  73.       analogWrite(sig, 0);
  74.       }    
  75. }
  76.  
  77.  
  78.  
  79. void disptemp(){
  80.  
  81.   bool ok = bme280.measure();
  82.  
  83.  display.setTextColor(WHITE);
  84.  display.setTextSize(1);
  85.  
  86.   display.setCursor(0,1);
  87.   display.println("Temperatur:");
  88.   display.setCursor(75,1);
  89.   display.println((bme280.getTemperature() / 100.0) - offsettemp);
  90.   display.setCursor(110,1);
  91.   display.println("C");
  92.  
  93.   display.setCursor(0,10);
  94.   display.println("Luftfeuchte:");
  95.   display.setCursor(75,10);
  96.   display.println((bme280.getHumidity() / 1024.0) - offsethum);
  97.   display.setCursor(110,10);
  98.   display.println("%");
  99.  
  100.   display.setCursor(0,20);
  101.   display.println("STemp:");
  102.   display.setCursor(75,20);
  103.   display.println(tprom);
  104.   display.setCursor(110,20);
  105.   display.println("C");
  106.  
  107.   display.display();
  108.   display.clearDisplay();
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement