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

Pages: 1 ... 11 12 [13] 14 15 ... 20
181
TFTs / Re: NHD-1.8-128160EF-CTXI#
« on: July 23, 2015, 07:48:27 AM »
Morning Zafi,

I recommend using NHD-1.8-128160EF-CTXI#-FT:

http://www.newhavendisplay.com/nhd18128160efctxift-p-7133.html

Please note this particular display is Non-Stocked and requires a MOQ of 3000 pc.


The MOQ maybe an issue in your case, it might be worth taking a look at our 2.4" Resistive Touch TFT's with a standard FFC ZIF connector (In-Stock):

http://www.newhavendisplay.com/nhd24240320cfctxift-p-8177.html

Hope this helps!




182
Graphic LCDs / MOVED: NHD-1.8-128160EF-CTXI#
« on: July 22, 2015, 11:09:51 AM »

183
TFTs / Re: NHD-1.8-128160EF-CTXI#
« on: July 22, 2015, 11:05:09 AM »
Hello!

The LCD connector on NHD-1.8-128160EF-CTXI# needs to be soldered directly to the pcb (via a Hot-bar machine).

If you are interested in a traditional FFC ZIF LCD connector I recommend using the following display:

NHD-1.8-128160EF-CTXI#-F
http://www.newhavendisplay.com/nhd18128160efctxif-p-7337.html

LCD Connector: 24pin 0.5mm FFC connector. Molex P/N: 52435-2471







184
Very nice, enjoy your new TFT!  ;)

185
Hello,

No code / initialization sequence is required to turn on the displays backlight. Simply applying 40mA @ 19.2V to pin 2 and Gnd to pin 1 will turn on the backlight  :)

Please verify the operation of Pins 1 & 2 with a DMM.

Hope this helps!




186
Hello,

You have swapped the pins, in your wiring diagram LED+ is connected to GND and LED- is connected to 40mA @ 19.2V.

LED+ will need to be supplied 40mA @ 19.2V

LED- will need to be connected to GND

187
Hello!

Based on the wiring diagram you provided, it would appear that you do not have the displays LED-Anode (LED+) or LED-Cathode (LED-) connected to anything.

LED+ will need to be supplied 40mA @ 19.2V

LED- will need to be connected to GND

Hope this helps!

188
OLEDs / Re: Mouser Oled
« on: July 16, 2015, 12:00:03 PM »
Be sure to also look up the Arduino UNO's pinout when you begin to wire up your display  ;)

http://40.media.tumblr.com/4ff695d730e837e19b393e26b6bb849c/tumblr_mj1nsyafhx1s5t695o1_1280.png

189
OLEDs / Re: Mouser Oled
« on: July 16, 2015, 11:57:25 AM »
Hello Joseph,

I recommend you use the 4-wire SPI interface when first starting out  8)

The serial interface pinout can be viewed on page 4 in the displays datasheet:

http://www.newhavendisplay.com/specs/NHD-1.5-128128UGC3.pdf

Be sure to take special note of the MPU Interface Pin Selections table, see page 4. Pin BS0 & BS1 will determine the interface selection.

E.g. In your case when using the 4-wire SPI interface BS0 and BS1 will both need to be tied LOW (GND).

Finally, you will need to modify the Arduino_OLED_128128.ino file so it selects the correct interface.

Edit line 48 from:

Code: [Select]
const unsigned char interface = 1;    // 0 = 8-bit parallel (6800 mode) interface; 1 = 8-bit parallel (8080 mode) interface; 2 = 4-wire SPI interface
To:

Code: [Select]
const unsigned char interface = 2;    // 0 = 8-bit parallel (6800 mode) interface; 1 = 8-bit parallel (8080 mode) interface; 2 = 4-wire SPI interface
Hope this help!




190
TFTs / Re: NHD-5.7-640480WF-CTXL-T
« on: July 15, 2015, 10:32:31 AM »
Hi Mike!

Please consult the SSD1963 spec for additional timing characteristics  ;)

http://www.newhavendisplay.com/app_notes/SSD1963.pdf

Next, I have attached some example Arduino code:

Code: [Select]
//---------------------------------------------------------
/*
NHD_5_7_640480WF_mega.ino
Program for writing to Newhaven Display 5.7 TFT with NHD-5.7-640480WF-20 Controller Board (SSD1963, 8-bit)

(c)2013 Mike LaVine - 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.
*/
//---------------------------------------------------------

// The 8 bit data bus is connected to PORTA of the Arduino Mega2560
// 5V voltage regulator on Arduino Mega has been replaced with a 3.3V regulator to provide 3.3V logic

int RS  = 30;    // RS signal connected to Arduino digital pin 30
int WR  = 31;    // /WR signal connected to Arduino digital pin 31
int RD  = 32;    // /RD signal connected to Arduino digital pin 32
int RES = 33;    // /RES signal connected to Arduino digital pin 33

// /CS signal tied to GND
// U/D and R/L signals can be either high or low, depending on scan direction preference

//;******************************************************************************
void TFT_Write_Command(unsigned char command)
{
  digitalWrite(RS, LOW);
  PORTA = command;
  digitalWrite(WR, LOW);
  digitalWrite(WR, HIGH);
}
//;******************************************************************************
void TFT_Write_Data(unsigned char data)
{
  //digitalWrite(RS, HIGH);
  PORTA = data;
  digitalWrite(WR, LOW);
  digitalWrite(WR, HIGH);
}
//====================================================
void TFT_Command_Write(unsigned char REG,unsigned char VALUE)
{
        TFT_Write_Command(REG);
        digitalWrite(RS, HIGH);
        TFT_Write_Data(VALUE);
}
//======================================================
void WindowSet(unsigned int s_x,unsigned int e_x,unsigned int s_y,unsigned int e_y)
{
TFT_Write_Command(0x2a); //SET column address
digitalWrite(RS, HIGH);
TFT_Write_Data((s_x)>>8); //SET start column address
TFT_Write_Data(s_x);
TFT_Write_Data((e_x)>>8); //SET end column address
TFT_Write_Data(e_x);

TFT_Write_Command(0x2b); //SET page address
digitalWrite(RS, HIGH);
TFT_Write_Data((s_y)>>8); //SET start page address
TFT_Write_Data(s_y);
TFT_Write_Data((e_y)>>8); //SET end page address
TFT_Write_Data(e_y);
}
void disp()
{
unsigned int i, j;
        WindowSet(0,639,0,479);               //set start/end column/page address (full screen)
TFT_Write_Command(0x2C);              //command to begin writing to frame memory
        digitalWrite(RS, HIGH);
for(i=0;i<480;i++)         //fill screen with blue pixels
{
    for(j=0;j<640;j++)
            {
              TFT_Write_Data(0xFF);
              TFT_Write_Data(0x00);
              TFT_Write_Data(0x00);
            }
}
        WindowSet(0,639,0,479);               //set start/end column/page address (full screen)
TFT_Write_Command(0x2C);              //command to begin writing to frame memory
        digitalWrite(RS, HIGH);
        for(i=0;i<480;i++)         //fill screen with green pixels
{
    for(j=0;j<640;j++)
            {
              TFT_Write_Data(0x00);
              TFT_Write_Data(0xFF);
              TFT_Write_Data(0x00);
            }
}
        WindowSet(0,639,0,479);               //set start/end column/page address (full screen)
TFT_Write_Command(0x2C);              //command to begin writing to frame memory
        digitalWrite(RS, HIGH);
        for(i=0;i<480;i++)         //fill screen with red pixels
{
    for(j=0;j<640;j++)
            {
              TFT_Write_Data(0x00);
              TFT_Write_Data(0x00);
              TFT_Write_Data(0xFF);
            }
}
}
//======================================================
void setup()
{
  DDRA = 0xFF;
  PORTA = 0x00;
  DDRC = 0xFF;
  PORTC = 0x00;
  digitalWrite(RD, HIGH);
  digitalWrite(WR, LOW);
  digitalWrite(RES, LOW);
  delay(120);
  digitalWrite(RES, HIGH);
  delay(120);
  TFT_Write_Command(0x01);         //Software reset
  delay(120);
  TFT_Write_Command(0xe2);         //set multiplier and divider of PLL
  digitalWrite(RS, HIGH);
  TFT_Write_Data(0x1d);
  TFT_Write_Data(0x02);
  TFT_Write_Data(0x04);
  TFT_Command_Write(0xe0,0x01);    //Enable PLL
  delay(1);
  TFT_Command_Write(0xe0,0x03);    //Lock PLL
  TFT_Write_Command(0x01);         //Software reset
  delay(120);
  TFT_Write_Command(0xb0); //SET LCD MODE  SET TFT 18Bits MODE
  digitalWrite(RS, HIGH);
  TFT_Write_Data(0x0c); //SET TFT MODE & hsync+Vsync+DEN MODE
  TFT_Write_Data(0x80); //SET TFT MODE & hsync+Vsync+DEN MODE
  TFT_Write_Data(0x02); //SET horizontal size=320-1 HightByte
  TFT_Write_Data(0x7f);         //SET horizontal size=320-1 LowByte
  TFT_Write_Data(0x01); //SET vertical size=240-1 HightByte
  TFT_Write_Data(0xdf); //SET vertical size=240-1 LowByte
  TFT_Write_Data(0x00); //SET even/odd line RGB seq.=RGB
  TFT_Command_Write(0xf0,0x00);         //SET pixel data I/F format=8bit
  TFT_Command_Write(0x36,0x09);         //SET address mode=flip vertical 
  TFT_Write_Command(0xe6);    //SET PCLK freq
  digitalWrite(RS, HIGH);
  TFT_Write_Data(0x02);
  TFT_Write_Data(0xff);
  TFT_Write_Data(0xff);
  TFT_Write_Command(0xb4); //SET HBP
  digitalWrite(RS, HIGH);
  TFT_Write_Data(0x02); //SET HSYNC Total=760
  TFT_Write_Data(0xf8);
  TFT_Write_Data(0x00); //SET HBP 68
  TFT_Write_Data(0x44);
  TFT_Write_Data(0x0f);  //SET HSYNC Pulse Width=128=127pixels+1
  TFT_Write_Data(0x00); //SET Hsync pulse start position
  TFT_Write_Data(0x00);
  TFT_Write_Data(0x00); //SET Hsync pulse subpixel start position
  TFT_Write_Command(0xb6); //SET VBP
  digitalWrite(RS, HIGH);
  TFT_Write_Data(0x01); //SET Vsync total
  TFT_Write_Data(0xf8);
  TFT_Write_Data(0x00); //SET VBP=19
  TFT_Write_Data(0x13);
  TFT_Write_Data(0x07);  //SET VSYNC Pulse Width= 8=7lines+1
  TFT_Write_Data(0x00); //SET Vsync pulse start position
  TFT_Write_Data(0x00);
  TFT_Write_Command(0x13); //SET display on
  //TFT_Write_Command(0x38); //SET display on
  TFT_Write_Command(0x29); //SET display on
  delay(10);
}

void loop()
{
  disp();
  delay(1000); 
}

Hope this helps!

191
OLEDs / Re: Mouser Oled
« on: July 15, 2015, 09:27:33 AM »
Hi Joseph,

I'm sorry, unfortunately we do not have a public schematic available for this display.

Sorry for the inconvenience.
 

192
OLEDs / Re: Mouser Oled
« on: July 14, 2015, 10:15:37 AM »
Hi Joseph!

There are plenty of user created Arduino Libraries written for the SSD1351 controller. I recommend searching in google for "SSD1351 Arduino library".

Hope this helps, feel free to contact me if you have any questions!

193
OLEDs / Re: NHD-0216CW-AB3 3D Model
« on: July 10, 2015, 08:52:19 AM »
Hello,

I'm sorry, unfortunately at this time we do not have a 3D model available for NHD-0216CW-AB3.

Please note we do have a 2D drawing which can be viewed on page 3 in the displays datasheet:

http://www.newhavendisplay.com/specs/NHD-0216CW-AB3.pdf

Have a good one!

194
OLEDs / Re: Mouser Oled
« on: July 09, 2015, 07:47:18 AM »
Hi Joseph,

Below is some example code for that display written for the Arduino  ;)

https://github.com/NewhavenDisplay/NHD-1.5-128128UGC3-Example-Code

Regarding the pin out, please see page 4 in the displays datasheet:

http://www.newhavendisplay.com/specs/NHD-1.5-128128UGC3.pdf

You will need to select a interface that best supports your needs. Finally the example code can be configured to support multiple interfaces (See line 48).

Enjoy your new display!


195
OLEDs / Re: NHD0420CW-A*3 tHREE LINE MODE, MIDDLE LINE DOUBLE HEIGHT
« on: July 01, 2015, 09:49:46 AM »
Finally, please see the example Double Height Arduino Sketch below, before proceeding download NHD's US2066 Arduino Library and place the Sketch in the example folder:

https://github.com/NewhavenDisplay/NHD_US2066

Code: [Select]
//---------------------------------------------------------
/*

DoubleHeight.ino

Program for writing to Newhaven Display Slim OLEDs based on US2066 controller.

Pick one up today in the Newhaven Display shop!
------> http://www.newhavendisplay.com/oled-slim-character-oleds-c-119_825.html

This code is written for the Arduino Mega.

Copyright (c) 2015 - Newhaven Display International, Inc.

Newhaven Display invests time and resources providing this open source code,
please support Newhaven Display by purchasing products from Newhaven Display!

*/
//---------------------------------------------------------

#include <SPI.h>
#include <Arduino.h>
#include <Wire.h>
#include <avr\io.h>

#include "NHD_US2066.h"
unsigned char text1[]   = {"Newhaven Display    "};
unsigned char text2[]   = {"International       "};
unsigned char text3[]   = {"123456789           "};
unsigned char text4[]   = {"ABCDEFGHI           "};

unsigned char text5[]   = {"New Slim Profile    "};
unsigned char text6[]   = {"2 or 4 Lines        "};
unsigned char text7[]   = {"16 or 20 CHAR       "};
unsigned char text8[]   = {"OLED Modules        "};


unsigned char text9[]   = {"2.8V or 5V Power    "};
unsigned char text10[]  = {"Built-in Reg        "};
unsigned char text11[]  = {"Parallel or         "};
unsigned char text12[]  = {"Serial Interface    "};
unsigned char text13[]  = {"3 Font Tables       "};
unsigned char text14[]  = {"===================="};
unsigned char text15[]   ={"***   Built-in   ***"};
unsigned char text16[]  = {"--------------------"};



void output()
{
int i;
       
        command(0x2E);
        command(0x1C);
        command(0x2C);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text1[i]);
        }
        delay(5);
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
       
        delay(7000);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text3[i]);
        }
        delay(5);
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
       
        delay(7000);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text5[i]);
        }
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
       
        delay(7000);
       
        command(0x28);
        delay(5);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text6[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text7[i]);
        }
        delay(5);
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text16[i]);
        }
       
        command(0xE0);
        delay(5);
        for(i=0;i<20;i++){
          data(text16[i]);
        }
       
        delay(7000);

        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text9[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text10[i]);
        }
        delay(5);
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
        command(0xE0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
       
        delay(7000);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text11[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text12[i]);
        }
        delay(5);
       
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
        command(0xE0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
       
        delay(7000);
       
        command(0x01);
        delay(5);
        for(i=0;i<20;i++){
          data(text13[i]);
        }
        delay(5);
       
        command(0xA0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
        delay(5);
       
       
        command(0x2E);
        command(0x10);
        command(0x2C);
       
     
        command(0xC0);
        delay(5);
        for(i=0;i<20;i++){
          data(text15[i]);
        }
        delay(5);
       
        command(0xE0);
        delay(5);
        for(i=0;i<20;i++){
          data(text14[i]);
        }
   
         delay(7000);
         
}


void blocks()
{
int i;

        command(0x01);
        delay(5);

        for(i=0;i<20;i++){
          data(0x1F);
        }

        command(0xA0);
        for(i=0;i<20;i++){
          data(0x1F);
        }
}

void setup()
{
init_oled();
}

void loop()

  while(1)
  {
    output();
    //blocks();
    delay(2000);
  }
}

Pages: 1 ... 11 12 [13] 14 15 ... 20