Pages: [1] 2   Go Down
Author Topic: new LiquidCrystal library problems  (Read 3736 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am having trouble using the LiquidCrystal_SR for my 3-wire serial LCD interface I am trying to setup using a 74HC595 shift register.

The library is located at:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

with the schematic and sample code for a 3-Wire latched shift register at:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics?_escaped_fragment_=latch-shift-register#!latch-shift-register


When I try to compile the following code I get error: ‘LiquidCrystal_SR’ does not name a type.
 
Code:
#include <LCD.h>
#include <LiquidCrystal_SR.h>

LiquidCrystal_SR iLCD(2, 1, 3); // Assuming that the header is connected to the same digital IO pin.

void setup ( )
{
   iLCD.begin ( 16, 2 );

   // ...
}


 smiley-confuse
Logged

Gosport, UK
Offline Offline
Faraday Member
**
Karma: 21
Posts: 3113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I just downloaded the library. I had to include the Wire library, and add an empty loop() function, and then your code compiled.
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The best thing is to use the sample sketches that come with the library.
The wiring page is to show how to initialize the library based on the wiring.
Logged

   

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I just downloaded the library. I had to include the Wire library, and add an empty loop() function, and then your code compiled.

Yes, I did that also, still the same result.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The best thing is to use the sample sketches that come with the library.
The wiring page is to show how to initialize the library based on the wiring.

I did use the HelloWorld_SR example and it did not compile either.  But, if I try the regular LiquidCrystal library HelloWorld example, it compiles just fine.
« Last Edit: September 06, 2012, 04:33:40 am by Z.K. » Logged

Gosport, UK
Offline Offline
Faraday Member
**
Karma: 21
Posts: 3113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In that case, I would think that you haven't correctly installed the library.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In that case, I would think that you haven't correctly installed the library.

I unzipped it and added it to the library folder though I did have to rename it slightly because The ide did not like the underscores in the library name.
Logged

Gosport, UK
Offline Offline
Faraday Member
**
Karma: 21
Posts: 3113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You need the LiquidCrystal folder in your library folder, not the one called 'LiquidCrystal_V1.2.1'.
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to delete the stock LiquidCrystal library and replace it by this one. It has the same functionality as the stock library but more performant. If you wish, you can store the stock library somewhere that is not the library folder.
Logged

   

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to delete the stock LiquidCrystal library and replace it by this one. It has the same functionality as the stock library but more performant. If you wish, you can store the stock library somewhere that is not the library folder.

Okay, thanks though that sounds a bit strange to me, but I'll give it a try. 
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to delete the stock LiquidCrystal library and replace it by this one. It has the same functionality as the stock library but more performant. If you wish, you can store the stock library somewhere that is not the library folder.

Okay, thanks though that sounds a bit strange to me, but I'll give it a try. 

Okay, well that did not work.  Even though I replaced the LiquidCrystal display with LiquidCrystal_V1.2.1 and renamed that library to LiquidCrystal, it does not work and gives me the same error as before.  Now, what I am wondering is whether this library is specific to either a 32-bit platform or not.  I am using a 64-bit platform with 64-bit Arduino IDE.  Could this be the problem?  Perhaps I will install the 32-bit version of the IDE in virtualbox and see what happens.
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Can you put a snippet of the error you are getting?
The library in independent of the version you are using.
Do you have any other LiquidCrystal library other than the New LiquidCrystal installed in your Arduino library folder?
Logged

   

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can you put a snippet of the error you are getting?
The library in independent of the version you are using.
Do you have any other LiquidCrystal library other than the New LiquidCrystal installed in your Arduino library folder?

I kind of did originally, but here is the entire error that is reported when I run the HelloWorld_SR example:
Code:
HelloWorld_SR.pde:-1: error: ‘LiquidCrystal_SR’ does not name a type
HelloWorld_SR.cpp: In function ‘void setup()’:
HelloWorld_SR.pde:-1: error: ‘lcd’ was not declared in this scope
HelloWorld_SR.cpp: In function ‘void showHappyGuy(int)’:
HelloWorld_SR.pde:-1: error: ‘lcd’ was not declared in this scope


And here is the entire sketch:
Code:
#include <Wire.h>
#include <LiquidCrystal_SR.h>

LiquidCrystal_SR lcd(8,7,TWO_WIRE);
//                   | |
//                   | \-- Clock Pin
//                   \---- Data/Enable Pin

// Creat a set of new characters
byte armsUp[8] = {0b00100,0b01010,0b00100,0b10101,0b01110,0b00100,0b00100,0b01010};
byte armsDown[8] = {0b00100,0b01010,0b00100,0b00100,0b01110,0b10101,0b00100,0b01010};

void setup(){

  lcd.begin(16,2);               // initialize the lcd

  lcd.createChar (0, armsUp);    // load character to the LCD
  lcd.createChar (1, armsDown);    // load character to the LCD

  lcd.home ();                   // go home
  lcd.print("LiquidCrystal_SR");
}

void loop(){
  // Do a little animation
  for(int i = 0; i <= 15; i++) showHappyGuy(i);
  for(int i = 15; i >= 0; i--) showHappyGuy(i);
}

void showHappyGuy(int pos){
  lcd.setCursor ( pos, 1 ); // go to position
  lcd.print(char(random(0,2))); // show one of the two custom characters
  delay(150); // wait so it can be seen
  lcd.setCursor ( pos, 1 ); // go to position again
  lcd.print(" "); // delete character
}

Also, I tried this in virtualbox using 32-bit Ubuntu, but still the same failure.  I think I will go and see if Windows does the same thing. 

Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Where did you place the Library? Beacause it is not finding it.
Logged

   

0
Offline Offline
Newbie
*
Karma: 0
Posts: 35
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can you put a snippet of the error you are getting?
The library in independent of the version you are using.
Do you have any other LiquidCrystal library other than the New LiquidCrystal installed in your Arduino library folder?

I tried it in Windows and received the same error as before.  I am not sure what is going on.  It does not seem to be operating system related and I download new version of both Arduino 1.01 and the LiquidCrystal library.
Logged

Pages: [1] 2   Go Up
Jump to: