e-Ink Display mit ESP32 ansteuern

Hier zeige ich euch wie du einen BME280 mit Arduino ausliest und die gemessenen Werte auf einem e-Ink Display darstellst. Als Controller verwenden wir einen ESP32 / Lolin32 den wir mit Arduino programmieren.  

Da diese eInk Displays einen sehr niedrigen Stromverbrauch haben könnte man das Programm optimieren das der ESP32 in den Deep-Sleep Modus versetz wird, somit könnte das Display über einen Akku mehrere Jahre betrieben werden. Ich werde zu einem späteren Zeitpunkt sicherlich noch einen Blog Eintrag über ein solches Projekt machen.


Probleme und Stolpersteine in diesem Projekt

Ich habe lange nach einer vernünftigen Arduino Library zum ansteuern der e-Ink Displays gesucht. Zuerst wollte ich meine lieblings Library für Displays nutzen die U8g2. Leider wird von der U8g2 Library nur aktuell ein e-Ink Display von Waveshare unterstützt, deshalb habe ich weitergesucht und die GxEPD Library von ZinggJM gefunden die ich empfehlen kann. Die Library nutzt die Adafruit GFX Library die zum zeichnen und schreiben von Text genutzt wird.

Die Standard schriften von Adafruit haben leider kein Grad Zeichen und somit konnte ich zuerst die Temperatur nicht sauber darstellen. Damit ein ° Zeichen genutzt werden kann muss man selber ein Zeichen anlegen oder eine eigene Schrift erstellen. Der Aufwand war mir dazu zu gross deshalb habe ich als schnell Lösung das Grad Zeichen mit der Zeichnen Funktion erstellt. Dies hat super funktioniert und es sieht auch schön aus.

Hier noch die Links von den erwähnten Libraries:

U8g2: https://github.com/olikraus/u8g2
GxEPD: https://github.com/ZinggJM/GxEPD
Adafruit GFX: https://github.com/adafruit/Adafruit-GFX-Library


Arduino Beispiel Programm zum auslesen vom BME280 und anzeigen auf dem e-Ink Display

/*******************************************************************************************
 *******************************************************************************************
 **                                www.bastelgarage.ch                                    **
 ** Der Onlineshop mit Videoanleitungen und kompletten Bausätzen für Anfänger und Profis! **
 *******************************************************************************************
 *******************************************************************************************
 ** Hier zeige ich euch wie du einen BME280 ausliest und die gemessenen Werte auf einem   **
 ** e-Ink Display darstellst.                                                             **
 **                                                                                       **
 **                                                                                       **
 ** Verwendete Library:                                                                   **
 ** E-Ink Display Waveshare 200x200 1.54" GxEPD: https://github.com/ZinggJM/GxEPD         **
 ** BME280: https://github.com/e-radionicacom/BME280-Arduino-Library                      **                                                                **
 **                                                                                       **
 ** Autor: Philippe Keller                                                                **
 ** Datum: Oktober 2017                                                                   **
 ** Version: 1.0                                                                          **
 *******************************************************************************************
  Pinbelegung:
  Display:      ESP32 Lolin32:
  BUSY          4
  RST           16
  DC            17
  CS            5   (SS)
  CLK           18  (SCK)
  DIN           23  (MOSI)
  GND           GND
  3.3V          3V

  BME280:       ESP32 Lolin32:
  VCC           3V
  GND           GND
  SCL           22
  SDA           21
*/

/************************( Importieren der genutzten Bibliotheken )************************/
#include <GxEPD.h>
#include <BME280.h>

// Genutztes Display 200x200 1.54inch Schwarz / Weiss E-Ink Display
// https://www.bastelgarage.ch/index.php?route=product/product&path=67_84&product_id=428
#include <GxGDEP015OC1/GxGDEP015OC1.cpp>


#include <GxIO/GxIO_SPI/GxIO_SPI.cpp>
#include <GxIO/GxIO.cpp>

//Bastelgarage Logo oder anderes Bild muss im selben Ordner sein
#include "IMG_0001.h"

// Genutzte Schrift importieren
// https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts
#include <Fonts/FreeMonoBold18pt7b.h>

/**************************(Definieren der genutzten Variabeln)****************************/
// Interval zum aktualisieren vom Display
int interval = 5000;
long lastTime = 5000;


float temperature = 0;
float humidity = 0;
float pressure = 0;

BME280 bme;

GxIO_Class io(SPI, SS, 17, 16);  //SPI,SS,DC,RST
GxEPD_Class display(io, 16, 4);  //io,RST,BUSY

/*****************************************( Setup )****************************************/
void setup(void)
{
  Serial.begin(115200);

  //BME280 Einstellungen Details unter:
  //www.github.com/e-radionicacom/BME280-Arduino-Library/blob/master/examples/advancedSettings

  bme.settings(0, 3, 5, 4, 3, 3, 3);
  while (bme.begin()) {
    Serial.println("Es konnte kein BME289 gefunden werden, bitte Verdrahtung prüfen.");
    delay(1000);
  }


  display.init();                   // e-Ink Display initialisieren
  display.fillScreen(GxEPD_WHITE);  // Display Weiss füllen
  display.setRotation(1);           // Display um 90° drehen

  // Logo Bastelgarage auf Display darstellen
  // Bild,X-Position,Y-Position,Breite Bild, Höhe Bild, Farbe
  display.drawBitmap(gImage_IMG_0001, 0, (200 - 72), 200 , 72, GxEPD_BLACK);

  display.update();                 // Display aktualisieren
}

/*************************************(Hauptprogramm)**************************************/
void loop()
{

  if (millis() - lastTime > interval) {  // Prüfen ob Display aktualisiert werden muss
    lastTime = millis();

    // Lesen der Messwerte vom BME280
    temperature = bme.readTemp();
    pressure = (bme.readPressure() / 100.0F);
    humidity = bme.readHumidity();


    display.setRotation(1);                // Display um 90° drehen
    display.setTextColor(GxEPD_BLACK);     // Schriftfarbe Schwarz
    display.setFont(&FreeMonoBold18pt7b);  // Schrift definieren

    // Rechteck mit weissem Hintergrund erstellen
    //X-Position, Y-Position, Breite, Höhe, Farbe
    display.fillRect(0, 0, 200, 128, GxEPD_WHITE); //Xpos,Ypos,box-w,box-h


    // Temperatur schreiben
    display.setCursor(0, 35);
    if (temperature >= 20) display.print("+");
    if (temperature < 0 & temperature> -10) display.print("-");
    if (temperature >= 0 & temperature < 20) display.print(" +");
    display.print(temperature, 1);
    display.setCursor(120, 35);
    display.print(" C");

    // Da bei der Schrift kein Grad Zeichen vorhanden ist selber eins mit Kreisen erstellen
    display.fillCircle(130, 15, 5, GxEPD_BLACK);  //Xpos,Ypos,r,Farbe
    display.fillCircle(130, 15, 2, GxEPD_WHITE);  //Xpos,Ypos,r,Farbe

    // Luftfeuchtigkeit schreiben
    display.setCursor(0, 70);
    if (humidity >= 20) display.print(" ");
    if (humidity >= 0 & humidity < 20) display.print("  ");
    display.print(humidity, 1);
    display.print(" %");


    // Luftdruck schreiben
    display.setCursor(0, 105);
    display.print(pressure, 1);
    if (pressure < 1000) display.print(" ");
    display.print("hPa");

    // Teil refresh vom  Display
    display.updateWindow(0, 0, GxEPD_WIDTH, GxEPD_HEIGHT, false);
  }

}

Bastelgarage Logo IMG_0001.h

Dieser Code muss im selben Ordner wie das Arduino Hauptprogramm sein und unter folgendem Namen gespeichert sein: IMG_0001.h

#if defined(__AVR)
#include <avr/pgmspace.h>
#else
#define PROGMEM
#endif
// Bastelgarage Logo 200x72 Pixel
const unsigned char gImage_IMG_0001[1800] PROGMEM = { /* 0X00,0X01,0XC8,0X00,0X48,0X00, */
0X80,0X00,0X00,0X00,0X00,0X07,0XF8,0X00,0X00,0X00,0X00,0X00,0XFF,0X00,0X00,0X00,
0X00,0X00,0X1F,0XE0,0X00,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0X00,0X07,0XE0,
0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XE0,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,
0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,
0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X0F,0X3F,0XC1,
0XC1,0X06,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,
0XC0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XE1,0XC3,0X06,0X03,0XE0,0X00,0X00,0X00,
0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X0F,
0XFF,0XF1,0XC7,0X07,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0XC0,0X00,
0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFE,0X79,0XC7,0X07,0X03,0XE0,0X00,
0X00,0X00,0X00,0X00,0X7E,0X00,0X03,0XE0,0X70,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,
0X00,0X0F,0XFE,0X1D,0XC7,0X07,0X83,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X0F,
0XF0,0XFC,0X00,0X07,0XC0,0X00,0X00,0X00,0X3F,0X80,0X0E,0X1E,0X0D,0XC7,0X8F,0X83,
0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X01,0XFF,0XFF,0XFF,0X80,0X07,0XC0,0X00,0X00,
0X00,0X3F,0X80,0X00,0X1E,0X00,0XC7,0XFF,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,
0X0F,0XFF,0XFF,0XFF,0XE0,0X07,0XC0,0X00,0X00,0X00,0X3F,0X80,0X00,0X1E,0X00,0XC3,
0XFE,0X03,0XE0,0X00,0XFF,0XFF,0XF0,0X00,0X7E,0X07,0XFF,0XE0,0XFF,0XFC,0X07,0XC0,
0X7F,0XFF,0XFF,0XF8,0X00,0X00,0X1E,0X00,0XC3,0XFE,0X03,0XE0,0X01,0XFF,0XFF,0XF8,
0X00,0X7E,0X07,0XFF,0XC0,0X7F,0XFE,0X07,0XC0,0X7F,0XFF,0XFF,0XF8,0X00,0X00,0X1E,
0X00,0XC1,0XFC,0X03,0XE0,0X07,0XFF,0XFF,0XFE,0X00,0X7E,0X01,0XFC,0X00,0X0F,0XFE,
0X07,0XC0,0X7F,0XFF,0XFF,0XF8,0X00,0X00,0X1E,0X00,0XC0,0XF8,0X03,0XE0,0X07,0XFF,
0XFF,0XFE,0X00,0X7E,0X00,0XF0,0X00,0X03,0XFC,0X07,0XC0,0X7F,0XFF,0XFF,0XF8,0X00,
0X00,0X1E,0X00,0XC0,0XF8,0X03,0XE0,0X07,0XFF,0XFF,0XFF,0X00,0X7E,0X00,0XF0,0X00,
0X00,0X70,0X07,0XC0,0X78,0X18,0X30,0XF8,0X00,0X00,0X1E,0X00,0XC0,0XF8,0X03,0XE0,
0X0F,0XFF,0XFF,0XFF,0X00,0X7E,0X01,0XFC,0X00,0X00,0XE0,0X07,0XC0,0X7C,0X18,0X30,
0XF8,0X00,0X00,0X1E,0X00,0XC0,0XF8,0X03,0XE0,0X0F,0XFF,0XF3,0XFF,0X00,0X7E,0X01,
0XFF,0X00,0X0F,0XF0,0X07,0XC0,0X3F,0XFF,0XFF,0XF0,0X00,0X00,0X1E,0X00,0XC0,0XF8,
0X03,0XE0,0X0F,0XFF,0XE3,0XFF,0X00,0X7E,0X03,0XFF,0XC0,0X1F,0XF8,0X07,0XC0,0X3F,
0XFF,0XFF,0XF0,0X00,0X00,0X1C,0X01,0XC0,0XF8,0X03,0XE0,0X0F,0XFF,0X83,0XFF,0X00,
0X7E,0X07,0XFF,0XF8,0XFF,0XF8,0X07,0XC0,0X3C,0X18,0X30,0XF0,0X00,0X00,0X1E,0X03,
0XE0,0XF8,0X03,0XE0,0X0F,0XFF,0X03,0XFF,0X00,0X7E,0X07,0XFF,0XFF,0XFF,0XFC,0X07,
0XC0,0X3C,0X18,0X30,0XF0,0X00,0X00,0X3F,0X07,0XF0,0XF8,0X03,0XE0,0X0F,0XFC,0X03,
0XFF,0X00,0X7E,0X03,0XFF,0XFF,0XFF,0XFE,0X07,0XC0,0X3C,0X18,0X30,0XE0,0X00,0X00,
0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X0F,0XFF,0X03,0XFF,0X00,0X7E,0X00,0XFF,0XFF,0XFF,
0XFE,0X07,0XC0,0X3F,0XFF,0XFF,0XE0,0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X0F,
0XFF,0XC3,0XFF,0X00,0X7E,0X00,0X3F,0XF9,0XFF,0XF8,0X07,0XC0,0X1F,0XFF,0XFF,0XE0,
0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X0F,0XFF,0XE3,0XFF,0X00,0X7E,0X00,0X0F,
0XF8,0XFF,0XF0,0X07,0XC0,0X1F,0XFF,0XFF,0XE0,0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,
0XE0,0X0F,0XFF,0XFB,0XFF,0X00,0X7E,0X00,0XE3,0XF0,0XFF,0X80,0X07,0XC0,0X0F,0XFF,
0XFF,0XE0,0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X0F,0XFF,0XFF,0XFF,0X00,0X7E,
0X00,0XF0,0XF6,0XFE,0X00,0X07,0XC0,0X00,0X00,0X01,0XC0,0X00,0X00,0X3F,0X06,0XB0,
0XF8,0X03,0XE0,0X0F,0XFF,0XFF,0XFF,0X00,0X7E,0X00,0XFC,0X76,0XF8,0X40,0X07,0XC0,
0X00,0X00,0X01,0XC0,0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X07,0XFF,0XFF,0XFF,
0X00,0X7E,0X00,0XFF,0X0F,0X43,0XC0,0X07,0XC0,0X0F,0XFF,0XFF,0XC0,0X00,0X00,0X3F,
0X06,0XB0,0XF8,0X03,0XE0,0X07,0XFF,0XFF,0XFF,0X00,0X7E,0X00,0XFF,0XCF,0X07,0XC0,
0X07,0XC0,0X0F,0XFF,0XFF,0XC0,0X00,0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X07,0XFF,
0XFF,0XFC,0X00,0X7E,0X00,0XFF,0XFF,0X3F,0XC0,0X07,0XC0,0X07,0XFF,0XFF,0XC0,0X00,
0X00,0X3F,0X06,0XB0,0XF8,0X03,0XE0,0X01,0XFF,0XFF,0XFC,0X00,0X7E,0X00,0X3F,0XFF,
0XFF,0XC0,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,0X06,0XB0,0XFC,0X03,0XE0,
0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X0F,0XFF,0XFF,0X00,0X07,0XC0,0X03,0X00,0X04,
0X00,0X00,0X00,0X3F,0X06,0XB1,0XFC,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,
0X03,0XFF,0XFC,0X00,0X07,0XC0,0X07,0X80,0X0F,0X00,0X00,0X00,0X3F,0X06,0XB3,0XDE,
0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0XFF,0XF0,0X00,0X07,0XC0,0X0F,
0XC0,0X1F,0X00,0X00,0X00,0X3F,0X06,0XB3,0X8E,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,
0X7E,0X00,0X00,0X3F,0XE0,0X00,0X07,0XC0,0X0F,0XC0,0X1F,0X00,0X00,0X00,0X3F,0X07,
0XF3,0XDE,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X0F,0X00,0X00,0X07,
0XC0,0X07,0X80,0X0F,0X00,0X00,0X00,0X3F,0X03,0XE1,0XFC,0X03,0XE0,0X00,0X00,0X00,
0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X03,0X00,0X04,0X00,0X00,0X00,
0X1E,0X03,0XC0,0XF8,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,
0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X1C,0X00,0X80,0X30,0X03,0XE0,0X00,
0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,
0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,
0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,
0X00,0X00,0X00,0X00,0X00,0X07,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X07,0XE0,0X00,0X00,0X00,0X00,0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X0F,0XE0,
0X00,0X00,0X00,0X00,0X00,0X80,0X00,0X00,0X00,0X00,0X07,0XF0,0X00,0X00,0X00,0X00,
0X00,0X7E,0X00,0X00,0X00,0X00,0X00,0X0F,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,
0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,
0XFF,0XFC,0X7F,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XFF,0XFF,
0XF1,0XE0,0X07,0X00,0X7F,0XFF,0X01,0XF8,0X01,0XFE,0X00,0XF0,0X7F,0X00,0X78,0X01,
0XF8,0XF8,0X07,0XE0,0X78,0X01,0XFC,0X01,0XF8,0X01,0X80,0X07,0X00,0X1F,0XFC,0X00,
0X78,0X00,0X78,0X00,0XF0,0X1C,0X00,0X78,0X00,0X78,0XF0,0X01,0XE0,0X78,0X00,0XF0,
0X01,0XE0,0X01,0X8F,0XC7,0XFF,0X1F,0XFC,0X7E,0X38,0X7C,0X38,0XFF,0XFF,0X1C,0X7F,
0XF8,0X7C,0X78,0XF3,0XF9,0XFC,0X7F,0XFC,0XF3,0XFF,0XE3,0XF1,0X8F,0XC7,0XFF,0X1F,
0XFC,0X7E,0X38,0X7C,0X38,0XFF,0XFF,0X1C,0X7F,0XF8,0X7C,0X38,0XF3,0XF9,0XFC,0X7F,
0XFC,0XF3,0XFF,0XE3,0XF1,0X8F,0XC7,0XFF,0X1F,0XFC,0X00,0X38,0X7C,0X38,0X01,0XFF,
0X1C,0X00,0XF8,0X7C,0X38,0XF0,0X01,0XFC,0X7C,0X00,0XF0,0X03,0XE3,0XF1,0X8F,0XC7,
0XFF,0X1F,0XFC,0X00,0X38,0X7C,0X38,0X00,0XFF,0X1C,0X00,0X38,0X7C,0X38,0XF0,0X01,
0XFC,0X78,0X03,0XF0,0X01,0XE3,0XF1,0X8F,0XC7,0XFF,0X1F,0XFF,0XFE,0X38,0X7C,0X38,
0XFC,0X7F,0X1C,0X7E,0X38,0X7C,0X38,0XFF,0XF9,0XFC,0X79,0XFF,0XF3,0XF8,0XE3,0XF1,
0X8F,0XC7,0XFF,0X1F,0XFF,0XFE,0X38,0X7C,0X38,0XFC,0X7F,0X1C,0X7E,0X38,0X7C,0X38,
0XFF,0XF9,0XFC,0X79,0XFF,0XF3,0XF8,0XE3,0XF1,0X8F,0XC7,0XFF,0X1E,0X3F,0XFE,0X38,
0X7C,0X38,0XFC,0X7F,0X1C,0X7E,0X38,0X7C,0X38,0XFF,0XF9,0XFC,0X79,0XFF,0XF3,0XF8,
0XE3,0XF1,0X8F,0XC7,0X00,0X1E,0X3E,0X00,0X78,0X00,0X78,0X00,0XFF,0X1C,0X00,0X38,
0X00,0X78,0XF0,0X01,0XE0,0X78,0X00,0XF0,0X01,0XE0,0X01,0X8F,0XC7,0XFF,0XFE,0X3F,
0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0X1F,0XFF,0XF8,0X7F,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,
0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X7F,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,};

