When I try to compile the following code I get error: ‘LiquidCrystal_SR’ does not name a type.
#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 );
// ...
}
fm:
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.
dxw00d:
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.
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.
fm:
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.
fm:
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.
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?
fm:
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:
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:
#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.
fm:
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.
fm:
Where did you place the Library? Beacause it is not finding it.
Okay, I figured out what was going on now, when I unzipped it I had an extra folder as in \LiquidCrystal_V1.2.1\LiquidCrystal. I copied all the files to \LiquidCrystal_V1.2.1 and deleted the LiquidCrystal folder. Then I rename the \LiquidCrystal_V1.2.1 to just LiquidCrystal and now it compiles okay. Of course the LCD still does not work for some reason. I am not sure why, I used the exact circuit from the web page.