Pages: 1 2 [3] 4   Go Down
Author Topic: Pervasive Displays [no power displays - e-paper]  (Read 17104 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oliver, is the code from github only available on Arduino Leonardo?
Logged

Germany
Offline Offline
Edison Member
*
Karma: 136
Posts: 1489
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think the code was just tested with the Arduino Leonardo. I have not seen any Leonardo specific code except for the usual "serial wait loop". I guess the code will work with any 5V Arduino Board, but i have not verified this. Just ordered my first e-paper display (EA Modul) today  smiley-lol

Oliver
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oh ok, thanks.
I have an Arduino UNO and an E-Paper Display from EA (2.7 inch) and i'm trying to make it work with the Pins.
I don't know what FLASH_CS and EPD_CS correspond to.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 136
Posts: 1489
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

From what i read so far: The EPD_CS is the chip select signal of the el. paber device. The flash-chip-select is the chip select of the flash memory, which seems to be part of the upcoming  EPD extension board. The EA Module does not have a build in flash memory. At least from this perspective, the code from repaper.org needs some modification to make it work with the EA modul.

Oliver
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Does it mean that I have to put the flash memory off the code for just an EA module?
Logged

Germany
Offline Offline
Edison Member
*
Karma: 136
Posts: 1489
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Does it mean that I have to put the flash memory off the code for just an EA module?


I guess you have two choices:
1) Add a SPI flash memory IC to your hardware environment.
2) Remove the SPI flash code from the examples (if this is possible).

Note: I have not even started to analyse any possibilities here. I just had a look at some sections of repaper.org

Oliver
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you! I'll try that, but I don't really get how the pins match.
Logged

Germany
Offline Offline
Edison Member
*
Karma: 136
Posts: 1489
If you believe something is right, you won't see what's wrong (David Straker).
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi
I started to compare the "EPD extension board" (EPD) with the embedded artists  E-Paper Adapter Board (EA)

Here are some of my results (not sure if i am correct, please confirm or correct me)

EPD: 5V, with serial flash, 5V tolerant, analog Temperature value
EA: 3.3V, no serial flash, not 5V tolerant, I2C Temperature sensor

Here is a table of matching pins (at least what i think). Please note, that the polarity might be different for EPD and EA.

EA PinEA NameEPD PinEPD NameCode
1GND20GND-
23.3V15V-
3SCLK7SPI CLK-
4MOSI15SPI MOSI-
5MISO14SPI MISO-
6SSEL19/EPD_CSPin_EPD_CS
7BUSY8BUSYPin_BUSY
12Reset_Disp10/RESETPin_RESET
11PWM9PWMPin_PWM
14Discharge12DischargePin_DISCHARGE
13PWR CTRL11Panel OnPin_PANEL_ON
--13Border ControlPin_BORDER
9I2C SCL---
10I2C SDA---
--6TemperaturePin_TEMPERATURE
--18/FLASH_CSPin_FLASH_CS

Use this information on your own risk. Perhaps someone can confirm this table...

Oliver




« Last Edit: February 17, 2013, 01:29:12 pm by olikraus » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oh great, thank you very much for your help!!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hi
I started to compare the "EPD extension board" (EPD) with the embedded artists  E-Paper Adapter Board (EA)

Here are some of my results (not sure if i am correct, please confirm or correct me)

EPD: 5V, with serial flash, 5V tolerant, analog Temperature value
EA: 3.3V, no serial flash, not 5V tolerant, I2C Temperature sensor

Here is a table of matching pins (at least what i think). Please note, that the polarity might be different for EPD and EA.

...


Any luck with the above configuration? If yes, will the EA board work with the supplied example-code of repaper.org?

Thanks
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I tried it on my EA device, it doesn't work. I don't really understand why. Maybe it is because of a problem with the wire, that I don't connect properly.

Or maybe it's a problem with the code (or both ^^ ) . But I noticed that the re-paper code, does not use temperature pin to change the display of the screen. And by looking at the data sheet of the 2.7" E paper, I see that to change the display, and input display data, we need to use the temperature sensor.
Maybe the extra pins of the extension board of the re paper code are used to simplify the code and not use the temperature sensor. I don't really know.

