tel
Suche
Bestätigen Sie
Abbrechen
good display
Aktueller Standort:
Hauptseite
/
/
Schreiben Sie Ihren E-Paper-Treiber (Arduino IDE) gemäß dem Spezifikations-Flussdiagramm und der Instruktionsliste

VERWANDT

Kontakt

0086-411-84619565

E-mail:sales.de@good-display.com

Adresse:Nr. 18 Zhonghua West Road, Bezirk Ganjingzi, Stadt Dalian, Provinz Liaoning

Schreiben Sie Ihren E-Paper-Treiber (Arduino IDE) gemäß dem Spezifikations-Flussdiagramm und der Instruktionsliste

Quelle

Schreiben Sie Ihren E-Paper-Treiber (Arduino IDE) gemäß dem Spezifikations-Flussdiagramm und der Instruktionsliste

Quelle

Details

Schreiben Sie Ihren E-Paper-Treiber (Arduino IDE) gemäß dem Spezifikations-Flussdiagramm und der Instruktionsliste

- Nehmen Sie den 2.13 Zoll elektronischen Tintenschirm GDEY0213B74 als Beispiel

 

 

Wie funktioniert der elektronische Tintenschirm?

 

Der elektronische Tintenschirm verwendet die elektrophoretische Anzeigetechnologie, die von E Ink beherrscht wird,

um die geladenen Mikrokapsel-Partikel zu arbeiten, indem die angelegte Spannung geändert wird.

Jedes Pixel besteht aus einer einzigen E-Tinte, also einer mikrogekapselten Einheit. Jede Kapsel enthält flüssige Ladung,

in der positive Ladung weiß und negative Ladung schwarz gefärbt wird. Wenn eine positive oder negative Spannung

auf einer Seite angelegt wird, wird die geladene Flüssigkeit angezogen bzw. abgestoßen, um ein Schwarz- oder Weißbild anzuzeigen.

 

2.1Hardware Parameter des 13-Zoll elektronischen Tintenschirms GDEY0213B74

 

 

 

#Bedeutung von Parametersymbolen
Einzelerdung Vss
Logische Versorgungsspannung Vci
Logik auf hohem Niveau Voh
Logik niedriges Niveau Vol
Typische Leistung Ptyp
Schlafkraft Pschlaf
Ruhestrom
Tiefschlafstrom Idsleep
VCOM-Pin-Ausgang

 

 

Flussdiagramm für Tintenschirmantriebe

 

 

Beschreibung des Flussdiagramm mit der Codes

 

 

1. Versorgungsspannung zum Bildschirm. Im Allgemeinen wird 3.3V Leistung empfohlen
2. Konfiguration initialisieren
2.1. In diesem Schritt müssen Sie die SPI-Kommunikation zwischen Tintenschirm und MCU konfigurieren, d. h. IO-Einstellung

**Für die SPI- und SPI-Kommunikationskonfiguration dieses Farbbildschirms beziehen Sie sich bitte auf

6.3 Panel AC Charakteristika in der Spezifikation**


Beachten Sie folgende Codes:

 

#include <SPI.h>
#include"Ap_29demo.h"
//IO settings
int BUSY_Pin = 4; 
int RES_Pin = 5; 
int DC_Pin = 6; 
int CS_Pin = 7; 

#define EPD_W21_CS_0 digitalWrite(CS_Pin,LOW)
#define EPD_W21_CS_1 digitalWrite(CS_Pin,HIGH)
#define EPD_W21_DC_0  digitalWrite(DC_Pin,LOW)
#define EPD_W21_DC_1  digitalWrite(DC_Pin,HIGH)
#define EPD_W21_RST_0 digitalWrite(RES_Pin,LOW)
#define EPD_W21_RST_1 digitalWrite(RES_Pin,HIGH)
#define isEPD_W21_BUSY digitalRead(BUSY_Pin)
void setup() {
   pinMode(BUSY_Pin, INPUT); 
   pinMode(RES_Pin, OUTPUT);  
   pinMode(DC_Pin, OUTPUT);    
   pinMode(CS_Pin, OUTPUT);   
   //SPI
   SPI.beginTransaction(SPISettings(10000000, MSBFIRST, SPI_MODE0)); 
   SPI.begin ();  
}

 

