Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Saurabh_B

Pages: 1 ... 6 7 [8] 9 10 ... 26
106
OLEDs / Re: problem with NHD‐2.23‐12832UCB3
« on: January 24, 2017, 02:52:53 PM »
Would it also be able to get a schematic and your initialization sequence?

107
Character LCDs / Re: Problem of contrast NHD-0216K1Z-NSW-BBW-L
« on: January 24, 2017, 02:51:57 PM »
Hello Vincent,

What are you seeing on the display? Also what voltage do you have applied to Pin 3?

The contrast is adjustable for these displays,and it is also dependant on the temperature, if the display is in a colder environment you might have to turn down the voltage being applied to that pin.

109
Evaluation Tools / Re: NHDev support for NHD-C12864LZ-FSW-FBW-3V3
« on: January 17, 2017, 12:15:08 PM »
Yes you would be able to use this with the NHDev Development Board.

I can send you a list of components you would need for this to work.

110
Character LCDs / Re: NHD-0216K1Z-FL-YBW Screen Corruption Problem
« on: January 17, 2017, 12:13:51 PM »
Hello,

This can be attributed to a timing issue.
Do you know if you are using a delay between each data write?

Would you also be able to provide the write function along with the data you are sending?

111
TFTs / Re: TFT NHD-2.4-240320CF-CSXN#-FT
« on: January 17, 2017, 12:10:55 PM »
Would you be able to provide your Schematic for this as well?

112
OLEDs / Re: Reg: NHD-0420DZW DZW SPI Interface with Arudino
« on: December 29, 2016, 08:02:43 AM »
Hello,

Here is an example code for the Serial OLED displays:
Code: [Select]
sbit SCL = P3^4; //Serial Clock Pin
sbit SDOUT = P1^0; // Serial Data Out
sbit SDIN = P1^1; // Serial Data In
sbit C_S = P3^3; // Chip Select

/*************************************************
******** CHARACTER STRINGS ***********************  You can also use these to send a line of text you would like to display
************************************************** 
*************************************************/
char const text1[] = ("Testing OLED Display")
char const text2[] = ("NewHaven Display L 2")
char const text3[] = ("    Line  3 Test    ")
char const text4[] = ("       Line 4       ")

void delay(unsigned int n) //Delay subroutine n* 250 cycles
{
unsigned int i,j;
for (i=0;i<n;i++)
  for (j=0;j<250;j++)
  {;}
}
 

void WriteCommand(unsigned char ins)
{
unsigned char i;
C_S=0;
SCL = 0;
SDOUT = 0; //RS = 0 (Command)
SCL = 1; //RS registered
SCL = 0;
SDOUT = 0; //RW = 0
SCL = 1; //RW registered
SCL = 0;

for (i=0x80;i;i>>=1)
{
if((ins&0x80)==0x80)
SDOUT = 1;
else
SDOUT = 0;
ins=(ins<<1);
SCL = 0;
SCL = 1;
SCL = 0;
}

    C_S=1;
}

void WriteDataInit() // first write data command while setting Register Select
{

C_S=0;
SCL = 0;
SDOUT = 1; //RS = 1 (Data)
SCL = 0; //RS registered
SCL = 1;
SCL = 0;
SDOUT = 0; //RW = 0
SCL = 1; //RS registered
SCL = 0;

}
void WriteData(unsigned char dat)  //continuous data stream
{
unsigned char i;
for (i=0x80;i;i>>=1)
{
if((dat&0x80)==0x80)
SDOUT = 1;
else
SDOUT = 0;
dat=(dat<<1);
SCL = 0;
SCL = 1;
SCL = 0;
}

}

void Show_String(){
WriteCommand(0x01); // Clear Display
WriteCommand(0x02); // Return Home
WriteDataInit();
for( int i = 0; i< 20; i++){
WriteData(text1[i]);
  }
  WriteCommand(0xC0); // Second Line
  WriteDataInit();
  for(int i = 0; i < 20; i++){
WriteData(text2[i]);
  }
  WriteCommand(0x94); // Third Line
  WriteDataInit();
  for (int i = 0; i<20; i++){
WriteData(text3[i]);
  }

  WriteCommand(0xD4); // Fourth Line
  WriteDataInit();
  for(int i = 0; i < 20; i++){
WriteData(text4[i]);
    }
}

void init()
{
WriteCommand(0x38);//function set
delay(30);
WriteCommand(0x06);//entry mode set
delay(30);
WriteCommand(0x02);//return home
delay(30);
WriteCommand(0x01);//clear display
delay(30);
WriteCommand(0x0c);//display on
delay(30);
WriteCommand(0x80);//line 1 character 1
delay(30);
}


void main()
{
char i=0x21, j;



init();

//Show_String();
//delay(1000):
while(1)
{
C_S = 1;
WriteCommand(0x80); //Line 1

WriteDataInit();
//WriteDataInit() must only be executed once before starting to write data
//if WriteDataInit() is executed between writes, the display will recognize the two bits as data bits and not RS/RW bits. 
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

C_S = 1;
//Pulling C_S High means write data is completed
//if next instruction to the display is data, must use WriteDataInit() first
//if write command is executed without pulling C_S high, it will recognize the following instruction on the bus as data regardless
WriteCommand(0xC0); //Line 2

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

C_S = 1;
WriteCommand(0x94); //Line 3

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}


C_S = 1;
WriteCommand(0xD4); //Line 4

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

}
}

113
OLEDs / Re: NHD-0420DZW-AB5
« on: December 29, 2016, 08:02:00 AM »
Here is an example SPI code for the serial OLED displays:
Code: [Select]
sbit SCL = P3^4; //Serial Clock Pin
sbit SDOUT = P1^0; // Serial Data Out
sbit SDIN = P1^1; // Serial Data In
sbit C_S = P3^3; // Chip Select

/*************************************************
******** CHARACTER STRINGS ***********************  You can also use these to send a line of text you would like to display
************************************************** 
*************************************************/
char const text1[] = ("Testing OLED Display")
char const text2[] = ("NewHaven Display L 2")
char const text3[] = ("    Line  3 Test    ")
char const text4[] = ("       Line 4       ")

void delay(unsigned int n) //Delay subroutine n* 250 cycles
{
unsigned int i,j;
for (i=0;i<n;i++)
  for (j=0;j<250;j++)
  {;}
}
 

void WriteCommand(unsigned char ins)
{
unsigned char i;
C_S=0;
SCL = 0;
SDOUT = 0; //RS = 0 (Command)
SCL = 1; //RS registered
SCL = 0;
SDOUT = 0; //RW = 0
SCL = 1; //RW registered
SCL = 0;

for (i=0x80;i;i>>=1)
{
if((ins&0x80)==0x80)
SDOUT = 1;
else
SDOUT = 0;
ins=(ins<<1);
SCL = 0;
SCL = 1;
SCL = 0;
}

    C_S=1;
}

void WriteDataInit() // first write data command while setting Register Select
{

C_S=0;
SCL = 0;
SDOUT = 1; //RS = 1 (Data)
SCL = 0; //RS registered
SCL = 1;
SCL = 0;
SDOUT = 0; //RW = 0
SCL = 1; //RS registered
SCL = 0;

}
void WriteData(unsigned char dat)  //continuous data stream
{
unsigned char i;
for (i=0x80;i;i>>=1)
{
if((dat&0x80)==0x80)
SDOUT = 1;
else
SDOUT = 0;
dat=(dat<<1);
SCL = 0;
SCL = 1;
SCL = 0;
}

}

void Show_String(){
WriteCommand(0x01); // Clear Display
WriteCommand(0x02); // Return Home
WriteDataInit();
for( int i = 0; i< 20; i++){
WriteData(text1[i]);
  }
  WriteCommand(0xC0); // Second Line
  WriteDataInit();
  for(int i = 0; i < 20; i++){
WriteData(text2[i]);
  }
  WriteCommand(0x94); // Third Line
  WriteDataInit();
  for (int i = 0; i<20; i++){
WriteData(text3[i]);
  }

  WriteCommand(0xD4); // Fourth Line
  WriteDataInit();
  for(int i = 0; i < 20; i++){
WriteData(text4[i]);
    }
}

void init()
{
WriteCommand(0x38);//function set
delay(30);
WriteCommand(0x06);//entry mode set
delay(30);
WriteCommand(0x02);//return home
delay(30);
WriteCommand(0x01);//clear display
delay(30);
WriteCommand(0x0c);//display on
delay(30);
WriteCommand(0x80);//line 1 character 1
delay(30);
}


void main()
{
char i=0x21, j;



init();

//Show_String();
//delay(1000):
while(1)
{
C_S = 1;
WriteCommand(0x80); //Line 1

WriteDataInit();
//WriteDataInit() must only be executed once before starting to write data
//if WriteDataInit() is executed between writes, the display will recognize the two bits as data bits and not RS/RW bits. 
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

C_S = 1;
//Pulling C_S High means write data is completed
//if next instruction to the display is data, must use WriteDataInit() first
//if write command is executed without pulling C_S high, it will recognize the following instruction on the bus as data regardless
WriteCommand(0xC0); //Line 2

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

C_S = 1;
WriteCommand(0x94); //Line 3

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}


C_S = 1;
WriteCommand(0xD4); //Line 4

WriteDataInit();
for(j=0; j<20; j++)
{
WriteData(i++);
delay(10);
}

}
}

114
Evaluation Tools / Re: FTDI Eve screen editor
« on: December 29, 2016, 07:59:29 AM »
I personally have not, the engineer who has been working on this is currently on vacation.
I can have him contact you next week.

115
TFTs / Re: Is there a Visual Design tool for Arduino?
« on: December 28, 2016, 03:36:07 PM »
Which 4.3" Display did you order?

It seems that you will still need an external controller, i was curious to see if you received the Arduino Shield or just the display without a controller.

116
Evaluation Tools / Re: FTDI Eve screen editor
« on: December 28, 2016, 03:31:02 PM »
Were you not able to use the tool or did you have another problem?

This would be our first time working with the eve, and any information we can get to help improve the displays would help as well.

117
OLEDs / Re: NHD-0420DZW-AB5
« on: December 27, 2016, 11:25:45 AM »
Hello Padmanthan,

This display does not support an I2C interface, you would need to use SPI or Parallel.
If you are looking to use I2C i would recommend our Slim OLED displays.

118
Graphic LCDs / Re: NHD-C128xx 3D models
« on: December 27, 2016, 08:36:27 AM »
I appologize for the wait,

I will see if I can pull up your email and send you the copy of the model.

119
OLEDs / Re: NHD-0216SZW-BG5 OLED artefacts and undefined patterns
« on: December 14, 2016, 05:02:35 PM »
THis is most likely due to the timing.
This display uses a controller similar to our Character LCDs however it requires a longer wait between commands / data writes.

We have seen random shifting or characters appear when you write to the display too fast.

Unfortunately we do not have a library / driver for this display, however if you are able to modify the library you are currently using to add some delays. You should be able to use the display without any issues.

120
Character LCDs / Re: NHD-0216K1Z-FL-YBW grounding pad
« on: December 12, 2016, 08:13:09 AM »
Hello, Here's the reply I gave:

As the display is without having those jumpers populated pin 1 on the connectors is not linked to the mounting holes.
You wouldnít need to cut the trace so long as the JFL remains unpopulated.

The first pad is connected to the mounting hole located on the bottom left of the picture below.
The second pad (K3) is connected to the plate for the Bezel Tabs.
The final pad (JF) is connected to the ground of the display. (Pin 1 on both CON and CON1)

Pages: 1 ... 6 7 [8] 9 10 ... 26