Pages: [1]   Go Down
Author Topic: 1902 Shift Errors  (Read 542 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey guys,

I am pretty new to all this, but I am having some troubles shifting out to a 1602 LCD. I have read through some other threads and haven't been able to solve my problems yet.

I am trying to use the ShiftLCD library, but I am getting two errors:

In file included from Display.pde:56:
C:\Users\rick\Desktop\arduino-1.0.2\libraries\ShiftLCD/ShiftLCD.h:116: error: conflicting return type specified for 'virtual void ShiftLCD::write(uint8_t)'
C:\Users\rick\Desktop\arduino-1.0.2\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

Here is the code that I am using.

Any help is appreciated. Thanks

Code:
/*
  ShiftLCD Library - Display
 
 Demonstrates the use a 16x2 LCD display.  The ShiftLCD library works with
 all LCD displays that are compatible with the Hitachi HD44780 driver.
 There are many of them out there, and you can usually tell them by the
 16-pin interface.
 
 This sketch prints "Hello World!" to the LCD and uses the
 display() and noDisplay() functions to turn on and off
 the display.
 
  The circuit:
 
 ---Shift Register 74HC595---
 * SR Pin 14 to Arduino pin 2
 * SR Pin 12 to Arduino pin 3
 * SR Pin 11 to Arduino pin 4
 * SR Pin  8 to Ground
 * SR Pin 16 to +5v
 * SR Pin 13 to Ground
 * SR Pin 10 to +5v
 -----Shift Reg to LCD--------
 * SR Pin 15 to D7
 * SR Pin 1  to D6
 * SR Pin 2  to D5
 * SR Pin 3  to D4
 * SR Pin 5  to MOSFET gate
 * SR Pin 6  to Enable
 * SR Pin 7  to RS
 -----LCD HD44780-------------
 * Vss to Ground
 * Vdd to +5V
 * Vo  to 10k Wiper
 * R/W to Ground
 * 5v  to +5v
 * Gnd to MOSFET Drain
 ------N Chanel MOSFET--------
 * Source to Ground
 * Gate   to SP Pin 5
 * Drain  to LCD Gnd
 * 1k Resistor Between gate and source
 
 For a more detailed schematic, please see my blog:
 
 http://cjparish.blogspot.com/2010/01/controlling-lcd-display-with-shift.html
 
 Library modified from the original LiquidCrystal Library
 This example originaly by Tom Igoe, Jul 2009
 Example modified for use with ShiftLCD
 Chris Parish, January 12th 2010
 
 */

// include the library code:
#include <ShiftLCD.h>

// initialize the library with the numbers of the interface pins
ShiftLCD lcd(2, 4, 3);

void setup() {
  // set up the LCD's number of rows and columns:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // Turn off the display:
  lcd.noDisplay();
  delay(500);
   // Turn on the display:
  lcd.display();
  delay(500);
}
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 168
Posts: 12430
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


You need to replace the word  'void' in shiftlcd.h line 116 with the word 'size_t'

This was a breaking change somewhere between 0.22 and 1.0
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Dallas, TX USA
Online Online
Edison Member
*
Karma: 47
Posts: 2331
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could switch to this library:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
It has been tested on 1.x and is a direct replacement
for the LiquidCrystal library that ships with the IDE.
It supports many different interfaces:
4bit, i2c, 3 wire shift register, 2 wire shift register and
has been highly optimized for speed.
I use the SR2W 2 wire mode with backlight control
(but then I'm the author of the 2wire code  smiley-grin )


--- bill
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey Bill thanks,

I came across that library shortly after posting. In fact I am working on your 2 wire set up ( that is when I get around to it, I have a 14M old).

If I have questions can I message you?

Rick
Logged

Dallas, TX USA
Online Online
Edison Member
*
Karma: 47
Posts: 2331
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sure. For the SR2W two pin interface, look in the file LiquidCrystal_SR2W.h
It has the wiring diagram for using a 74HC595 or 74164.
I've added a diagram for using a 4094 but that hasn't been released yet.
(No code changes, just an additional diagram for 4094 wiring)

--- bill
Logged

Pages: [1]   Go Up
Jump to: