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 - SteveC

Pages: [1]
1
Hello,

Thank you for the post explaining the function set command. I have the LCD basically working but I'm now trying to blink a particular character. I believe I have a solution but it will take me a few days to implement. Thank you for your suggestions.

2
Hello,

I have a question about the sample code for the  NHD‐C0220BiZ‐FS(RGB)‐FBW‐3VM LCD which follows this text.

My question is why the Function Set with 0x38 and then 0x39?

Also it would be most helpful to have comments on each line of the sample code to better understand how the ST7036 controller actually works.

Thanks for any help with my understanding.

Best Regards,

SteveC

/****************************************************
*           Initialization For ST7036i              *
*****************************************************/
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(0x5E);
I2C_out(0x6D);
I2C_out(0x0C);
I2C_out(0x01);
I2C_out(0x06);
delay(10);
I2C_Stop();
}

3
Character LCDs / Re: NHD-C0220BiZ-FS(RGB)-FBW-3VM Test
« on: May 16, 2014, 04:50:24 PM »
Dean, I'm using an Arduino Uno to drive the LCD. Here's my code for the Arduino with the original eval code commented out.

*****************************************************/
//int main(void)
void loop()
{
int i;

while(1)                         //continue
{
   init_LCD();
   delay(2);
   
   Show(text1);
   nextline();
   Show(text2);
   delay(2000);
   
   init_LCD();
   delay(2);   

//   I2C_out(Slave);
//   I2C_out(Datasend);
        Wire.beginTransmission(Slave); // transmit to LCD
        Wire.write(Datasend);          // sends 0x40 to LCD
                                       // This is a Data Send to LCD       

   for(i=16;i<36;i++){//show 20 chars in font table starting at 16 on the top, first line of the LCD
//     I2C_out(i);}
        Wire.write(i);}
//
         
//   I2C_Stop();
        Wire.endTransmission();    // stop transmitting
        nextline();

        Wire.beginTransmission(Slave); // transmit to LCD
        Wire.write(Datasend);          // sends 0x40 to LCD
                                       // This is a Data Send to LCD       

   for(i=65;i<85;i++){//shows 20 chars in font table starting at 65 on the 2nd, bottom line of the LCD
//     I2C_out(i);}
        Wire.write(i);}
//
         
//   I2C_Stop();
        Wire.endTransmission();    // stop transmitting         

   delay(4000);
}
}

4
Character LCDs / Re: NHD-C0220BiZ-FS(RGB)-FBW-3VM Test
« on: May 13, 2014, 03:56:38 PM »
Hi, The concept that I was not aware of was that the LCD is completely turned OFF after power-up and must be initialized by the software. In other words, the voltage converter and contrast are software controlled. So just going through the software to get those functions working as measured by the voltages on pins #6, #7 and #8 is a clear indication if the LCD is being initialized properly. If you go to the ST7036 datasheet on pages 40 and 42 there is similar software which describes what the commands in the comments. Those comments are VERY helpful to me at least.

Hope this helpls.

5
Hello Michael, Thank you for your suggestion. Changing the I2C address to 0x3C worked! I can see text on the LCD now. I'm sure we can make some progress now.

6
Thank you for your reply! I will run some tests tomorrow and post my results.

7
Hello,

I've built 3 prototypes using the NHD‐C0220BiZ‐FS(RGB)‐FBW‐3VM LCDs and all 3 stay blank all the time. Here are the voltages on the pins... all 3 read almost identically:
Pin #1 - /RESET - 3.30V
Pin #2 - SCL - 3.63V
Pin #3 - SDA - 3.63V
Pin #4 - Vss - 0.00V
Pin #5 - VDD - 3.30V
Pin #6 - VOUT - 2.97V
Pin #7 - C+ - 3.28V
Pin #8 - C- - 0.02V

I'm a bit concerned with Pin#6 as it seems the voltage converter isn't working. I'm using 1uF, 25V MLCCs across pin #7 and #8. Plus another from pin #6 to pin #4. Reset is pulled up to 3.3V with a 10K resistor. The microcontroller has weak pullups to +5V which is why SCL and SDA are a bit higher than 3.3V.

I've tried using the evaluation software and 2 different microcontroller eval boards but nothing seems to help. The LCDs are always completely blank.

I've tried changing the Slave Address to 0x7C but no change.

I should also add that I've looked at the I2C signals on a scope and they look OK. SCL is running at 100KHz and the software example just keeps running in the loop.

Any help would be most appreciated. I must be missing something very basic.... arggg.....

Is there any possibility the pinouts for Vdd and Vss are switched? Perhaps Pin #4 is Vdd (+3.3V) and Pin #5 is Vss (0.0v)? Or should this display run at Vdd = 5V?

Thank you.

Pages: [1]