CCCPaste

Button Display rev_01

/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: Button Display
	- Source Code compiled for: Arduino Uno
	- Source Code created on: 2024-02-19 09:23:15

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* This code will arduino uno to 1602 I2C LCD. show */
	/* initial message "Welcome to PES" in 1st line. */
	/* "Charging Station" in 2nd line. after 5 seconds */
	/* delay, show message "Press Button to" in 1st line. */
	/* "Start Charging" in 2nd line. when momentary */
	/* contact but */
/****** SYSTEM REQUIREMENT 2 *****/
	/* This code will arduino uno to 1602 I2C LCD. show */
	/* initial message "Welcome to PES" in 1st line. */
	/* "Charging Station" in 2nd line. after 5 seconds */
	/* delay, show message "Press Button to" in 1st line. */
	/* "Start Charging" in 2nd line. when momentary */
	/* contact but */
/****** END SYSTEM REQUIREMENTS *****/

/****** DEFINITION OF LIBRARIES *****/
#include     //https://github.com/evert-arias/EasyButton
#include           // I2C communication library
#include    // LCD library

/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);

/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t Button_PushButton_PIN_D2    = 2;
const uint8_t Button_PushButton_PIN_D3    = 3;

/****** DEFINITION OF LCD PARAMETERS *****/
const int LCD_ADDRESS = 0x27; // I2C address of the LCD module
const int LCD_COLUMNS = 16;   // Number of columns in the LCD module
const int LCD_ROWS = 2;       // Number of rows in the LCD module

/****** DEFINITION OF LIBRARIES CLASS INSTANCES *****/
EasyButton button1(Button_PushButton_PIN_D2);
EasyButton button2(Button_PushButton_PIN_D3);
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS); // Create an object for the LCD module

void setup(void)
{
  // put your setup code here, to run once:
  lcd.begin(LCD_COLUMNS, LCD_ROWS); // Initialize the LCD module
  lcd.print("Welcome to PES"); // Print the welcome message on the first line
  lcd.setCursor(0, 1); // Move the cursor to the second line
  lcd.print("Charging Station"); // Print the charging station message on the second line
  delay(5000); // Delay for 5 seconds

  lcd.clear(); // Clear the LCD screen
  lcd.print("Press Button to"); // Print the "Press Button to" message on the first line
  lcd.setCursor(0, 1); // Move the cursor to the second line
  lcd.print("Start Charging"); // Print the "Start Charging" message on the second line

  pinMode(Button_PushButton_PIN_D2, INPUT_PULLUP);
  pinMode(Button_PushButton_PIN_D3, INPUT_PULLUP);
}

void loop(void)
{
  // put your main code here, to run repeatedly:
  button1.read(); // Read the state of button1
  button2.read(); // Read the state of button2

  // Check if button1 is pressed
  if (button1.isPressed())
  {
    lcd.clear(); // Clear the LCD screen
    lcd.print("Button 1 Pressed"); // Print the button1 pressed message on the first line
    lcd.setCursor(0, 1); // Move the cursor to the second line
    lcd.print("Start Charging"); // Print the "Start Charging" message on the second line
  }

  // Check if button2 is pressed
  if (button2.isPressed())
  {
    lcd.clear(); // Clear the LCD screen
    lcd.print("Button 2 Pressed"); // Print the button2 pressed message on the first line
    lcd.setCursor(0, 1); // Move the cursor to the second line
    lcd.print("Start Charging"); // Print the "Start Charging" message on the second line
  }
}