/*
LiquidCrystal and OLED Combo with Arduino UNO.
By Abran DRozario

This is a combination with two Displays (OLED and LCD)
and the Character LCD shows the recreative activities in the Dows
lake while the OLED shows "Welcome to Dow's Lake!"

Copyright 2023, By Abran DRozario
September 22, 2023
*/

//Include the following libraries
#include <SPI.h> //Include the SPI
#include <Wire.h> //Include the Wire
#include <Adafruit_GFX.h> //Include the Adafruit's GFX Library
#include <Adafruit_SSD1306.h> //Add the SSD1306 Library
#include <Adafruit_LiquidCrystal.h> //Add the LiquidCrystal Library

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT);

//Ensure the following pins are installed:

Adafruit_LiquidCrystal lcd(12,11,5,4,3,2);

static const unsigned char PROGMEM logo_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };

void setup() {
  //initiate the LCD rows and columns
  lcd.begin(16,2);
  lcd.print("Adafruit");
  lcd.setCursor(0,1);
  lcd.print("Industries");

  //Initiate the OLED and show the Splashscreen as bootskin
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  oled.display();
  delay(2000);
  lcd.clear();

  //Then show this greeting message...
  oled.clearDisplay();
  oled.setTextColor(WHITE);
  oled.setTextSize(2);
  oled.setCursor(0,0);
  oled.println("  Welcome");
  oled.display();
  oled.setCursor(0,17);
  oled.println("    to");
  oled.println("Dow's Lake");
  oled.display();
  lcd.print("Welcome to      ");
  lcd.setCursor(0,1);
  lcd.print("Dow's Lake!");
  delay(3000);
  lcd.clear();
}

void loop() {
  //Perform the following since you reset the Arduino or the Power has returned after the power failure
  lcd.setCursor(0,0);
  lcd.print("Recreationals...");
  lcd.setCursor(0,1);
  lcd.print("Kayaking");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Recreationals...");
  lcd.setCursor(0,1);
  lcd.print("Paddleboarding");
  delay(5000);
  lcd.clear();
  
  lcd.setCursor(0,0);
  lcd.print("Recreationals...");
  lcd.setCursor(0,1);
  lcd.print("Pontoon Boatings");
  delay(5000);
  lcd.clear();
  
  lcd.setCursor(0,0);
  lcd.print("And afew more to");
  lcd.setCursor(0,1);
  lcd.print("Enjoy!");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Visit the rental");
  lcd.setCursor(0,1);
  lcd.print("to get your boat");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Rented as soon ");
  lcd.setCursor(0,1);
  lcd.print("as Possible!   ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("as Possible!   ");
  lcd.setCursor(0,1);
  lcd.print("----------------");
  delay(5000);
  lcd.clear();
  
  lcd.setCursor(0,0);
  lcd.print("----------------");
  lcd.setCursor(0,1);
  lcd.print("");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("");
  lcd.setCursor(0,1);
  lcd.print("We allow also");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("We allow also");
  lcd.setCursor(0,1);
  lcd.print("Skating rinks");
  delay(5000);
  lcd.clear();
  
  lcd.setCursor(0,0);
  lcd.print("Every Winter");
  lcd.setCursor(0,1);
  lcd.print("From Dec-Mar");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("And Paddling");
  lcd.setCursor(0,1);
  lcd.print("Every Spring");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Summer      ");
  lcd.setCursor(0,1);
  lcd.print("And Autumn  ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("From May to ");
  lcd.setCursor(0,1);
  lcd.print("September!  ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Visit the   ");
  lcd.setCursor(0,1);
  lcd.print("Pavilion to ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("See what is ");
  lcd.setCursor(0,1);
  lcd.print("ALL ABOUT!  ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Website:    ");
  lcd.setCursor(0,1);
  lcd.print("dowslake.com");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Follow us on:   ");
  lcd.setCursor(0,1);
  lcd.print("Facebook/X      ");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Address:");
  lcd.setCursor(0,1);
  lcd.print("1001 QE Dr.");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Ottawa, ON");
  lcd.setCursor(0,1);
  lcd.print("K1S-5K7");
  delay(5000);
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("Telephone:");
  lcd.setCursor(0,1);
  lcd.print("613-232-1001");
  delay(5000);
  lcd.clear();


}