I have a sketch running OK on my MEGA2560 and displaying on a LCD 16x2. I opened the source in IDE and checked the code and got the error "'POSITIVE' was not declared in this scope". What programmer should I choose under Tools > Programmer for a MEGA23560? Could the wrong choice be the problem?
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // forum recommendation
/*-----( Declare Variables )-----*/
int num;
//NONE
void setup()
{
Serial.begin(9600); // Used to type in characters
lcd.begin(16,2); // initialize the lcd for 16 chars 2 lines, turn on backlight
// ------- Quick 3 blinks of backlight -------------
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight(); // finish with backlight on
//-------- Write characters on the display ------------------
// NOTE: Cursor Position: (CHAR, LINE) start at 0
lcd.setCursor(0,0); //Start at character 4 on line 0
lcd.print("Hello, world!");
delay(1000);
lcd.setCursor(0,1);
lcd.print("Hi Arduino LCD!!");
delay(8000);
// Wait and then tell user they can start the Serial Monitor and type in characters to
// display. (Set Serial Monitor option to "No Line Ending")
lcd.clear();
lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("Use Serial Mon");
lcd.setCursor(0,1);
lcd.print("Type to display");
lcd.clear();
num = 0;
while (num < 256)
{
lcd.write(num);
num++;
}
}
void loop()
{
{
// when characters arrive over the serial port...
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
num = 0;
// read all the available characters
while (Serial.available() > 0)
{
if (num > 15)
{
lcd.setCursor(0,1);
num = 0;
}
// display each character to the LCD
lcd.write(Serial.read());
num++;
}
}
}
}/* --(end main loop )-- */
/* ( THE END ) */