Gast
#5991951
hallo Leute, habt ihr einen Vorschlag wie man die Temperatur und Luftfeuchtigkeit unter der Überschrift durchscrollen lassen kann? danke für Tipps! Mike der Code ist nicht elegant: #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) #define OLED_RESET 4 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #include "SparkFun_Si7021_Breakout_Library.h" float humidity = 0; float tempf = 0; Weather sensor; char message[] = "Temperatur & Luftfeuchte"; int x = 5,y, minX, minY; const unsigned long eventInterval = 2000; unsigned long previousTime = 0; void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3D); display.setTextWrap(false); minX = -12 * strlen(message); minY = 0; } int pos = 35; void loop() { unsigned long currentTime = millis(); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(x, 0); display.println(message); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(5, y+25); display.println("Temp in Grad Celsius"); display.setCursor(5, y+38); display.setTextSize(3); display.print(tempf); display.print((char)247); display.println("C"); display.setCursor(5, y+60); display.setTextSize(1); display.println("Luftfeuchte in %"); display.setCursor(5, y+68); display.print(humidity); display.print("%"); display.display(); if(currentTime - previousTime >= eventInterval){ tempf = sensor.getTemp(); humidity = sensor.getRH(); previousTime = currentTime; } x-=2; y-=1; if((y+80)<=minY) y=display.height(); if(x<=minX) { x = display.width(); //display.clearDisplay(); //display.display(); //delay(1000); } }