Verbundene Suchwörter

Waveshare Blog Elektronisches Papier E-Papier ePaper Wetterstation Code Beispiel DIY Programm Anleitung Arduino I2C BME280 eInk e-Ink Display ESP32 Lolin32 Essperif Wetter Luftfeuchtigkeit Temperatur Luftdruck

Kommentare

Hinweis: HTML ist nicht verfügbar!

Im Beitrag erwähnte Produkte

LOLIN32 V1.0.0 ESP32 Board 4 MB FLASH

LOLIN32 V1.0.0 ESP32 Board 4 MB FLASH

Der Nachfolger vom ESP8266 hat neben WiFi auch noch Bluetooth und Bluetooth LE sowie mehr IO Pins un..

14,90CHF

SparkFun ESP32 Thing

SparkFun ESP32 Thing

Der SparkFun ESP32 Thing ist eine umfassende Entwicklungsplattform für Espressif ESP32. Der ESP32 is..

21,90CHF

200x200 1.54inch Schwarz / Weiss E-Ink Display

200x200 1.54inch Schwarz / Weiss E-Ink Display

Dies ist ein E-Ink / E-Paper Display-Modul 1.54inch mit 200x200 Pixel Auflösung, mit Integriertem Co..

18,90CHF

296x128 2.9inch Schwarz / Weiss E-Ink Display

296x128 2.9inch Schwarz / Weiss E-Ink Display

Dies ist ein E-Ink / E-Paper Display-Modul 2.9inch mit 296x128 Pixel Auflösung, mit integriertem Con..

24,50CHF

BME280 I2C Wetterstation Sensor Feuchtigkeit / Druck / Temperatur

BME280 I2C Wetterstation Sensor Feuchtigkeit / Druck / Temperatur

Der BME280 ist der neuste Sensor von Bosch der die BMP085/BMP180 und BMP183 ablöst. Da der Sensor Lu..

11,50CHF