E-ink display
E-ink display
Ahoj,
koupil jsem tento e-ink display s označením ER-EPM042-1
https://www.buydisplay.com/download/man ... asheet.pdf
Ale mám problém ho rozchodit. Zkusil jsem už několik zapojení a vzorových kódů s Arduino UNO/ Mega, i s ESP32, ale display se ani nerozsvítí.
Nemáte s ním někdo prosím zkušenost? Popř. alespoň nějaký funkční ukázkový kód od kterého bych se mohl odpíchnout?
Díky Tom
koupil jsem tento e-ink display s označením ER-EPM042-1
https://www.buydisplay.com/download/man ... asheet.pdf
Ale mám problém ho rozchodit. Zkusil jsem už několik zapojení a vzorových kódů s Arduino UNO/ Mega, i s ESP32, ale display se ani nerozsvítí.
Nemáte s ním někdo prosím zkušenost? Popř. alespoň nějaký funkční ukázkový kód od kterého bych se mohl odpíchnout?
Díky Tom
Re: E-ink display
Já mám 2.9" Tri-Color eInk, který funguje v pohodě. Chci s ním dokončit vlastní projekt na poznámkový blok na lednici, kdy do mobilu (program vytvářím v Android Studio) nadiktuji potraviny s krátkou životností (např. "Šunka 7.9.23"), které jsem koupil, pomocí bluetooth přenesu text na Seeduino Xiao a na lednici pak uvidím kdy musím co zbaštit, abych neprošvihl expiraci (výpis se zbývajícím počtem dnů u každé položky se aktualizuje 1x za den). Program bez blueotooth modulu mi již funguje, musím ho koupit a vyzkoušet přenos z mobilu na Seeduino Xiao.
Doporučuji kontaktovat prodejce, ať ti poradí. Z data sheetu nelze vyčíst, jak ho rozchodit, potřebuješ ukázkový kód vč. zapojení displeje (dej sem případně odkaz).
Doporučuji kontaktovat prodejce, ať ti poradí. Z data sheetu nelze vyčíst, jak ho rozchodit, potřebuješ ukázkový kód vč. zapojení displeje (dej sem případně odkaz).
Re: E-ink display
Je to tento displej.
https://www.ebay.com.my/itm/Black-4-2-i ... 4ab3f29a9e
A používal jsem tento kód. Zkusím ještě pohladat zapojení podle kterého jsem to zkoušel
https://www.ebay.com.my/itm/Black-4-2-i ... 4ab3f29a9e
A používal jsem tento kód. Zkusím ještě pohladat zapojení podle kterého jsem to zkoušel
Kód: Vybrat vše
/*Web: http://www.buydisplay.com
EastRising Technology Co.,LTD
Examples for ER-EPM042-1B
Display is Hardward SPI 4-Wire SPI Interface
Tested and worked with:
Works with Arduino 1.6.0 IDE
Works with Arduino DUE,Arduino mega2560,Arduino UNO Board
****************************************************/
#include <SPI.h>
#include "ER-EPM042-1B.h"
#include "imagedata.h"
#include "epdpaint.h"
#define COLORED 0
#define UNCOLORED 1
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Epd epd;
if (epd.Init() != 0) {
Serial.print("e-Paper init failed");
return;
}
/* This clears the SRAM of the e-paper display */
epd.ClearFrame();
/**
* Due to RAM not enough in Arduino UNO, a frame buffer is not allowed.
* In this case, a smaller image buffer is allocated and you have to
* update a partial display several times.
* 1 byte = 8 pixels, therefore you have to set 8*N pixels at a time.
*/
#if 1
unsigned char image[1500];
Paint paint(image, 400, 28); //width should be the multiple of 8
paint.Clear(UNCOLORED);
paint.DrawStringAt(0, 0, "e-Paper Demo", &Font24, COLORED);
epd.SetPartialWindow(paint.GetImage(), 100, 40, paint.GetWidth(), paint.GetHeight());
paint.Clear(COLORED);
paint.DrawStringAt(30, 2, "www.buydisplay.com", &Font24, UNCOLORED);
epd.SetPartialWindow(paint.GetImage(), 0, 64, paint.GetWidth(), paint.GetHeight());
paint.SetWidth(64);
paint.SetHeight(64);
paint.Clear(UNCOLORED);
paint.DrawRectangle(0, 0, 40, 50, COLORED);
paint.DrawLine(0, 0, 40, 50, COLORED);
paint.DrawLine(40, 0, 0, 50, COLORED);
epd.SetPartialWindow(paint.GetImage(), 72, 120, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawCircle(32, 32, 30, COLORED);
epd.SetPartialWindow(paint.GetImage(), 200, 120, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawFilledRectangle(0, 0, 40, 50, COLORED);
epd.SetPartialWindow(paint.GetImage(), 72, 200, paint.GetWidth(), paint.GetHeight());
paint.Clear(UNCOLORED);
paint.DrawFilledCircle(32, 32, 30, COLORED);
epd.SetPartialWindow(paint.GetImage(), 200, 200, paint.GetWidth(), paint.GetHeight());
/* This displays the data from the SRAM in e-Paper module */
epd.DisplayFrame();
delay(2000);
#endif
#if 1
/* This displays an image */
epd.DisplayFrame(IMAGE_BUTTERFLY);
delay(2000);
epd.SendCommand(VCOM_AND_DATA_INTERVAL_SETTING);
epd.SendData(0x87);
epd.DisplayFrame(IMAGE_BUTTERFLY);
delay(2000);
epd.SendCommand(VCOM_AND_DATA_INTERVAL_SETTING);
epd.SendData(0xF7);
#endif
#if 0
epd.DisplayFrame(IMAGE_BUTTERFLY1);
delay(2000);
epd.SendCommand(VCOM_AND_DATA_INTERVAL_SETTING);
epd.SendData(0x87);
epd.DisplayFrame(IMAGE_BUTTERFLY1);
delay(2000);
epd.SendCommand(VCOM_AND_DATA_INTERVAL_SETTING);
epd.SendData(0xF7);
#endif
delay(15000);
epd.ClearFrame();
epd.DisplayFrame();
/* Deep sleep */
epd.Sleep();
}
void loop() {
// put your main code here, to run repeatedly:
}
Re: E-ink display
V tvém příspěvku nikde nevidím odkaz na tvůj displej se vzorovým programem a zapojením...
Re: E-ink display
Vzorový program i s knihovnou je zhruba v 3/4 stránky.. Ale dobře..
https://www.buydisplay.com/arduino/Libr ... 042-1B.zip
A zapojení jsem si v tomto případě vycucal ze zipu zde:
Libraries-Examples_ER-EPM042-1B.zip\Libraries-Examples_ER-EPM042-1B\Libraries\epdif.h
// Pin definition
#define RST_PIN 8
#define DC_PIN 9
#define CS_PIN 10
#define BUSY_PIN 7
Pina SDA a SCL displeje jsem připojil na piny SDA a SCL arduina
Re: E-ink display
Těch pinů je potřeba zapojit víc, mj. by ti měl program po spuštění na sériovém portu alespoň ohlásit, že je nějaký problém s displejem - Serial.print("e-Paper init failed");.
Zapoj displej podle tohoto videonávodu
Zapoj displej podle tohoto videonávodu
Re: E-ink display
Zapojený byly všechny těch 6 co jsem posílal + 2 napájecí..
Jinak to video jsem našel taky a nic..
https://www.buydisplay.com/download/int ... rduino.pdf
Tohle jsem našel a posílal mi to i čínan a taky nic
Jinak s tou konzolí máš pravdu, ale ta nic nevyhodí, nevím proč, žeby špatný program?
Jinak to video jsem našel taky a nic..
https://www.buydisplay.com/download/int ... rduino.pdf
Tohle jsem našel a posílal mi to i čínan a taky nic
Jinak s tou konzolí máš pravdu, ale ta nic nevyhodí, nevím proč, žeby špatný program?
Re: E-ink display
Ten program by měl vypsat chybu, jen když se displej neinicializuje správně. Vypadá to tedy, že je správně inicializován. Pro jistotu bych zkusil před výpisem dočasně změnit podmínku místo "if (epd.Init() != 0) {" dát "if (epd.Init() = 0) {", mělo by to vypsat tu hlášku, displej je ale správně inicializován.
Zkusil bych prověřit, zda máš aktuální verzi knihovny pro displej. Další možností je zkusit displej u někoho jiného s jiným Arduinem.
Bez logického analyzátoru nebo osciloscopu ale těžko ověříš, že program posílá správná data na piny (SPI).
Zkusil bych prověřit, zda máš aktuální verzi knihovny pro displej. Další možností je zkusit displej u někoho jiného s jiným Arduinem.
Bez logického analyzátoru nebo osciloscopu ale těžko ověříš, že program posílá správná data na piny (SPI).
Re: E-ink display
Nojo jenže chybu to nevypíše ani s odpojeným displejem..
Zkoušel jsem Arduino UNO i Mega
Jinak pokud udělám úpravu podle tebe tak mi IDE vyhodí při kompilaci chybu:
Zkoušel jsem Arduino UNO i Mega
Jinak pokud udělám úpravu podle tebe tak mi IDE vyhodí při kompilaci chybu:
Kód: Vybrat vše
exit status 1
lvalue required as left operand of assignment
Re: E-ink display
je to překlep, v tom porovnání má být to rovnítko samozřejmé dvojité
Kód: Vybrat vše
if (epd.Init() == 0) {
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti