Recent Posts

Pages: 1 ... 4 5 [6] 7 8 ... 10
51
OLEDs / Re: NHD-5.0-HDMI-N-RTXL-CTU brightness control
« Last post by Ted_M on October 24, 2018, 02:25:47 PM »
Please refer to the 5.0" HDMI TFT Module user guide on page 5. See item # 3 for the connector CN4 which controls the backlight PWM. In order to dim the LED backlight, A PWM frequency range of 5khz - 100khz would be used.

For further information please refer to the user Guide:
http://www.newhavendisplay.com/userguides/NHD-5.0-HDMI-N_User_Guide.pdf

Regards,
52
OLEDs / NHD-5.0-HDMI-N-RTXL-CTU brightness control
« Last post by mredfi on October 23, 2018, 03:38:45 PM »
I would like to control the brightness of my NHD-5.0-HDMI-N-RTXL-CTU. What is the best way of doing that?
53
OLEDs / Re: How to reset NHD-0216SZW-BY5?
« Last post by tocnaza on October 23, 2018, 09:08:49 AM »
Hi all!

I have the same problem. :(

regards,
54
TFTs / random phantom touches - how to fix?
« Last post by soundwater on October 22, 2018, 11:36:59 PM »
Hello,

We are using the FT5x06 and are experiencing a flurry (maybe 20 to 50) of random touches when I press a specific part of the touch screen (upper left corner). The flurry only happens for maybe 1 second. then all is well. Also, after the initial touch in the upper left corner, the phantom touches happen after a short delay - maybe 1 or 2 seconds.

I have no idea what causes this or where to start looking for a solution. It is repeatable, and seems to get worse over time, i.e., the more I use the display the phantom touches come in larger flurry. I did scope out the data lines on the touch screen, and it looks like there is indeed some data coming down the line after the initial touch in the upper left corner of the screen. It is somehow also related to what is on the LCD when I press the upper left corner. We are running an Android App, and seems to only happen when the sidebar of our app is showing. If it is not showing and I press this location, then it doesn't happen. very very strange.

Can someone out there with experience in random phantom touches point in the right direction?

Thanks in advance!
55
Hello Charlie,

Sorry for the delay, The heater should be activated whenever the display starts to show any signs of lag from the cold weather.
This will typically start to occur ~-10C. However many people use a thermistor circuit to turn the heater on when the temperature drops.

I would not recommend running the heater when the temperature is room temperature or higher. This can cause the glass of the LCD to heat up past safe levels.

The heater for this display is just a clear ITO sheet behind the glass. there is noway for the heater to compensate for variation in temperature.

56
No replies from anyone on this.  Also no reply from Newhaven with a direct question.  Is anyone actually using the Heater feature ?
57
OLEDs / Set_Column_Address_25664(Shift+a,Shift+b) what is Shift in this example.
« Last post by Ankush Gupta on October 20, 2018, 01:04:12 AM »
Hey guys please help me out what is Shift in above example. I am using NHD-3.12-25664UCB2 OLED DISPLAY. Please suggest me how I can control pixels of OLED display
 Thanks in advance
58
TFTs / NHD-7.0-800480EF-ASXV#-CTP - "Touch" stopped working on part of LCD
« Last post by coran21 on October 19, 2018, 10:10:46 AM »
Hello,

We are testing this LCD for our new product and we run into the issue that upper and lower zone (size about 0.5") of the screen stopped responding to any touch. When we replace the LCD for another one it works normally so it has to be hardware problem. We transported this LCD couple times and also many people touch it and have it in hand, so it's likely that it was somehow damaged. My question is - can we find out what exactly happened and how to prevent it next time? Like take it apart and look at some specific place or something similar..... As I wrote we are going to use this LCD for our new product and now we are little bit scared if something similar happen in the future after deployment.

Thanks,
59
OLEDs / Unable to start NHD-3.12-25664UCB2 OLED display..
« Last post by Ankush Gupta on October 18, 2018, 01:43:38 AM »
I am using Cortex-M3 LPC1768 controller. I did connection as per data sheet and started initialization code but OLED Display didn't power up. I am providing 3.3v supply on VDD. i want to use M6800 parallel interface for that i am giving 3.3V on BS0 & BS1 pins. Please help me how to initialize OLED display. I am following datasheet of ssd1322 and initialization code from NHD site. This is my initialization code. Please suggest me for delay also
void OLED_Init_25664()
{
//   CLR_RES;
//   GLCD_Delay(100);
   SET_RES;
   GLCD_Delay(100);
   Set_Command_Lock_25664(0x12);
   Set_Display_On_Off_25664(0x01);
   Set_Column_Address_25664(0x1C,0x5B);
   Set_Row_Address_25664(0x00,0x3F);
   Set_Display_Clock_25664(0x91);
   Set_Multiplex_Ratio_25664(0x3F);
   Set_Display_Offset_25664(0x00);   
   Set_Start_Line_25664(0x00);
   Set_Remap_Format_25664(0x14);
   Set_GPIO_25664(0x00);
   Set_Function_Selection_25664(0x01);
   Set_Display_Enhancement_A_25664(0xA0,0xFD);   
    Set_Contrast_Current_25664(0x9F);
   Set_Master_Current_25664(0x0F);
//   Set_Gray_Scale_Table_25664();
   Set_Linear_Gray_Scale_Table_25664();
   Set_Phase_Length_25664(0xE2);
   Set_Display_Enhancement_B_25664(0x20);
   Set_Precharge_Voltage_25664(0x1F);
   Set_Precharge_Period_25664(0x08);
   Set_VCOMH_25664(0x07);
   Set_Display_Mode_25664(0x02);
   Set_Partial_Display_25664(0x01,0x00,0x00);
   Set_Display_On_Off_25664(0x01);
}

 
Thanks in advance
60
TFTs / Re: NHD-2.4-240320CF-CTXI#-F Display Not Responding
« Last post by sjdorsay on October 17, 2018, 07:29:23 PM »
When I run the attached code on my display module the display turns off then on which is expected as I send the display off command then the display on command during initialization. After that I attempt to change the screen to a solid colour but there is no change in colour. Maybe there is something wrong with my code. Could someone please review it? It is for the Arduino Uno Rev 3.

I have also attached a PDF of my schematic in case anyone wants to see if I made a mistake in hardware

Code: [Select]
/*
 * HW RESET DEFAULT:
 * o 18 bpp
 * o Sleep
 *
 * CONTROL LINES:
 * nCS  - NA, tied to ground
 * nRES - A3
 * DC   - A2
 * nWR  - A1
 * nRD  - A0
 *
 * DATA LINES:
 * D[1:0] - D9:D8
 * D[7:2] - D7:D2
 */

int nRS = A3;   // Active low reset
int DC = A2;    // Data/Command
int nWR = A1;   // Active low write
int nRD = A0;   // Active low read

// 18bpp or 16bpp
#define MODE_18BPP

#ifdef MODE_18BPP
/* 8080-II 8-bit 18 bpp format
 * (0brrrr_rggg_ggbb_bbbx)
 * x: LSB of all colours
 */
#define RED     (0xF800)
#define GREEN   (0x07C0)
#define BLUE    (0x003E)

#else
/* 8080-II 8-bit 16 bpp format
 * (0brrrr_rggg_gggb_bbbb)
 */
#define RED     (0xF800)
#define GREEN   (0x07E0)
#define BLUE    (0x001F)

#endif

void TFT_SEND_CMD(uint8_t cmd) {
  PORTC |= 0x09; // Set nWR and DC pins low

  PORTB &= (0x03 & cmd);
  PORTD &= (0xFC & cmd);

  delayMicroseconds(1);
  PORTC |= 0x0B; // Set nWR pins high
  delayMicroseconds(1);
  PORTC |= 0x0F; // Set DC pin high
}

void TFT_SEND_DATA(uint8_t dat) {
  PORTC |= 0x0D; // Set nWR pin low

  PORTB &= (0x03 & dat);
  PORTD &= (0xFC & dat);

  delayMicroseconds(1);
  PORTC |= 0x0F; // Set nWR pins high
  delayMicroseconds(1);
}

void TFT_INIT(void) {
  // Turn display off
  TFT_SEND_CMD(0x28);
  // Exit sleep mode
  TFT_SEND_CMD(0x11);
  delay(10);

  TFT_SEND_CMD(0x36);

  TFT_SEND_CMD(0x36);    //MADCTL: memory data access control
  TFT_SEND_DATA(0x80);       // MY (row address order) = 1  :: MX,MV,ML,RGB = 0

#ifdef MODE_18BPP
  TFT_SEND_CMD(0x3A);    //COLMOD: Interface Pixel format *** 262K-colors in 18bit/pixel format when using 8-bit interface to allow 3-bytes per pixel
  TFT_SEND_DATA(0x66);
#else
  TFT_SEND_CMD(0x3A);  //COLMOD: Interface Pixel format  *** 65K-colors in 16bit/pixel (5-6-5) format when using 16-bit interface to allow 1-byte per pixel
  TFT_SEND_DATA(0x55);
#endif

  TFT_SEND_CMD(0xB2);    //PORCTRK: Porch setting
  TFT_SEND_DATA(0x0C);
  TFT_SEND_DATA(0x0C);
  TFT_SEND_DATA(0x00);
  TFT_SEND_DATA(0x33);
  TFT_SEND_DATA(0x33);
 
  TFT_SEND_CMD(0xB7);    //GCTRL: Gate Control
  TFT_SEND_DATA(0x35);
 
  TFT_SEND_CMD(0xBB);    //VCOMS: VCOM setting
  TFT_SEND_DATA(0x2B);
 
  TFT_SEND_CMD(0xC0);    //LCMCTRL: LCM Control
  TFT_SEND_DATA(0x2C);
 
  TFT_SEND_CMD(0xC2);    //VDVVRHEN: VDV and VRH Command Enable
  TFT_SEND_DATA(0x01);
  TFT_SEND_DATA(0xFF);
 
  TFT_SEND_CMD(0xC3);    //VRHS: VRH Set
  TFT_SEND_DATA(0x11);
 
  TFT_SEND_CMD(0xC4);    //VDVS: VDV Set
  TFT_SEND_DATA(0x20);
 
  TFT_SEND_CMD(0xC6);    //FRCTRL2: Frame Rate control in normal mode
  TFT_SEND_DATA(0x0F);
 
  TFT_SEND_CMD(0xD0);    //PWCTRL1: Power Control 1
  TFT_SEND_DATA(0xA4);
  TFT_SEND_DATA(0xA1);
 
  TFT_SEND_CMD(0xE0);    //PVGAMCTRL: Positive Voltage Gamma control 
  TFT_SEND_DATA(0xD0);
  TFT_SEND_DATA(0x00);
  TFT_SEND_DATA(0x05);
  TFT_SEND_DATA(0x0E);
  TFT_SEND_DATA(0x15);
  TFT_SEND_DATA(0x0D);
  TFT_SEND_DATA(0x37);
  TFT_SEND_DATA(0x43);
  TFT_SEND_DATA(0x47);
  TFT_SEND_DATA(0x09);
  TFT_SEND_DATA(0x15);
  TFT_SEND_DATA(0x12);
  TFT_SEND_DATA(0x16);
  TFT_SEND_DATA(0x19);
 
  TFT_SEND_CMD(0xE1);    //NVGAMCTRL: Negative Voltage Gamma control 
  TFT_SEND_DATA(0xD0);
  TFT_SEND_DATA(0x00);
  TFT_SEND_DATA(0x05);
  TFT_SEND_DATA(0x0D);
  TFT_SEND_DATA(0x0C);
  TFT_SEND_DATA(0x06);
  TFT_SEND_DATA(0x2D);
  TFT_SEND_DATA(0x44);
  TFT_SEND_DATA(0x40);
  TFT_SEND_DATA(0x0E);
  TFT_SEND_DATA(0x1C);
  TFT_SEND_DATA(0x18);
  TFT_SEND_DATA(0x16);
  TFT_SEND_DATA(0x19);
 
  // Set Window Size to 240x320
  TFT_SEND_CMD(0x2A);    //X address set
  TFT_SEND_DATA(0x00);       // Start from...
  TFT_SEND_DATA(0x00);       // .... 0
  TFT_SEND_DATA(0x00);       // End at...
  TFT_SEND_DATA(0xEF);       // ... 239

  TFT_SEND_CMD(0x2B);    //Y address set
  TFT_SEND_DATA(0x00);       // Start from...
  TFT_SEND_DATA(0x00);       // ... 0
  TFT_SEND_DATA(0x01);       // End at...
  TFT_SEND_DATA(0x3F);       // ... 319
  delay(10);
 
  TFT_SEND_CMD(0x29);  //fill_display ON
  delay(10);
}

void COLOUR_DISPLAY(uint16_t colour)
{
  uint8_t colourR;
  uint8_t colourG;
  uint8_t colourB;

#ifdef MODE_18BPP
  // (0brrrr_rggg_ggbb_bbbx)
  colourR = (byte) (colour >> 10)&(0x3E);
  colourR |= (colour)&(0x01);
  colourR <<= 2;
 
  colourG = (byte) (colour >> 5)&(0x3E);
  colourG |= (colour)&(0x01);
  colourG <<= 2;
 
  colourB = (byte) (colour << 2)&(0xFC);

#else
  // (0brrrr_rggg_gggb_bbbb)
  colourR = highByte(colour);
  colourG = lowByte(colour);
#endif
 
  TFT_SEND_CMD(0x2C);          //command to begin writing to frame memory
 
  for(int x=0; x < 320; x++)
  {
    for(int y=0; y < 240; y++)
    {
      TFT_SEND_DATA(colourR);     // Red    0bDDDDDDxx
      TFT_SEND_DATA(colourG);     // Green  0bDDDDDDxx      // x =don't care; D = 0 or 1
     
      #ifdef MODE_18BPP
      TFT_SEND_DATA(colourB);     // Blue   0bDDDDDDxx
      #endif
    }
  }
}

void setup() {
  DDRD |= 0xFC;  // PORTD[7:2]
  PORTD &= 0x03;

  DDRB |= 0x03;  // PORTB[1:0]
  PORTB &= 0xFC;

  DDRC |= 0x0F;  // PORTC[3:0]
  PORTC |= 0x0F; // Control pins are active low, so set the Control pins high

  digitalWrite(nRS, LOW);
  delayMicroseconds(15);
  digitalWrite(nRS, HIGH);
  delay(150);
 
  TFT_INIT();
}

void loop() {
  delay(1000);
  COLOUR_DISPLAY(RED);
 
  delay(1000);
  COLOUR_DISPLAY(GREEN);

  delay(1000);
  COLOUR_DISPLAY(BLUE);
}
Pages: 1 ... 4 5 [6] 7 8 ... 10