So I want to conserve RAM by storing my array of Strings for my LCD in the flash memory of my arduino ATMega328P. I am using v. 1.6.7 of the IDE. When I upload this code without the array it runs correctly, however with the array it compiles and uploads but the LCD is blank...
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//#include <avr/progspace.h>
#define num_saved_wands 5
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup() {
lcd.begin (16,2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home();
lcd.print(F(" Welcome to the"));
lcd.setCursor (0,1);
lcd.print(F(" LCD"));
delay(2000);
lcd.clear();
}//end setup
PROGMEM const String Menu[9][4] = {
{"Adjs","Imgs","Text","Functions"}, //1
{"1-Wand","2-Bands","Rainbow", ""},//2 //Adjust
{"1-Saved","2-Create","3-Main",""}, //3 //Adjust --> Wand
{"1-Saved","2-Create","3-Main",""}, //4 //Adjust --> Bands
{"Main","","",""}, //5 //Adjust --> Rainbow
{"Run","Main","",""}, //6 //Imgs
{"1-Saved","2-Create","3-Main",""}, //7 //Text
{"Run","Main","",""}, //8 //Text Run
{"Main","","",""} //9 //Functions
};
void loop() {
}//end loop
Thanks.