I think that the repaper needs to be modified to work on the device. I only tested the code called intro, that is supposed to display some image and some text.  Did somebody manage to make this code work without the extension board?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Actually I don't know why the code of Re-paper does not work on my device. I think the code called intro should work, since I think it doesn't use the extra pins of the extension board.
Did anyone tried it on his device?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I wanted to finally power the display, but just ran out of level converters. Well - ordered a couple of 08745 Logic Level Converters and waiting for them (cause the EA-Board is using 3.3V and Arduino Leonardo supplies 5V).

Looking at the code reveals this line:
Quote
// configure temperature sensor
   S5813A.begin(Pin_TEMPERATURE);

this will redirect to:
Quote
void S5813A_Class::begin(int input_pin) {
   pinMode(input_pin, INPUT);
   analogReference(ANALOG_REFERENCE);
   this->temperature_pin = input_pin;
}

As the EA has a I2C temperature sensor we need to play with those lines (remove analogReference).

After that the main loop wants to read the temperature:
Quote
int temperature = S5813A.read();

this will trigger:
Quote
int S5813A_Class::read() {
   return Tstart_C + ((this->readVoltage() - Vstart_uV) / Vslope_uV);
}

Again - as EA is using a I2C sensor we have to play withthe code. I think Arduino uses the Wire.h to communicate over I2C? But then we need the address of the temp sensor on the bus. EA writes "I2C address (0x92/0x93)" on the datasheet.

So we should be able to get the temp by modifying above code to:
Quote
Wire.beginTransmission(addr) <- (where addr is defined futher up int addr = 92;)
Wire.send(0);
Wire.endTransmission();
Wire.requestFrom(addr,1);
While(wire.available == 0) ;
int temp = Wire.receive();
return temp;

After reading the temp the code wants to run the setFactor funtion
Quote
EPD.setFactor(temperature)

This function is defined in EPD.h. But it looks like 25 is a fixed value here. Well maybe it works like that??
Quote
void setFactor(int temperature = 25) {
      this->factored_stage_time = this->stage_time * this->temperature_to_factor_10x(temperature) / 10;
   }

I still have some questions concerning the code. But unless I have my logic level converters I cannot work on the display. Maybe someone can get that thing to work in the meantime.

Oh – I almost forgot! As the EA doesn’t come with a Flash chip, we'll either have to use the onboard flash, get a SD Shield or leave out the whole flash-code. At least the code is prepared if doesn’t find any flash chip (or a unsupported one):

Quote
FLASH.begin(Pin_FLASH_CS, SPI);
   if (FLASH.available()) {
      Serial.println("FLASH chip detected OK");
   } else {
      Serial.println("unsupported FLASH chip");
   }


Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

I succeeded to change the display on my EA device  smiley


* IMG_0310.JPG (1611.87 KB, 3264x2448 - viewed 147 times.)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

I have a new problem. I did find a way to change the display on my 2.7 Inch E-Paper Device.
But for my project, I need to change frequently the display.

My problem is:
  • The matrix is therefore a 176 lines for 33 columns.
               -> It is actually a matrix of hexadecimals in a .xbm file for the moment
Quote
#define test_width 264
#define test_height 176
static char Matrix_bits[] =
{
0x00, 0x00, 0xFF, 0x10, ....
0x00, 0x00, 0x1F, 0xAA, ....
}

  • It has to be a dynamic matrix because I would like to change some part of the matrix.

Have you an idea how I could do this?

I know that if i create a matrix directly on the code as:
Quote
byte Matrix[176] [33]
Arduino is not capable because the Matrix is too wide.

So I thought about creating a matrix with the Flash Library such as:
Quote
FLASH_TABLE(byte, 33,
   {0x00, 0x00, 0xEE, 0x77 ...},
   {0x00, 0x00, 0xEE, 0x77 ...},
   {0x00, 0x00, 0xEE, 0x77 ...},



);

But I cannot change the values in this matrix...

I also thought about changing the matrix in the .xbm file, or create a new one every time the code is running.. But I don't know if it is actually possible.

As anyone ever did something like that with such a wide matrix on Arduino?

If I'm not clear with my demand, please ask, I really need some help.

Thanks
Logged

Pages: 1 2 [3] 4   Go Up
Jump to: