INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wemos LOLIN32 OLED "WetterUhr"
09.02.2020, 12:41 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2020 14:52 von 4711engel.)
Beitrag #9
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Ich habe nun den Teil "Uhr mit NTP" auf einem ESP8266 NodceMCU mit OLED SSD1306 aufgesetzt und erstellt.
Code:
#include <ESP8266WiFi.h>
#include <NTPtimeESP.h>
#include <SPI.h>
#include <Wire.h>
#include "SSD1306.h"

SSD1306  display(0x3c , 0, 2); // Initialize the OLED display SDA > D3=0  and SCL > D4=2

NTPtime NTPde("de.pool.ntp.org");   // NTP-Server pool

// Replace with your network details
const char* ssid = "XXXXX";
const char* password = "xxxxxxx";

String hour, minute, second, day, month, year;

strDateTime dateTime;



//**************************************************
void setup() {
  // Initializing serial port for debugging purposes
  Serial.begin(115200);
  display.init(); // Initialising the display
  display.flipScreenVertically();
  
  Serial.println();
  Serial.println("Booted");
  Serial.println("Connecting to Wi-Fi");

  display.clear();
  display.setFont(ArialMT_Plain_16);
  display.drawString(0, 15, "Connecting WiFi");
  display.display();

  // Connecting to WiFi network
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("WiFi connected");
}


// ********************************************************
void loop() {
// Time and Date
// first parameter: Time zone in floating point; second parameter: 1 for European summer time; 2 for US daylight saving time; 0 for no DST adjustment;  

  dateTime = NTPde.getNTPtime(1.0, 1);

  // check dateTime.valid before using the returned time
  if(dateTime.valid)
{
    byte actualhour = dateTime.hour;
    byte actualminute = dateTime.minute;
    byte actualsecond = dateTime.second;
    int  actualyear = dateTime.year;
    byte actualmonth = dateTime.month;
    byte actualday = dateTime.day;
    
    display.clear();
    display.setFont(ArialMT_Plain_24);

    if (actualhour < 10)
        {
        Serial.print("0");
        Serial.print(actualhour);
                 hour = '0' + String(actualhour) + ':';
               display.drawString(15, 15, hour);
               display.display();
        }
        else
        {
        Serial.print(actualhour);
                  hour = String(actualhour) + ':';
                display.drawString(15, 15, hour);
                display.display();
         }
        Serial.print(":");
        if (actualminute < 10)
        {
         Serial.print("0");
         Serial.print(actualminute);
                 minute = '0' + String(actualminute) + ':';
               display.drawString(45, 15, minute);
               display.display();
        }
        else
        {
        Serial.print(actualminute);
                  minute = String(actualminute) + ':';
                display.drawString(45, 15, minute);
                display.display();
        }
        Serial.print(":");
        if (actualsecond < 10)
       {
       Serial.print("0");
       Serial.print(actualsecond);
                 second= '0' + String(actualsecond);
               display.drawString(75, 15, second);
               display.display();
       }
       else
      {
      Serial.print(actualsecond);
                  second = String(actualsecond);
                display.drawString(75, 15, second);
                display.display();
      }
      Serial.print("   ");

          display.setFont(ArialMT_Plain_10);

      if (actualday < 10)
     {
      Serial.print("0");
      Serial.print(actualday);
                 day= '0' + String(actualday) + '-';
               display.drawString(30, 40, day);
               display.display();
     }
     else
     {
     Serial.print(actualday);
                  day = String(actualday) + '-';
                display.drawString(30, 40, day);
                display.display();
     }
     Serial.print("/");
     if (actualmonth < 10)
    {
     Serial.print("0");
     Serial.print(actualmonth);
                 month = '0' + String(actualmonth) + '-';
               display.drawString(45, 40, month);
               display.display();
    }
    else
   {
    Serial.print(actualmonth);
                  month = String(actualmonth) + '-';
                display.drawString(45, 40, month);
                display.display();
   }
   Serial.print("/");
   Serial.println(actualyear);
                 year = String(actualyear);
                display.drawString(60, 40, year);
                display.display();
}
}
------------------------
Danach habe ich mit der Anpassung auf das neue Board begonnen. Da ich mich noch nicht mit der Programmierung des Boards auskenne, habe ich dieses anhand der Beispiele aus der u8g2-Library versucht (Hello World). Leider mit noch wenig Erfolg.

Im ersten Schritt sollten in void setup() nur je nach Fortschritt des Booten eine Textausgabe "Connecting WiFi" und danach "WiFi connected" erfolgen.
Der erste Text flackert kurz auf aber der zweite Text wird nicht angezeigt. Im Serial Monitor läuft alles normal durch und auch Datum und Uhrzeit wird dort richtig ausgegeben.

Code:
#include <ESP8266WiFi.h>
#include <NTPtimeESP.h>
#include <SPI.h>
#include <Wire.h>
#include <U8g2lib.h>
#include <Arduino.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);   // Adafruit ESP8266/32u4/ARM Boards + FeatherWing OLED


NTPtime NTPde("de.pool.ntp.org");   // NTP-Server pool

// Replace with your network details
const char* ssid = "XX";
const char* password = "xxxxxxxxxxxxxx";

String hour, minute, second, day, month, year;

strDateTime dateTime;



//**************************************************
void setup(void) {
  // Initializing serial port for debugging purposes
  Serial.begin(115200);

  // Initializing
  u8g2.begin();
    
  Serial.println();
  Serial.println("Booted");
  Serial.println("Connecting to Wi-Fi");

    u8g2.clearBuffer();                    // clear the internal memory
    u8g2.setFont(u8g2_font_ncenB08_tr);    // choose a font
    u8g2.drawStr(0,10, "Connecting WiFi"); // write something to the internal memory
    u8g2.sendBuffer();                     // transfer internal memory to the display
    delay(1000);
    
  // Connecting to WiFi network
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println(" ");
  Serial.println("WiFi connected");

    u8g2.clearBuffer();                    // clear the internal memory
    u8g2.setFont(u8g2_font_ncenB08_tr);    // choose a font
    u8g2.drawStr(0,10, "Connected");       // write something to the internal memory
    u8g2.sendBuffer();                     // transfer internal memory to the display
    delay(1000);
}


// **********************************  noch nicht angepasst auf u8g2 *********************
void loop(void) {
// Time and Date
// first parameter: Time zone in floating point; second parameter: 1 for European summer time; 2 for US daylight saving time; 0 for no DST adjustment;  

  dateTime = NTPde.getNTPtime(1.0, 1);

  // check dateTime.valid before using the returned time
  if(dateTime.valid)
{
    byte actualhour = dateTime.hour;
    byte actualminute = dateTime.minute;
    byte actualsecond = dateTime.second;
    int  actualyear = dateTime.year;
    byte actualmonth = dateTime.month;
    byte actualday = dateTime.day;
    


    if (actualhour < 10)
        {
        Serial.print("0");
        Serial.print(actualhour);
                 hour = '0' + String(actualhour) + ':';

        }
        else
        {
        Serial.print(actualhour);
                  hour = String(actualhour) + ':';
  
         }
        Serial.print(":");
        if (actualminute < 10)
        {
         Serial.print("0");
         Serial.print(actualminute);
                 minute = '0' + String(actualminute) + ':';
  
        }
        else
        {
        Serial.print(actualminute);
                  minute = String(actualminute) + ':';
  
        }
        Serial.print(":");
        if (actualsecond < 10)
       {
       Serial.print("0");
       Serial.print(actualsecond);
                 second= '0' + String(actualsecond);

       }
       else
      {
      Serial.print(actualsecond);
                  second = String(actualsecond);

      }
      Serial.print("   ");

  

      if (actualday < 10)
     {
      Serial.print("0");
      Serial.print(actualday);
                 day= '0' + String(actualday) + '-';

     }
     else
     {
     Serial.print(actualday);
                  day = String(actualday) + '-';
  
     }
     Serial.print("/");
     if (actualmonth < 10)
    {
     Serial.print("0");
     Serial.print(actualmonth);
                 month = '0' + String(actualmonth) + '-';

    }
    else
   {
    Serial.print(actualmonth);
                  month = String(actualmonth) + '-';

   }
   Serial.print("/");
   Serial.println(actualyear);
                 year = String(actualyear);

}
}

Ich habe keine Erklärung, da ich auch noch nicht weiß, wie man diese Textausgabe bei dem Board richtig machen muss. Ist ja wohl etwas anders als beim ESP8266 NodeMCU.

Kann mir jemand dazu etwas sagen? Google konnte mir nichts sagen oder ich habe die Suche nicht richtig gestartet.

MfG


Angehängte Datei(en)
.ino  ESP8266-NTP-Clock ohne.ino (Größe: 4,36 KB / Downloads: 39)
.ino  ESP8266-u8g2-NTP-Clock ohne.ino (Größe: 4,05 KB / Downloads: 33)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2020, 14:30
Beitrag #10
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Warum setzt Du Deine Sketche nicht direkt ins Forum?
Stelle Deine Sketche bitte in Codetags. So ist er auch auf portablen Geräten lesbar.
Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Dann probiere doch erst mal in einem eigenen Sketch aus, ob Du überhaupt einen (konstanten) Text auf das Display ausgegeben bekommst.

Bei Deinem Link ist ein Link zum Datenblatt dabei. Hast Du Dir das angeschaut? Da ist auch ein Beispiel dabei. Funktioniert dieses?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2020, 17:03
Beitrag #11
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Hallo,

Kurzfassug: es gibt keinen wirklichen Unterschied zwischen einer NodeMCU und dem Heltec Board.
Es gibt aber einen Unterschied, wo Du selbst das Display an die NodeMCU angescjlassone hast.
Nach dem ersten Sketch an SDA > D3=0 and SCL > D4=2. Macht man eigentlich nur, wenn man es unbedingt an einen ESP8266-01 hängen will, weil der keine anderen GPIO rausgführt hat.
Üblich für den ESP8266 ist SDA an GPIO4 und SCK an GPIO5 , die sind da Defualt, erspart also z.B. bei Wire.begin(); die Angabe der Pinnummern.
Das wäre auch die einzig nötige Anpassung hier.
Zum Thema NTP bringen die ESP bereits die time.h mit, das ist die Posix time library und die erledigt zumindest den NTP Kram mit wenig Aufwand.
Zur U8g2lib lib kann ich nichts sagen, die nutze ich nicht. Wenn bei Dir die SSD1306 lib auf der NodeMCU läuft, warum nimmsrt Du die dann nicht auch auf dem Holtec Board?

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.02.2020, 12:25 (Dieser Beitrag wurde zuletzt bearbeitet: 10.02.2020 20:15 von 4711engel.)
Beitrag #12
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Hallo
ich habe mich entschieden auf Basis des ESP32 das Projekt umzusetzen und werde den Wemos Lolin32 OLED verwenden. Also einen ESP32 mit einem SSD1306 OLED.

https://www.youtube.com/watch?v=qKQXS8TtM_M

Zu diesem Board gibt es mehr Infos im Netz und es gibt auch schon eine kleine Wetteranzeige mit BMP280.


Hier der Sketch "ESP - Clock" zum Teil1:

Code:
#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
#include <Wire.h>  
#include "SSD1306Wire.h"  

// onboard Display
SSD1306Wire  display(0x3c, 5, 4);     //SDA > D1=5    SCL > D2=4

// NTP-Server pool
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);

// Replace with your network details
char* ssid = "XX";
char* password = "xxxxxxxxxx";

// Variables to save date and time
String formattedDate;
String dayStamp;
String timeStamp;

//**************************************************

void setup() {
  // Initialize Serial Monitor
  Serial.begin(115200);

  Wire.begin (5,4);
  display.init();

  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  // Print local IP address and start web server
  Serial.println("");
  Serial.println("WiFi connected.");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

// Initialize a NTPClient to get time
  timeClient.begin();
  // Set offset time in seconds to adjust for your timezone, for example:
  // GMT +1 = 3600
  // GMT +8 = 28800
  // GMT -1 = -3600
  // GMT 0 = 0
  timeClient.setTimeOffset(3600);
}


// ********************************************************
void loop() {
  while(!timeClient.update()) {
    timeClient.forceUpdate();
  }
  // The formattedDate comes with the following format:
  // 2018-05-28T16:00:13Z
  // We need to extract date and time
  formattedDate = timeClient.getFormattedDate();
  Serial.println(formattedDate);

  // Extract date
  int splitT = formattedDate.indexOf("T");
  dayStamp = formattedDate.substring(0, splitT);
  Serial.print("DATE: ");
  Serial.println(dayStamp);
  // Extract time
  timeStamp = formattedDate.substring(splitT+1, formattedDate.length()-1);
  Serial.print("HOUR: ");
  Serial.println(timeStamp);

  
display.clear();
display.flipScreenVertically();
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_16);
display.drawString(20, 0, "ESP - Clock");

display.setFont(ArialMT_Plain_16);
display.drawString(5, 20, "Hour: " + String(timeStamp));

display.setFont(ArialMT_Plain_16);
display.drawString(5, 30, "Date: " + String(dayStamp));

display.display();
}



Und hier der Teil 2 "ESP - Wetter" mit den Wetterdaten gemessen mit BMP280:

Code:
/********************************************
    Wemos Lolin32 BMP280 Wetterstation
    
https://www.youtube.com/watch?v=qKQXS8TtM_M

BMP280     ESP32
------------------
V           3,3 V
G           GND
SDA      D1 = 5
SCL      D2 = 4    

********************************************/

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include "SSD1306Wire.h"
#include <Adafruit_GFX.h>
#include <SPI.h>

SSD1306Wire  display(0x3c, 5, 4);

Adafruit_BME280 bme; // I2C 0x76
unsigned long delayTime;
  
void setup()
{
  Wire.begin(5, 4);
  Wire.setClock(100000);
  
  Serial.begin(115200);
  Serial.println(F("bme280 test"));
  
    bool status;
    status = bme.begin();  
    if (!status) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
        while (1);
    }
    display.init();
    Serial.println("-- Default Test --");
delayTime = 5000;
    Serial.println();
}

void loop() {
    printValues();
    delay(delayTime);
}


void printValues() {
    Serial.print(F("Temperature = "));
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    
    Serial.print(F("Pressure = "));
    Serial.print(bme.readPressure()/100);
    Serial.println(" hPa");

    Serial.print("Humidity = ");
    Serial.print(bme.readHumidity());
    Serial.println(" %");
    
    Serial.println();
  

display.clear();
display.flipScreenVertically();
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(ArialMT_Plain_16);
display.drawString(20, 0, "Wetter");

display.setFont(ArialMT_Plain_10);
display.drawString(5, 20, "Temperature: " + String(bme.readTemperature()) + " *C");

display.setFont(ArialMT_Plain_10);
display.drawString(5, 30, "Pressure: " + String(bme.readPressure()/100)+ " hPa");

display.setFont(ArialMT_Plain_10);
display.drawString(5, 40, "Humidity: " + String(bme.readHumidity())+ "%");

display.display();
}




Beide Teile müssen nun noch zusammengebaut werden auf zwei Display-Seiten.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.02.2020, 20:03
Beitrag #13
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
(09.02.2020 17:03)amithlon schrieb:  Zum Thema NTP bringen die ESP bereits die time.h mit, das ist die Posix time library und die erledigt zumindest den NTP Kram mit wenig Aufwand.

Wie Michael schon geschrieben hat kannst du dir den ganzen "NTPClient.h" Spaß sparen.

Der EspCore bringt alles schon mit.
Hier ein Beispiel für den Esp32.


Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2020, 12:23 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2020 15:28 von 4711engel.)
Beitrag #14
Wemos LOLIN32 OLED: Projekt "WetterUhr"
So, nun habe ich auch den letzten Schritt vollzogen und beide Projektteile (NTP-Clock und BMP-Wetteranzeige) zusammengefügt. Dazu habe ich als Basis ein Beispielprogramm SSD1306UiDemo https://github.com/ThingPulse/esp8266-ol...1306UiDemo verwendet. Damit kann man einfach mehrere Frames (Anzeigeseiten) per Animation (z.B. Scollen nach links) überblenden. Wie im Film.
Leider hänge ich an einem Problem und finde keine Lösung. Die beiden Einzelseiten sind inhaltlich fehlerfrei und zeigen zum einen Datum und Uhrzeit bzw. die gemessenen Wetterdaten.
Das Problem: Der animierte Übergang funktioniert nicht. Der Austausch der beiden Seiten erfolgt nur per Überblendung, wobei die neue Seite immer erst flackert, während die alte Seite gelöscht wird.

Hier der Code (ich habe die Serial.print ´s ausgeblendet, da ich kein debugging benötige):

Code:
/***************************************************
*     Wetter - Uhr
*
*     Frame1:   NTP-Clock
*     Frame2:   Wetter
*
*   https://www.youtube.com/watch?v=qKQXS8TtM_M
*
*    BMP280     ESP32
*   ------------------
*     V        3,3 V
*     G        GND
*     SDA      D1 = 5
*     SCL      D2 = 4
*
*
***************************************************/

#include <NTPClient.h>
#include <WiFi.h>
#include <WiFiUdp.h>
#include "SSD1306Wire.h"
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <Adafruit_GFX.h>
#include <SPI.h>
  
// Include the UI lib
#include "OLEDDisplayUi.h"

// Include custom images
#include "images.h"  

// onboard Display
SSD1306Wire  display(0x3c, 5, 4);     //SDA > D1=5    SCL > D2=4
OLEDDisplayUi ui( &display );

// NTP-Server pool
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);

// Replace with your network details
char* ssid = "XX";
char* password = "xxxxxxxxxxxx";

Adafruit_BME280 bme; // I2C 0x76
unsigned long delayTime = 5000;
float temp, druck, feuchte;

// Variables to save date and time
String formattedDate;
String dayStamp;
String timeStamp;


//******************Frame1:  NTP-Clock************************************
void drawFrame1(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {

while(!timeClient.update()) {
    timeClient.forceUpdate();
  }
  
  // The formattedDate comes with the following format:
  // 2018-05-28T16:00:13Z
  // We need to extract date and time
  formattedDate = timeClient.getFormattedDate();

  // Extract date
  int splitT = formattedDate.indexOf("T");
  dayStamp = formattedDate.substring(0, splitT);

  // Extract time
  timeStamp = formattedDate.substring(splitT+1, formattedDate.length()-1);

display->setFont(ArialMT_Plain_24);
display->drawString(20, 5, String(timeStamp));

display->setFont(ArialMT_Plain_16);
display->drawString(25, 35, String(dayStamp));

display->display();
}

//******************Frame2:  Wetter************************************
void drawFrame2(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {

  temp = bme.readTemperature();
  druck = bme.readPressure()/100;
  feuchte = bme.readHumidity();

  display->setFont(ArialMT_Plain_16);
  display->drawString(20, 0, "Wetter");

  display->setFont(ArialMT_Plain_10);
  display->drawString(5, 20, "Temp:     " + String(temp,1) + " *C");

  display->setFont(ArialMT_Plain_10);
  display->drawString(5, 30, "Druck:     " + String(druck,0)+ " hPa");

  display->setFont(ArialMT_Plain_10);
  display->drawString(5, 40, "Feuchte: " + String(feuchte,1)+ " %");

  display->display();
}


// This array keeps function pointers to all frames
// frames are the single views that slide in
FrameCallback frames[] = { drawFrame1, drawFrame2 };

// how many frames are there?
int frameCount = 2;


//******************SETUP************************************
void setup() {
//  Serial.begin(115200);
  
  Wire.begin (5,4);

  bme.begin();

  WiFi.begin(ssid, password);
  
/*  Serial.println(F("bme280 test"));
    bool status;
    status = bme.begin();  
    if (!status) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
       while (1);
    }

  Serial.print("Connecting to ");
  Serial.println(ssid);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Print local IP address and start web server
  Serial.println("");
  Serial.println("WiFi connected.");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
*/

// Initialize a NTPClient to get time
  timeClient.begin();
  // Set offset time in seconds to adjust for your timezone, for example:
  // GMT +1 = 3600
  // GMT +8 = 28800
  // GMT -1 = -3600
  // GMT 0 = 0
  timeClient.setTimeOffset(3600);
  

    // The ESP is capable of rendering 60fps in 80Mhz mode
    // but that won't give you much time for anything else
    // run it in 160Mhz mode or just set it to 30 fps
  ui.setTargetFPS(60);

    // Customize the active and inactive symbol
  ui.setActiveSymbol(activeSymbol);
  ui.setInactiveSymbol(inactiveSymbol);

  // You can change this to
  // TOP, LEFT, BOTTOM, RIGHT
  ui.setIndicatorPosition(BOTTOM);

  // Defines where the first frame is located in the bar.
  ui.setIndicatorDirection(LEFT_RIGHT);

  // You can change the transition that is used
  // SLIDE_LEFT, SLIDE_RIGHT, SLIDE_UP, SLIDE_DOWN
  ui.setFrameAnimation(SLIDE_LEFT);

  // Add frames
  ui.setFrames(frames, frameCount);

  // Initialising the UI will init the display too.
  ui.init();

  display.flipScreenVertically();
}




//******************LOOP************************************
void loop() {
  int remainingTimeBudget = ui.update();

  if (remainingTimeBudget > 0) {
    delay(remainingTimeBudget);
  }
}


Bin sehr gespannt auf die Lösung des Problems. Vielleicht hat jemand eine Erklärung.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2020, 12:27 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2020 13:53 von 4711engel.)
Beitrag #15
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Frage an den Admin:
Kann man den Beitrag-Titel von "Heltec Wifi Kit8" in "Wemos LOLIN32 OLED" ändern?
Ich habe ja das Board gewechselt und benutze nun einen Wemos LOLIN32 OLED.
Einfach nur um Missverständnisse zu vermeiden.

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2020, 13:48
Beitrag #16
RE: Heltec Wifi Kit8: Projekt "WetterUhr"
Aus welcher Lib stammt OLEDDisplayUi? (Link bitte).

Mit Deiner derzeitigen Kommentarsetzung hast Du aber z.B. auch keine Verbindung zum WLAN.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wemos D1 mini (8266) und OTA Probleme Arduino4Fun 55 1.052 16.10.2020 21:30
Letzter Beitrag: hotsystems
  Lolin32 - Steuerung der Gartenbeleuchtung mittels Relais oochrisioo 11 745 03.10.2020 17:46
Letzter Beitrag: oochrisioo
  WeMos D1 mini ESP8266 error: <bits/c++config.h> AnFi 17 5.335 27.08.2020 13:47
Letzter Beitrag: dna
  Zwei Wemos D1 Mini übereinander stecken. N1d45 16 1.895 16.08.2020 09:52
Letzter Beitrag: hotsystems
  mit einem Wemos D1 mini mit Alexa eine Rolllade steuern SiR WonG 27 3.055 27.07.2020 15:49
Letzter Beitrag: hotsystems
  WS2812b am Wemos mini - Idee, warum's nicht geht? a-stern.1 10 1.657 03.07.2020 05:17
Letzter Beitrag: N1d45
  WEMOS D1 mini pro nach 4 Jahren gestorben Tommy56 1 692 02.07.2020 05:52
Letzter Beitrag: amithlon
  ESP8266 (Wemos D1 Mini) - WifiManager und TimerInterrupt fiberman 10 1.641 30.06.2020 06:24
Letzter Beitrag: amithlon
  i2c LCD Display am Wemos D1 Mini mit mqtt klappt nach modifikation nicht raspido 5 979 15.06.2020 22:19
Letzter Beitrag: stw
  Wemos D1 R2, Kein Reset wenn 5V Ausgang belegt ist LutzS 14 1.755 24.05.2020 21:07
Letzter Beitrag: LutzS

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste