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);
}
}
Mit dieser Library musst du vermutlich den Text mehrfach ausgeben, um jeweils ein Pixel versetzt. Vermutlich wird das ruckeln.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.