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

Pages: 1 ... 3 4 [5] 6 7 ... 24
61
TFTs / Re: NHD-3.5-320240MF-ATXL#-1
« on: April 23, 2015, 04:04:47 PM »
Since the TFT is a just a display panel with no built-in controller, any libraries for graphics would be specific to the microcontroller you are using.  If your microcontroller has a built-in TFT controller, or if you are using an external TFT controller, you would need to differ to either your microcontroller's manufacturer, or the TFT controller's manufacfurer for any libraries they have for their chips.  Otherwise it is common such libraries can be found online.

One product we do offer allows for use with the Microchip graphics library, as it is designed on an interface board for a certain development board offered by Microchip.  The part I am referring to can be found here:
http://www.newhavendisplay.com/nhd35320240mfpic-eval-board-p-6596.html
Complete details can be found here:
https://www.eewiki.net/display/Motley/PIC32+Low-Cost+Controllerless+Graphics+Interface+to+Newhaven+Color+LCD

62
Graphic LCDs / Re: NHD-C12864KGZ-FSW-GBW Shadows
« on: April 23, 2015, 03:50:58 PM »
This is of course not normal.  Can you provide some details on how you are driving the display? (Voltage, what type of power supply, connections, etc.)  Also, can you verify the voltages present on pins 24 through 28?  Also please confirm you have used the correct capacitors in your circuit, and have connected them as shown in the datasheet.

63
OLEDs / Re: NHD0420CW-Ax3 display with Arduino Uno - Tutorials
« on: April 22, 2015, 11:48:41 AM »
Thanks for sharing your code!  As for your question in your 3rd tutorial, try changing the value after command DA is sent to 0x10 instead of 0x00.  ;)

64
OLEDs / Re: Using NHD-1.69-160128UGC3 CPU and PS signal
« on: April 22, 2015, 11:44:34 AM »
Those pins are used to select the interface you would like to use.  They can be either fixed (tied to VDD/GND accordingly) or connected to GPIO and toggled appropriately in software.

65
Character LCDs / Re: NHD-C0216CZ-NSW-BBW-3V3 LCD initialization
« on: April 22, 2015, 11:41:23 AM »
How fast is your SPI clock?  The clock period has a minimum rating of 200ns.  Also, have you tried using the write routines provided in the example code section of the datasheet?

66
Character LCDs / Re: English/Russian/European Font (7066-0R)
« on: April 22, 2015, 11:36:53 AM »
This will involve supplying a custom part.  Please email nhtech@newhavendisplay.com with your request, and we will be more than happy to assist you.

67
Character LCDs / Re: Static discharge killing LCD
« on: April 22, 2015, 11:32:25 AM »
You can try adding ESD protection on just VDD, or VDD and VCC and run your testing.  Then you will be able to determine if more protection is needed on the V1, V2, etc. lines.

68
Graphic LCDs / Re: NHD-320240WX-COTFH-V#I041 w/ 6809 uP
« on: April 06, 2015, 08:50:07 AM »
Yes, this display can be used with a 5V microcontroller directly.

69
I have shared some code for this display below, please review the write routines and how to display an image on the screen and verify you are doing this in your program.
Also, please ensure your interface selection pins are configured correctly.

Code: [Select]
void comm_out(char c)
{
  int i;
  digitalWrite(CS, LOW);
  digitalWrite(AO, LOW);
  for(i=0;i<8;i++)
  {
    if((c&0x80) == 0x80)
    {
      PORTA |= 0x80;
      PORTA &= ~0x40;
      PORTA |= 0x40;
    }
    else
    {
      PORTA &= ~0x80;
      PORTA &= ~0x40;
      PORTA |= 0x40;
    }
    c = c<<1;
  }
  digitalWrite(CS, HIGH);
  digitalWrite(AO, HIGH);
}

void data_out(unsigned char d)
{
  int i;
  digitalWrite(CS, LOW);
  //digitalWrite(AO, HIGH);
  for(i=0;i<8;i++)
  {
    if((d&0x80) == 0x80)
    {
      PORTA |= 0x80;
      PORTA &= ~0x40;
      PORTA |= 0x40;
    }
    else
    {
      PORTA &= ~0x80;
      PORTA &= ~0x40;
      PORTA |= 0x40;
    }
    d = d<<1;
  }
  digitalWrite(CS, HIGH);
}
void disp1(unsigned char pic[1024])
{
unsigned int a, i;
unsigned char page = 0xB0;
        unsigned int x = 0;
       
for(i=0;i<8;i++)
{

comm_out(page);
comm_out(0x10);
comm_out(0x00);
for (a=0;a<128;a++)
{
data_out(pic[(a+x)]);
}
                 x+=128;
page++;
}
}
void setup(){
  pinMode(RES, OUTPUT);
  digitalWrite(RES, LOW);
  delay(120);
  digitalWrite(RES, HIGH);
  pinMode(CS, OUTPUT);
  pinMode(AO, OUTPUT);
  DDRA = 0xFF;
  PORTA = 0xFF;
  digitalWrite(CS, HIGH);
  digitalWrite(AO, HIGH);
 
  comm_out(0xA2);  //added 1/9 bias
  comm_out(0xA0);   //ADC segment driver direction (A0=Normal)
  comm_out(0xC8);   //added
  comm_out(0xC0);   //COM output scan direction (C0=Normal)
  comm_out(0x40);   //Operating Mode
  comm_out(0x25);   //resistor ratio
  comm_out(0x81);   //electronic volume mode set
  comm_out(0x19);   //electronic volume registerset
  comm_out(0x2F);   //power control set
  comm_out(0xAF);   //displayON/OFF ‐ set to ON
}

70
Graphic LCDs / Re: NHD-C12864WC-FSW-FBW-3V3
« on: April 03, 2015, 01:23:13 PM »
We don't have a library or drivers for the display, however, what we do provide is example code to get you started with the display (initialization, write routines, etc.)
You will see this code towards the end of the display's datasheet, here:
http://www.newhavendisplay.com/specs/NHD-C12864WC-FSW-FBW-3V3.pdf

72
OLEDs / Re: Lower Limit for SPI-Clock Cycle?
« on: March 29, 2015, 04:42:01 PM »
The 20us max clock period rating is correct to achieve reliable operation.  This is a specification of the controller IC the display uses.

73
Character LCDs / Re: NHD-C0216CIZ Not Acknowledging
« on: February 23, 2015, 08:16:16 AM »
Try looking at the working code for that display below, and check for any discrepancies within your program:

Code: [Select]
#include <Wire.h>

int RES = 22;
int ASDA = 20;
int ASCL = 21;

int test = 55;

unsigned char text1[]={"Newhaven Display"};
unsigned char text2[]={"    I2C TEST    "};
unsigned char text3[]={"  Feb. 3 2015   "};
unsigned char text4[]={" Michael LaVine "};

const char slave2w = 0x3E;  //3E for CiZ (0x7C shifted over 1 bit)  //3C for BiZ (0x78 shifted over 1 bit)
const char comsend = 0x00;
const char datasend = 0x40;
const char line2 = 0xC0;

void show(unsigned char *text)
{
  int n, d;
  d=0x00;
  Wire.beginTransmission(slave2w);
  Wire.write(datasend);
  for(n=0;n<16;n++)
  {
    Wire.write(*text);
    ++text;
  }
  Wire.endTransmission();
}

void nextline(void)
{
  Wire.beginTransmission(slave2w);
  Wire.write(comsend);
  Wire.write(line2);
  Wire.endTransmission();
}

void CGRAM(void)
{
  Wire.beginTransmission(slave2w);
  Wire.write(comsend);
  Wire.write(0x38);
  Wire.write(0x40);
  Wire.endTransmission();
  delay(10);
  Wire.beginTransmission(slave2w);
  Wire.write(datasend);
  Wire.write(0x00);
  Wire.write(0x1E);
  Wire.write(0x18);
  Wire.write(0x14);
  Wire.write(0x12);
  Wire.write(0x01);
  Wire.write(0x00);
  Wire.write(0x00);
  Wire.endTransmission();
}

void CiZ_init()
{
  Wire.beginTransmission(slave2w);
  Wire.write(comsend);
  Wire.write(0x38);
  delay(10);
  Wire.write(0x39);
  delay(10);
  Wire.write(0x14);
  Wire.write(0x70);
  Wire.write(0x5E);
  Wire.write(0x6D);
  Wire.write(0x0C);
  Wire.write(0x01);
  Wire.write(0x06);
  Wire.endTransmission();
 
  CGRAM();
 
  Wire.beginTransmission(slave2w);
  Wire.write(comsend);
  Wire.write(0x39);
  Wire.write(0x01);
  test = Wire.endTransmission();
  Wire.endTransmission();
  if(test!=0)
  {
    while(1)
    {
      delay(100);
    }
  }
  delay(10);
}

void setup()
{
  pinMode(RES, OUTPUT);
  pinMode(ASCL, OUTPUT);
  pinMode(ASDA, OUTPUT);
  digitalWrite(RES, HIGH);
  delay(10);
  digitalWrite(ASCL, LOW);
  digitalWrite(ASDA, LOW);
  delay(10);
 
  delay(10);
  //CiZ_init();
  //delay(5);
}

void loop()
{
 
  Wire.begin();
  //TWBR = 12;
  //TWSR |= _BV(TWPS0);
  while(1)
  {
  CiZ_init();
  show(text1);
  nextline();
  show(text2);
  delay(1000);
 
  CiZ_init();
  show(text3);
  nextline();
  show(text4);
  delay(1000);
  }
}

74
OLEDs / Re: nhd-0216cw-ar3 - locks up
« on: February 23, 2015, 08:04:23 AM »
Although this doesn't appear to be listed in the controller's datasheet, typically these types of character display controllers have longer execution times for the Clear Display and Return Home commands when compared to the other commands available.  It is usually safe to implement a 2ms delay after the clear command is called, can you try using this?

75
OLEDs / Re: nhd-0216cw-ar3 - locks up
« on: February 13, 2015, 04:47:46 PM »
Do you have any other devices present on the I2C bus?  If so can you please isolate the display on it and try testing this again?  Whether already isolated or not, can you try using the display again with larger pull-ups? (Try 10kΩ)

Pages: 1 ... 3 4 [5] 6 7 ... 24