So I tried to do this:
vangalvin:
in REBLDisplay.cpp
change to this...
void initLCD(uint8_t aRsPin, uint8_t aEnablePin, uint8_t aD1, uint8_t aD2, uint8_t aD3, uint8_t aD4) {
#ifdef USING_SERIAL
Serial.begin(19200);
#else
LCD = new LiquidCrystal(aRsPin, aEnablePin, aD1, aD2, aD3, aD4);
LCD->begin(NUM_LCD_COLS, NUM_LCD_ROWS);
LCD->noCursor();
LCD->clear();
//setColor(BLUE);
#endif
}
in REBLDisplay.h
Change to this
void initLCD(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
In your sketch add these
#define LCD_D1 4
#define LCD_D2 5
#define LCD_D3 6
#define LCD_D4 7
and change to this.
initLCD(LCD_RS_PIN, LCD_ENABLE_PIN, LCD_D1, LCD_D2, LCD_D3, LCD_D4);
Pretty sure that was all i used to make it work 
Oh and I changed the include to use
#include <LiquidCrystal.h>
instead of the SPI one.
#include "REBL_UI.h"
#include <LiquidCrystal.h>
#include <TimeLib.h>
#define ENCODER_INTERRUPT_PIN 2 // CLK: Must keep pin 2.
#define ENCODER_B_PIN A0 // DT
#define BUTTON_PIN A1 // SW
#define LCD_ENABLE_PIN 13
#define LCD_RS_PIN 12
//#define HEART_BEAT_PIN A5
//#define LCD_BLUE A0
//#define LCD_GREEN A2
//#define LCD_RED A4
#define LCD_D1 4 // New ↓
#define LCD_D2 5
#define LCD_D3 6
#define LCD_D4 7
// const int contrast = 20; // min. PWM value
//forward declaration for the functions
boolean fun1();
boolean pressToExit();
boolean pickNumber();
boolean fourLetterWord();
boolean enterTime();
boolean showTime();
MenuItem PROGMEM menuItems[] = {
{
"display", fun1 }
,
{
"press", pressToExit }
,
{
"enter number", pickNumber }
,
{
"enter string", fourLetterWord }
,
{
"set time", enterTime }
,
{
"show time", showTime }
};
MenuList menuList(menuItems, menuListSize(menuItems));
//LiquidCrystal lcd( 12, 13, 5, 4, 3, 7); // Arduino pins. Creates object.
// LCD:GND,5V(RS=2 en=3 11 12 13 14) 16=GND
void setup() {
initLCD(LCD_RS_PIN, LCD_ENABLE_PIN, LCD_D1, LCD_D2, LCD_D3, LCD_D4); // New
initInterface(BUTTON_PIN, ENCODER_INTERRUPT_PIN, ENCODER_B_PIN);
reblMenu.setCurrentMenu(&menuList);
// LCD code:
// pinMode(7,HIGH); // LCD pin 15: backlight (anode)
// pinMode(11,OUTPUT);
// analogWrite(11,700);
// analogWrite(6,contrast); // PWM~ pins: 3,5,(6),9,10,11
}
Attached is this edited version (where I attempted to swap the LCD libraries), but this error:
Arduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Users\uraynara\Documents\Arduino\REBL_UI_Example\REBL_UI_Example.ino: In function 'void setup()':
REBL_UI_Example:56: error: too many arguments to function 'void initLCD(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)'
initLCD(LCD_RS_PIN, LCD_ENABLE_PIN, LCD_D1, LCD_D2, LCD_D3, LCD_D4); // New
^
In file included from C:\Users\uraynara\Documents\Arduino\libraries\REBL_UI-master/REBL_UI.h:14:0,
from C:\Users\uraynara\Documents\Arduino\REBL_UI_Example\REBL_UI_Example.ino:1:
C:\Users\uraynara\Documents\Arduino\libraries\REBL_UI-master/REBLDisplay.h:13:6: note: declared here
void initLCD(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t);
^
exit status 1
too many arguments to function 'void initLCD(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I haven't uploaded it yet, but I have a 4x20 LCD. Pinout to Arduino Mega + rotary encoder attached.
REBLDisplay.cpp (4.32 KB)
REBL_UI_Example.ino (4.2 KB)