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 [2] 3 4 ... 25
16
OLEDs / Re: OLED Update timing problem
« on: October 25, 2017, 04:01:24 PM »
When you reset the MCU do you know if it sends any random information out of the port that's connected to the LCD?

17
OLEDs / Re: Characters Mirrored on NHD-0420CW Display
« on: October 25, 2017, 04:00:17 PM »
Unfortunately the pins are not available to the end user.

They do come out to the PCB on pins 5 & 6 of the ribbon connector that soldered onto the back of the display.

19
Character LCDs / Re: How to program LCD-0224AZ-FSW-GBW
« on: October 25, 2017, 08:09:49 AM »
Unfortunately we do not have a guide on how to do this with linux.
However there are plenty of libraries and tools available that can help you drive the display.

I would recommend looking at the following:
https://github.com/uraimo/HD44780CharacterLCD.swift

20
OLEDs / Re: OLED Update timing problem
« on: October 24, 2017, 08:26:49 AM »
You are probably sending information to the display quite fast for this to happen.
Is it possible for you to insert a delay between each character you write to the display. Also inserting a delay between any commands sent.

Typically i recommend a 600Ás delay between most commands / data writes.
You will need about a 2ms display after sending a clear display or return home command.

After the reset is applied are you reinitializing the display?


21
OLEDs / Re: OLED Update timing problem
« on: October 24, 2017, 08:02:57 AM »
What OLED are you using?
Depending on the controller used the timing will be different.

22
Character LCDs / Re: NHD-0224BZ1-FSW-FBW - SOLDERING
« on: October 24, 2017, 08:02:25 AM »
Yes, you would be able to solder a 2x8 pin header onto the display.
You will need 2.54mm pitch, or 0.100" pitch pins for this.

23
OLEDs / Re: NHD-0216AW-IB3 I2C help
« on: October 18, 2017, 09:40:28 AM »
Hello,

You would only need to send the start condition once, and you would only need to send the address once after this start condition.

You will however need to send a "command byte" between each data byte sent. I would recommend looking at Figure 5-7 of the Controller datasheet.
This can be found on page 11 here: http://www.newhavendisplay.com/app_notes/US2066.pdf

This command byte would need to be sent between any instruction/data byte sent to the display, and it allows you to change the D/C# bit which determines whether the following byte that follows will be used as data or an instruction.

24
TFTs / Re: NHD-2.4-240320CF-CSXN#-F-- Regarding its manufacturing ID read
« on: October 17, 2017, 09:47:20 AM »
I'm sorry you are having trouble with this display.
Do you have a schematic for how you are connected to the display?


25
TFTs / Re: FT5336 problem with sensitivity and gesture
« on: October 17, 2017, 09:25:50 AM »
I'm sorry you are having troubles with the display.

Do you have a datecode printed on those cables for the CTP?

26
OLEDs / Re: NHD-0420CW-AB3 max low voltage supply?
« on: October 16, 2017, 08:04:26 AM »
For 3.3V operation you can pull the REGVDD low, the max voltage at this level will be ~3.6V

27
Character LCDs / Re: NHD-C0216CiZ-FSW-FBW-3V3 with arduino nano
« on: September 21, 2017, 08:03:24 AM »
Can you tell me if what the voltage on pin 6 (VOUT) is?

If the voltage booster circuit does not activate it could mean that your instructions are not being read by the display. Do you by any chance have a logic analyzer?
This would help you see if the right data is being input into the display.

28
Character LCDs / Re: NHD-C0216CiZ-FSW-FBW-3V3 with arduino nano
« on: September 20, 2017, 08:24:51 AM »
Hello,

It looks like you have the display wired backwards. Pin 1 of the display is on the right side of the display. Please see the attached picture.

I would also recommend the use of a level shifter (5V to 3V) for the data lines. While you do have the display powered with 3.3V the voltage levels on D4 & D5 will still be ~5V when powered via USB.
This can damage the controller and the display over time, thus reducing the overall lifetime of the display.

I have an example i wrote to work with an arduino Mega here:
Code: [Select]
/*****************************************************/
/*
C0216CiZ.c

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
*/
/*****************************************************/

/*****************************************************/
unsigned char text1[]={"NEWHAVEN Display"};
unsigned char text2[]={"2x16 LCD Module "};
unsigned char text3[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
unsigned char text4[]={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f};
/*****************************************************/
#define SDO 22            //Serial data
#define SCLK 23            //Serial clock
#define RESET 24             //RESETET
/*****************************************************/
const char Slave = 0x7C;
const char Comsend = 0x00;
const char Datasend = 0x40;
const char Line2 = 0xC0;
/*****************************************************/

/*****************************************************/
void I2C_out(unsigned char j)       //I2C Output
{
  int n;
  unsigned char d;
  d=j;
  for(n=0;n<8;n++){
    if((d&0x80)==0x80)
    digitalWrite(SDO, HIGH);
    else
    digitalWrite(SDO, LOW);
    d=(d<<1);
    digitalWrite(SCLK, LOW);
    digitalWrite(SCLK, HIGH);
    digitalWrite(SCLK, LOW);
    }
  digitalWrite(SCLK, HIGH);
  while(SDO==HIGH){
    digitalWrite(SCLK, LOW);
    digitalWrite(SCLK, HIGH);
    }
  digitalWrite(SCLK, LOW);
}
/*****************************************************/
void I2C_Start()
{
  digitalWrite(SCLK, HIGH);
  digitalWrite(SDO, HIGH);
  digitalWrite(SDO, LOW);
  digitalWrite(SCLK, LOW);
}
/*****************************************************/
void I2C_Stop()
{
  digitalWrite(SDO, LOW);
  digitalWrite(SCLK, LOW);
  digitalWrite(SCLK, HIGH);
  digitalWrite(SCLK, HIGH);
}
/*****************************************************/
void Show(unsigned char *text) // Display text
{
  int n, d;
  d=0x00;
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Datasend);
  for(n=0;n<16;n++){
    I2C_out(*text);
    ++text;
    }
  I2C_Stop();
}
/*****************************************************/
void nextline(void)  // Move to Line 2
{
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Comsend);
  I2C_out(Line2);
  I2C_Stop();
}
void CGRAM (void) 
{
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Comsend);
  I2C_out(0x38);    //go to instructino table 0
  I2C_out(0x40);    //Set CGRAM addRESETs to 0x00
  I2C_Stop();
  delay(10);
 
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Datasend);
  I2C_out(0x00);    //write to first CGRAM addRESETs
  I2C_out(0x1E);
  I2C_out(0x18);
  I2C_out(0x14);
  I2C_out(0x12);
  I2C_out(0x01);
  I2C_out(0x00);
  I2C_out(0x00);    //8 bytes per character
  I2C_out(0x00);
  //continue writing to remaining CGRAM if desired
  I2C_Stop();
}
/****************************************************
*           Initialization For ST7032i              *
*****************************************************/
void init_LCD()
{
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Comsend);
  I2C_out(0x38);
  delay(10);
  I2C_out(0x39);
  delay(10);
  I2C_out(0x14);
  I2C_out(0x78);
  I2C_out(0x5D);
  I2C_out(0x6D);
  I2C_out(0x0C);
  I2C_out(0x01);
  I2C_out(0x06);
  delay(10);
  I2C_Stop();
 
  //CGRAM();      //define CGRAM
 
  I2C_Start();
  I2C_out(Slave);
  I2C_out(Comsend);
  I2C_out(0x39);   
  I2C_out(0x01);    //go back Home
  I2C_Stop();
  delay(10);
}
/*****************************************************/
/*****************************************************/


void setup() {
  pinMode(RESET, OUTPUT);
  pinMode(SDO, OUTPUT);
  pinMode(SCLK, OUTPUT);
  digitalWrite(RESET, LOW);
  delay(10);
  digitalWrite(RESET, HIGH);
  delay(100);

}

void loop() {
  init_LCD();
  delay(2);
  Show(text1);
  nextline();
  Show(text2);
  delay(2500);
  while(1){
    digitalWrite(SDO, HIGH);
    delay(1000);
  }
       

}




29
OLEDs / Re: Characters Mirrored on NHD-0420CW Display
« on: September 18, 2017, 10:30:24 AM »
Hello Garry,

Would it be possible to send me a picture of the back of the display as well?

I would like to see the date code and the bonding of the OLED Glass to the PCB. I would like to confirm that these are connected properly as well.
I haven't been able to replicate this issue.

Has this occurred on multiple displays or have you only been able to test 1?

30
TFTs / Re: Rotate the display upsidedown (180░)
« on: September 15, 2017, 08:12:14 AM »
What is the part number of the display you are using.

It would help to look at the driver to see if there are any pins that let you change the scan direction (up/down & left/right)

Pages: 1 [2] 3 4 ... 25