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 ... 9 10 [11] 12 13 ... 17
151
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!




152
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

153
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!

154
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

155
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!




156
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!

157
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.
 

158
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!

159
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!

160
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!


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

162
OLEDs / Re: NHD0420CW-A*3 tHREE LINE MODE, MIDDLE LINE DOUBLE HEIGHT
« on: July 01, 2015, 09:36:54 AM »
Hello,

Our Slim OLED character displays are available in 2x16, 2x20, and 4x20 character formats.

When you send the Double Height command you are doubling the size of the text. i.e Combining the rows (see picture attached).


I recommend looking at our Graphic OLED displays if a standard character display will not fit your requirements:

http://www.newhavendisplay.com/oled-graphic-oled-c-119_577.html


Hope this helps!








163
OLEDs / Re: NHD-0216CW module using SPI - Question
« on: June 29, 2015, 04:18:49 PM »
Afternoon Fred,

Thank you for sharing your code  8)

Regarding the delay for the /RES line, you will need to follow the sequence below:

Power on
Wait at least 1ms
Bring reset low
Wait at least 3us
Bring reset high
Wait at least 200ms before sending commands

Finally, the .1 second delay listed in the example code was used during mock-up and is in no way the min value. For specific delay times please refer to the US2066 datasheet:

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

Hope this helps!

164
TFTs / Re: NHD-1.8-128160EF-CTXI#
« on: June 26, 2015, 07:42:40 AM »
Hello,

NHD-1.8-128160EF-CTXI# only supports a 8‐bit Parallel interface.

Have a great weekend!

165
Morning,

Correct, this VFD display has a 14 pin connection (see picture attached). The 5-wire cable is soldered to Pin NO. 1,2,3,4,6

Pin-Out:

1. GND
2. Vcc
3. SI/SO
4. STB
5. SCK

Please let me know if you need any additional help  ;)

Pages: 1 ... 9 10 [11] 12 13 ... 17