2.2. Entsprechend dem Flussdiagramm müssen Sie nach Abschluss der SPI-Kommunikationskonfiguration die Hardware-Initialisierung

und die Software-Initialisierung des E-Papers durchführen:

 

/////////////////EPD settings Functions/////////////////////

void EPD_HW_Init(void)
{
  EPD_W21_RST_0;  // Module reset   
  delay(10);//At least 10ms delay 
  EPD_W21_RST_1;
  delay(10); //At least 10ms delay 
  
  Epaper_READBUSY();   
  Epaper_Write_Command(0x12);  //SWRESET
  Epaper_READBUSY();   

 

 

 

3. Initialisierungscode senden
Die in diesem Abschnitt enthaltenen Codefragmente sind wie folgt:

 


 

  Epaper_Write_Command(0x01); //Driver output control      
  Epaper_Write_Data(0xF9);
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x00);

  Epaper_Write_Command(0x11); //data entry mode       
  Epaper_Write_Data(0x01);

  Epaper_Write_Command(0x44); //set Ram-X address start/end position   
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x0F);    //0x0F-->(15+1)*8=128

  Epaper_Write_Command(0x45); //set Ram-Y address start/end position          
  Epaper_Write_Data(0xF9);   //0xF9-->(249+1)=250
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x00); 

  Epaper_Write_Command(0x3C); //BorderWaveform
  Epaper_Write_Data(0x05); 

 

3.1. Steuerung des Fahrerausgangs


Dieser Teil muss drei Bytes an Daten schreiben:


Schreiben Sie 0xF9 bis A [8:0], das heißt, (249+1), und öffnen Sie insgesamt 250 Gates


Schreiben Sie 0x00 auf B [2:0], das heißt von G0 auf G249, G0 als erstes Ausgabegate; Scansequenz 0, 1, 2, 3... 249; Scanreihenfolge von 0 bis 249

 

 

3.2. Data Entry Mode Setting

 

 

Schreiben Sie Anweisung 0x11, und schreiben Sie 0x01 bis A [2:0], das heißt ID [1:0]=01, AM=0

Gemäß der folgenden Abbildung und Erklärung stellen wir diesen Modus ein:

Der Adresszähler wird in X-Richtung aktualisiert; Und jedes Mal, wenn die Daten in RAM geschrieben werden,

verringert sich der Y-Adresszähler automatisch um 1, und der X-Adresszähler erhöht sich automatisch um 1

 

-Es gibt einen Adresszähler im Inneren, der automatisch Adressen in eine bestimmte Richtung addiert oder subtrahiert und die Richtung durch AM einstellt; ID steuert Addition und Subtraktion.


-Bei ID [0]="1" erhöht sich der X-Adresszähler automatisch um 1, nachdem die Daten in den RAM geschrieben wurden.
-Bei ID [0]="0" verringert sich der X-Adresszähler automatisch um 1, nachdem die Daten in den RAM geschrieben wurden.
-Bei ID [1]="1" erhöht sich der Y-Adresszähler automatisch um 1, nachdem die Daten in den RAM geschrieben wurden.
-Bei ID [1]="0" sinkt der Y-Adresszähler automatisch um 1, nachdem die Daten in den RAM geschrieben wurden.
-Bei AM="0" wird der Adresszähler in X-Richtung aktualisiert.
-Bei AM="1" wird der Adresszähler in Y-Richtung aktualisiert.


-Wenn die Fensteradresse ausgewählt ist, werden die Daten in den RAM-Bereich geschrieben, der durch die Fensteradresse angegeben wird, wie durch ID [1:0] und AM Bits angegeben.

 


3.3. RAM X&Y-Adresse Start/End Position einstellen

 

 

  Epaper_Write_Command(0x44); //set Ram-X address start/end position   
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x0F);    //0x0F-->(15+1)*8=128

  Epaper_Write_Command(0x45); //set Ram-Y address start/end position          
  Epaper_Write_Data(0xF9);   //0xF9-->(249+1)=250
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x00);
  Epaper_Write_Data(0x00); 

 

 

Sie müssen jetzt den Befehl 0x44, 0x45 verwenden
0x44: A [5:0] Setzen Sie die Startadresse des Fensters in X-Richtung
0x44: B [5:0] Legen Sie die X-Richtung-Abschlussadresse des Fensters fest
Schreiben Sie 0x00 bzw. 0x0F und bestätigen Sie, dass X bei 0 beginnt und bei 15+1 endet* 8=128
0x45: A [8:0] Setzen Sie die Startadresse des Fensters in Y-Richtung
0x45: B [8:0] Legen Sie die Y-Richtung Abschlussadresse des Fensters fest
Entsprechend dem Modus bestimmt durch 0x01 geschrieben in 0x01,

 

 

Die Startadresse wird auf 249 und die Endadresse auf 0 gesetzt.

 

 

3.3. Border Waveform Control

 

Epaper_Write_Command(0x3C); //BorderWaveform
  Epaper_Write_Data(0x05);

 

 

 

4. Load Waveform LUT

 

 


  Epaper_Write_Command(0x18); //Read built-in temperature sensor
  Epaper_Write_Data(0x80);  

 

 

 

5. Bild-Update

 

0x4E, 0x4F Legen Sie den Anfangswert des RAM-Adresszählers fest
0x4E: A [5:0] Setzen Sie den Wert des X-Richtungszählers der aktuellen RAM-Adresse, X ist 0
0x4F: A [7:0] Setzen Sie den Wert des Y-Richtungszählers der aktuellen RAM-Adresse, Y ist 249

 

 

Epaper_Write_Command(0x4E);   // set RAM x address count
  Epaper_Write_Data(0x00);
  Epaper_Write_Command(0x4F);   // set RAM y address count  
  Epaper_Write_Data(0xF9);
  Epaper_Write_Data(0x00);

                              

 

Als nächstes führen Sie den Befehl 0x24 aus. Für den schwarzen und weißen Farbbildschirm GDEY0213B74 schreiben

Sie 0 für Schwarz und 1 für Weiß, die 0x00 bzw. 0xff entsprechen.

 

//////////////////////Single display///////////////////////////////////

void EPD_WhiteScreen_Black(void)
{
   unsigned int i;
    Epaper_Write_Command(0x24);   //write RAM for black(0)/white (1)
    for(i=0;i<4000;i++)
    {
        Epaper_Write_Data(0x00);    
    }
    EPD_Update();
}

void EPD_WhiteScreen_White(void)
{
   unsigned int i;
    Epaper_Write_Command(0x24);   //write RAM for black(0)/white (1)
    for(i=0;i<4000;i++)
    {
        Epaper_Write_Data(0xff);    
    }
    EPD_Update();
}

*0x0C Anweisungen, die beim Aufruf externer Wellenformen aufgerufen werden, sind in dieser Demo nicht involviert


/////////////////////////All screen update//////////////////////////////
void EPD_WhiteScreen_ALL(const unsigned char * datas)
{
   unsigned int i;
    Epaper_Write_Command(0x24);   //write RAM for black(0)/white (1)
   for(i=0;i<4000;i++)
   {               
     Epaper_Write_Data(pgm_read_byte(&datas[i]));
   }
   EPD_Update();   
}
void EPD_WhiteScreen_ALL_Fast(const unsigned char *datas)
{
   unsigned int i;  
  Epaper_Write_Command(0x24);   //write RAM for black(0)/white (1)
   for(i=0;i<4000;i++)
   {               
      Epaper_Write_Data(pgm_read_byte(&datas[i]));
   } 
   
   EPD_Update_Fast();  
}
/////////////////////////////////////////////////////////////////////////////////////////
void EPD_Update(void)
{   
  Epaper_Write_Command(0x22); //Display Update Control
  Epaper_Write_Data(0xF7);   
  Epaper_Write_Command(0x20); //Activate Display Update Sequence
  Epaper_READBUSY();  

}
void EPD_Update_Fast(void)
{   
  Epaper_Write_Command(0x22); //Display Update Control
  Epaper_Write_Data(0xC7);   
  Epaper_Write_Command(0x20); //Activate Display Update Sequence
  Epaper_READBUSY();   

}
void EPD_Part_Update(void)
{
  Epaper_Write_Command(0x22);//Display Update Control 
  Epaper_Write_Data(0xFF);   
  Epaper_Write_Command(0x20); //Activate Display Update Sequence
  Epaper_READBUSY();      
}
void EPD_DeepSleep(void)
{  
  Epaper_Write_Command(0x10); //enter deep sleep
  Epaper_Write_Data(0x01); 
  delay(100);
}
void Epaper_READBUSY(void)
{ 
  while(1)
  {   //=1 BUSY
     if(isEPD_W21_BUSY==0) break;
  }  
}

                                                    

5.1 Display Update Control


Die obigen Codefragmente entwerfen drei Aktualisierungsmethoden der elektronischen Papieranzeige:

 

EPD_Update        Epaper_Write_Data(0xF7);
EPD_Update_Fast   Epaper_Write_Data(0xC7);
EPD_Part_Update   Epaper_Write_Data(0xFF);

 

Epaper_Write_Command(0x21); //  Display update control
  Epaper_Write_Data(0x00);    
  Epaper_Write_Data(0x80);

 

 

 

Wenn 0x00 geschrieben ist, gibt es:
A[7:4] 0000-Normal
A[3:0] 0000-Normal
B [7] Schreiben 0x80 entspricht 1, S8toS167 (Schreiben 0x00 entspricht S0toS175)
Wenn Sie 0x80 auf 0x00 ändern, entspricht der tatsächliche Effekt einer Verschiebung des gesamten Bildes um 8bit

 

 

                             

 

 

for(i=0;i<4000;i++)

Aus: Ap_29demo.h

const unsigned char gImage_basemap[4000]

 

Die Auflösung des Bildes muss 250x122 betragen und dann die Schritte in der Bildverarbeitungsanweisung befolgen (verwendet mit Image2LCD Software); Sie können auch direkt das Online-Tool von Good Display to ImageToArray verwenden, so dass Sie nur sicherstellen müssen, dass die Bildauflösung 250x122 erfüllt und das Bildformat jpg und png unterstützt.

Wenn Sie den vertikalen Scanmodus wählen, erhalten Sie 4000 Bytes;

 

Wenn Sie den horizontalen Scanmodus auswählen, erhalten Sie 3904 Bytes; Entsprechend für (i=0; i<3904; i++)

 

6. Das elektronische Papier vervollständigt die Bildaktualisierung und geht in den Schlaf

void EPD_DeepSleep(void)
{  
  Epaper_Write_Command(0x10); //enter deep sleep
  Epaper_Write_Data(0x01); 

QR-Code Scan erfolgt mit Handy

권장제품

 Farbe E-Paper-Anzeige 0,97zoll  SPI, IC JD79651, ESL, Preisschilder,  GDEW0097C50
Farbe E-Paper-Anzeige 0,97zoll SPI, IC JD79651, ESL, Preisschilder, GDEW0097C50
Dies ist ein Mini-E-Paper-Display, 0,97 Zoll, dreifarbiges, bistabiles Display mit einer Auflösung von 184 x 88, SPI-Schnittstelle. Das E-Paper-Display ist eine Art bistabiles Display, was bedeutet, dass das zuletzt aktualisierte Bild auch ohne Stromversorgung immer auf dem Bildschirm angezeigt werden kann. Dieser E-Ink-Farbbildschirm GDEW0097C50 ist perfekt für Geräte mit geringem Stromverbrauch, die mit Solarenergie oder Batterien betrieben werden.
 0.97 zoll E-Paper-Anzeige, 184*88, JD79651, ESL preisschilder, Bodenfeuchtesensor, Hersteller-GoodDisplay
0.97 zoll E-Paper-Anzeige, 184*88, JD79651, ESL preisschilder, Bodenfeuchtesensor, Hersteller-GoodDisplay
Dies ist ein monochromes E-Papier Display, 0.97 Zoll, mit 184x88 Auflösung, SPI-Schnittstelle. E-Paper ist eine Art bistbares Display, was bedeutet, dass das letzte Update immer auf dem Bildschirm bleiben kann, auch wenn Strom getrennt ist. Dieses E-Papierdisplay GDEW0097T50 eignet sich hervorragend für Geräte mit geringer Energieleistung, die mit Solaren oder Batterien betrieben werden.
 E-Paper-Anzeige 1.02 zoll mini, ePaper-Hersteller, UC8175, Bodenfeuchtesensor
E-Paper-Anzeige 1.02 zoll mini, ePaper-Hersteller, UC8175, Bodenfeuchtesensor
Dies ist eine 1,02-Zoll-Mini-Partial-Tintenanzeige mit 128x80-Auflösung, SPI-Schnittstelle, und das Display ist in der Lage, Bilder mit schwarzem und weißem Inhalt anzuzeigen. Ihr Bild hält unbegrenzt ohne Macht - legen Sie Ihr Bild auf und schließen Sie die Macht herunter. Diese E-Tintenanzeige GDEW0102T4 ist ideal für niedrige Stromgeräte, die von Solar- oder Batterien betrieben werden.
 0,39-Zoll-Aktivmatrix-Farb-Micro OLED, OLED-Panelmodul mit FHD-Auflösung 1920 x 1080 GDOJ039FHP
0,39-Zoll-Aktivmatrix-Farb-Micro OLED, OLED-Panelmodul mit FHD-Auflösung 1920 x 1080 GDOJ039FHP
 Micro OLED GDOJ049FHP 0,49-Zoll-Aktivmatrix-Farb-OLED-Panelmodul mit FHD-Auflösung 1920 x 1080
Micro OLED GDOJ049FHP 0,49-Zoll-Aktivmatrix-Farb-OLED-Panelmodul mit FHD-Auflösung 1920 x 1080
 Micro 0,71 Zoll Oled Display 1920x1080 Auflösung MIPI oder MIPI+I2C Interface OLED Modul, GDOJ071FHP
Micro 0,71 Zoll Oled Display 1920x1080 Auflösung MIPI oder MIPI+I2C Interface OLED Modul, GDOJ071FHP
 1,54 zoll Farbe E-Paper-Anzeige, 200*200 Auflösung, für ESL Preisschilder, SSD1681, Digitale Türschilder
1,54 zoll Farbe E-Paper-Anzeige, 200*200 Auflösung, für ESL Preisschilder, SSD1681, Digitale Türschilder
Das ist ein kleines E-Paper Display, 1,54 Zoll, Auflösung 200x200, SPI-Schnittstelle, mit schwarz, weiß und rot. Dieses dreiröne Epaper-Display GDEY0154Z90 eignet sich hervorragend für Geräte mit geringer Leistung, die mit Solar- oder Batterien betrieben werden.
 E-Paper-Anzeige für den Dauereinsatz 1,54zoll dreifarbiges Anzeige geringer Stromverbrauch, SSD1681 (EOL)
E-Paper-Anzeige für den Dauereinsatz 1,54zoll dreifarbiges Anzeige geringer Stromverbrauch, SSD1681 (EOL)
Dies ist ein dreifarbiges 1,54-Zoll-E-Paper-Display mit einer Auflösung von 200 x 200 und einer SPI-Schnittstelle, und das Display kann monochrome Bilder anzeigen. Aufgrund der Bistabilität kann Ihr Bild unbegrenzt auf dem Bildschirm gehalten werden, auch wenn die Stromversorgung unterbrochen ist.
 1.54 zoll hohe Auflösung E-Paper-Anzeige, schnelle Aktualisierung SSD1681, Alle Betrachtungswinkel, SPI-Schnittstelle
1.54 zoll hohe Auflösung E-Paper-Anzeige, schnelle Aktualisierung SSD1681, Alle Betrachtungswinkel, SPI-Schnittstelle
Dies ist ein elektronisches 1.54-Papier-Display mit einer Auflösung von 200 x 200 und einer SPI-Schnittstelle, und das Display kann monochrome Bilder anzeigen. Aufgrund der Eigenschaft „bistabil“ kann Ihr Bild unbegrenzt auf dem Bildschirm gehalten werden, selbst wenn die Stromversorgung unterbrochen wird. Es verbraucht nur Strom, wenn Sie die Anzeige erneut aktualisieren müssen. Dieses E-Paper-Display GDEY0154D67 ist perfekt für Geräte mit geringem Stromverbrauch, die mit Solarenergie oder Batterien betrieben werden.

온라인 메시지

Nachrichten Nickname:
Kundennachricht
Definieren:
验证码