Introduction

This framed LCD12864 Shield with LED backlight is compatible with most of Arduino controllers and supports English/Chinese/Picture display. With 5 analog extention pins and 8 digital pins, the LCD12864 Shield also integrates a 5-key joystick for controlling addtional functions, making it an ideal module for prototyping and interactive projects.

Specification

  • Power supply: 3.3V
  • Pin used: D7, D8, D9, D10, D11, D13, A0
  • Reset button
  • 5 degree joystick (using Arduino Analog Pin 0)
  • Backlit control (using Arduino Digital Pin 7)
  • Extra 5 Analog pins & 8 Digital pins
  • Size:60x55x20mm

Board Overview

LCD12864 Shield Pin Out

Note:

  • Please config the driving pin using this U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); command.. And notice to enable this command when using the u8glib example codes also.
  • Use "setContrast" to config the contrast as you want. We highly recommend you to setContrast to 0 to get the best display effect.
  • "setRot90/setRot180/setRot270" functions will be helpful to rotate the display direction as you want.Recommend to use setRot180.
  • For more useful lcd driving functions, please check u8glib userreference page.

Tutorial

Requirements

Sample Code

#include "U8glib.h"

U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);    // SPI Com: SCK = 13, MOSI = 11, CS = 10, CD = 9, RST = 8


void draw(void) {
  // graphic commands to redraw the complete screen should be placed here
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 20, "www.DFRobot.com");
}

void setup(void) {
  u8g.setContrast(0); // Config the contrast to the best effect
  u8g.setRot180();// rotate screen, if required
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1);         // pixel on
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
}

void loop(void) {
  // picture loop
  u8g.firstPage();
  do {
    draw();
  }
  while( u8g.nextPage() );

  // rebuild the picture after some delay
  delay(500);
}

More Documents