OLED scrollText

Gast #5991951
Lesenswert?

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);
  }
}
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren