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 ... 5 6 [7] 8 9 ... 26
91
Character LCDs / Re: interfacing NHD-C0216CZ-FSW-FBW-3V3 with msp430
« on: April 10, 2017, 08:16:36 AM »
Hello,

This display uses the ST7032 controller with a 4-Line SPI.
You can get more information about the communications protocols here: http://www.newhavendisplay.com/app_notes/ST7032.pdf

We do not have any libraries available for this display, however we do have sample code which can be found here: http://www.newhavendisplay.com/app_notes/NHD-C0216CZ.txt

You can also find libraries and example software on sites such as GitHub by searching for the ST7032.

93
OLEDs / Re: NHD-0220CW-AG3 Character set
« on: March 28, 2017, 09:19:53 AM »
Hello,

The Font Tables on our displays are defined by the manufacturers of the controllers, in this case it would be the company that manufactures the US2066 controller.

The best solution for requiring multiple characters would be to use a graphic OLED display.
However for this one you would need to create a font table as well.

94
Character LCDs / Re: ST7066U with ROM 0B
« on: March 08, 2017, 04:45:24 PM »
Hello Bob,

Yes it would be possible to do.
It would require a starting MOQ of 500~1k Pcs.

Please email nhtech@newhavendisplay.com to setup a quote.

95
OLEDs / Re: Light Streaking on NHD-0420CW-AB3 Display w/ I2C rewrites
« on: March 01, 2017, 08:23:04 AM »
I've used a jumper board with this display, and i wasn't seeing any streaking.
Would it be possible to post a picture of the display with the streak?


96
OLEDs / Re: NHD-042ODZW-AY5 Jumpers for Serial Interface
« on: February 23, 2017, 11:31:46 AM »
Hello,

Unfortunately for OLEDs there is no simple way to test the display unless you start writing characters onto the display.

I do have example serial code available here:
Code: [Select]
sbit SCL = P3^4;
sbit SDOUT = P1^0;
sbit SDIN = P1^1;
sbit C_S = P3^3;

void delay(unsigned int n) //Delay subroutine
{
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()
{

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)
{
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 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();

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);
}

}
}

97
TFTs / Re: NHD-7.0-800480EF-ASXN#-CTP: Nominal Backlight Current
« on: February 20, 2017, 08:25:44 AM »
Answered through Email:

The 180 mA is the nominal value, the max allowed would be ~225 mA.
80 mA should be able to turn on the backlight however the display will be dimmer than what is stated in the datasheet.

99
Character LCDs / Re: NHD-0420D3Z-FL-GBW-V3 not displaying cahracters
« on: February 13, 2017, 10:57:13 AM »
Hello,

I have attached my SPI Code for this display using an Arduino:
Code: [Select]
//---------------------------------------------------------
/*
SPI Code.c
Program for writing to Newhaven Display Serial LCD Character Displays via SPI.

(c)2016 Saurabh Baxi - Newhaven Display International, LLC.

        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.
*/
//---------------------------------------------------------


// DEFINITIONS
#define SCLK  8
#define  SPIS  9
#define SDO   10

const char slave = 0x7E;
const char comsend = 0x00;
const char datasend = 0x40;

char const t1[]=(" Newhaven  Display  ");
char const t2[]=("=SERIAL==Peripheral=");
char const t3[]=("=====Interface======");
char const t4[]=("=ARDUINO=====TESTER=");
//Basic Functions/////////////////////////////
void spiout(unsigned char a){
  int n;
  unsigned char d;
  d = a;
  digitalWrite(SPIS,LOW);
  for(n =0; n<8; n++){
    delayMicroseconds(20);
    if((d&0x80)==0x80)
      digitalWrite(SDO, HIGH);
    else
      digitalWrite(SDO, LOW);
    d = (d<<1);
    digitalWrite(SCLK, LOW);
    delayMicroseconds(20);
    digitalWrite(SCLK, HIGH);
  }
  digitalWrite(SPIS, HIGH);
}
void disp(const char *text){
  int n;
  for (n = 0; n <20 ; n++){
    spiout(*text);
    text++;
    delay(10);
  }
}

void setup() {
  pinMode(SPIS, OUTPUT);
  pinMode(SDO, OUTPUT);
  pinMode(SCLK, OUTPUT);
  digitalWrite(SCLK, LOW);
  digitalWrite(SDO, LOW);
  digitalWrite(SPIS, HIGH);
  delay(10);
  spiout(0xFE);
  spiout(0x51); //Clear Screen
  delay(10);
  spiout(0xFE);
  spiout(0x46); //Cursor Home
  delay(5);
  spiout(0xFE);
  spiout(0x47); // Underline cursor
  delay(5);
  spiout(0xFE);
  spiout(0x53); // Set backlight Brightness
  spiout(8); // Value
  delay(2);
  spiout(0xFE);
  spiout(0x52); // Set Contrast
  spiout(40); // Value
}

void loop() {
  int i;
  spiout(0xFE);
  spiout(0x46); // Cursor Home
  delay(10);
  disp(t1); // Display T1
  delay(5);
  spiout(0xFE);
  spiout(0x45); // Set Curser Address
  spiout(0x40); // Line 2
  delay(5);
  disp(t2);
  spiout(0xFE);
  spiout(0x45);
  spiout(0x14); // Line 3
  delay(5);
  disp(t3);
  spiout(0xFE);
  spiout(0x45);
  spiout(0x54); // Line 4
  delay(5);
  disp(t4);
  spiout(0xFE);
  spiout(0x49); // Move cursor left 1 place
 while(1); // Wait here
}

Would you be able to send a picture of what you are seeing?

101
Character LCDs / Re: NHD-0216K1Z-NSW-BBW-L Back light
« on: February 13, 2017, 10:42:43 AM »
Hello,

We haven't changed the backlight circuitry for these displays, would it be possible to measure the current you have input into the backlight?

102
Character LCDs / Re: I2C slave address for LCD NHD-C0220BIZ-FS(RGB)-FBW-3VM
« on: February 13, 2017, 10:38:50 AM »
I have been able to write to this using 0x78, I have attached my code below:

Code: [Select]
/*************************************************
*  Code written to drive NHD-C0220BiZ-FS... Using Arduino Mega.
*  Arduino Mega (Voltage Regulator switched with 3.3 V)
**************************************************/

#define SC_L 33
#define SD_A 35

/*****************************************************/
char const text1[]=("COG Test 2x20 Module");
char const text2[]=("TESTING TESTING TEST");
char const text3[]=("Testing Contrast Set");
char const text4[]=("Testing Folower Cont");
/*****************************************************/
/*****************************************************/
const char Slave = 0x78;
const char Comsend = 0x00;
const char Datasend = 0x40;
const char Line2 = 0xC0;
/*****************************************************/

/****************************************************
* Output command or data via I2C *
*****************************************************/
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(SD_A,HIGH);
      else
        digitalWrite(SD_A,LOW);
     d=(d<<1);
     digitalWrite(SC_L,LOW);
     digitalWrite(SC_L,HIGH);
     digitalWrite(SC_L,LOW);
   }
   digitalWrite(SC_L,HIGH);
   while(SD_A==1){
      digitalWrite(SC_L,LOW);
      digitalWrite(SC_L,HIGH);
   }
   digitalWrite(SC_L,LOW);
}
/*****************************************************/
/****************************************************
* I2C Start *
*****************************************************/
void I2C_Start(void){
   digitalWrite(SC_L,HIGH);
   digitalWrite(SD_A,HIGH);
   digitalWrite(SD_A,LOW);
   digitalWrite(SC_L,LOW);
}
/*****************************************************/
/****************************************************
* I2C Stop *
*****************************************************/
void I2C_Stop(void){
   digitalWrite(SD_A,LOW);
   digitalWrite(SC_L,LOW);
   digitalWrite(SC_L,HIGH);
   digitalWrite(SD_A,HIGH);
}
/*****************************************************/
/****************************************************
* Initialization For ST7036i *
*****************************************************/
void init_LCD(){
    I2C_Start();
    I2C_out(Slave);//Slave=0x78
    I2C_out(Comsend);//Comsend = 0x00
    I2C_out(0x38);
    delay(10);
    I2C_out(0x39);
    delay(10);
    I2C_out(0x14);
    I2C_out(0x78);
    I2C_out(0x5E);
    I2C_out(0x6D);
    //I2C_out(0x38);
    I2C_out(0x0F);
    I2C_out(0x01);
    I2C_out(0x06);
    delay(10);
    I2C_Stop();
}
/*****************************************************
 *         CONTRAST CONTROL                          *
 /***************************************************/
 void contrast(){

  /************************************************
   *    TESTING CONTRAST SET LOWER / Higher Bits   *
   ************************************************/
   int n;
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text1[n]);
      //++text;
   }
   I2C_Stop();
   nextline();
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text3[n]);
      //++text;
   }
   I2C_Stop();
   delay(200);

    for (int i = 112; i < 128; i++){
        I2C_Start();
        I2C_out(Slave);
        I2C_out(Comsend);
        I2C_out(0x39);
        delay(10);
        I2C_out(i);
        I2C_Stop();
        delay (300);
    }
    for (int i = 94; i < 96; i++){
        I2C_Start();
        I2C_out(Slave);
        I2C_out(Comsend);
        I2C_out(0x39);
        delay(10);
        I2C_out(i);
        I2C_Stop();
        delay (300);
    }
    init_LCD(); // Return to normal
   /************************************************
   *    TESTING Folower mode
   ************************************************/
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text1[n]);
      //++text;
   }
   I2C_Stop();
   nextline();
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text4[n]);
      //++text;
   }
   I2C_Stop();
   delay(200);
     for (int i = 104; i < 112; i++){
        I2C_Start();
        I2C_out(Slave);
        I2C_out(Comsend);
        I2C_out(0x39);
        delay(10);
        I2C_out(i);
        I2C_Stop();
        delay (600);
    }
    init_LCD();
   
   
 
 }
/****************************************************
*            Send string of ASCII data to LCD       *
*****************************************************/
void Show(){
   int n;
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text1[n]);
      //++text;
   }
   I2C_Stop();
   nextline();
   I2C_Start();
   I2C_out(Slave); //Slave=0x78
   I2C_out(Datasend);//Datasend=0x40
   for(n=0;n<20;n++){
      I2C_out(text2[n]);
      //++text;
   }
   I2C_Stop();
}
/*****************************************************/
void nextline(){
    I2C_Start();
    I2C_out(Slave);
    I2C_out(Comsend);
    I2C_out(Line2);
    I2C_Stop();
}
void setup() {
  // put your setup code here, to run once:
  //pinMode(pin, mode)
  pinMode(33, OUTPUT);
  pinMode(35, OUTPUT);
  DDRD = 0xFF;
  init_LCD();
  Show();
  delay(300);
 
 
}

void loop() {
  int i;
  init_LCD();
  delay(2);
  // CONTRAST TESTING
  contrast();
 delay(1000);
}

How does your code send the bits?

103
Character LCDs / Re: Displaying Logo on Character LCD NHD-0440AZ-FL-YBW
« on: February 13, 2017, 08:57:52 AM »
Hi,

Unfortunately those options aren't feasible.

- The font tables on these controllers are set, and it is not possible to overwrite them.
- Because of the technology, the screen has to be refreshed several times per second or the pixels on the screen would start to fade away.
- The ST7066U is not able to work as a graphic display,

The only option that would solve this issue is to replace the display with a graphic display of the same size. However you said it was not possible to implement this.

104
Evaluation Tools / Re: Development/Evaluation board path to VGA?
« on: February 13, 2017, 08:32:29 AM »
Hello,

Unfortunately we do not have a VGA development board.
We are working on other controller boards that would allow you to test this display however these are still under development and should be available later this year.

105
OLEDs / Re: Particle Photon with NHD-0420CS OLED using I2C
« on: February 10, 2017, 03:09:31 PM »
Hello,

Unfortunately we have not wired this display up with the Particle Photon as of yet, We do have a generic wiring diagram on the datasheet.
What pins do you have available to connect to the display?

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