// LCD1602 to Arduino Uno connection example
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
//---------------------------------------------------------------------------------------------
int analogPin = 0;//potentiometer wiper (middle terminal)connected to analog pin A5
int analogvalue = 0; // variable to store the value read
//-----------------------------------------------------------------------------------------
int digitalPin = 10; // pushbutton connected to digital pin 7
int digitalvalue = 0; // variable to store the read value
//-----------------------------------------------------------------------------------------
int counteranalog = 5 ;
int counterdigital = 0 ;
int previousdigitalvalue = 1 ;
//-----------------------------------------------------------------------------------------
void setup() {
pinMode(digitalPin, INPUT_PULLUP); // sets the digital pin 7 as input pull up
Serial.begin(9600); // setup serial
lcd.begin(16, 2);//lcd set up
}
//------------------------------------------potentiometer-----------------------------------------------
void loop() {
analogvalue = analogRead(analogPin); // read the input analog pin
float voltage = (analogvalue/204.6);//converts to readable voltage
//----------------------------------digital counter--on/off------------------------------------
if (voltage<= 2.6)
{
if (voltage == 2.5)
{
counteranalog++;
lcd.setCursor(11,0);
lcd.print(counteranalog);
}
}
lcd.setCursor(0,0);
lcd.print(voltage);
lcd.setCursor(4,0);
lcd.print("V");
lcd.setCursor(11,0);
lcd.print(counteranalog);
//------------------------------------on off switch-----------------------------------------------------
digitalvalue = digitalRead(digitalPin); // read the input digital pin
if (digitalvalue == 0)
{
Serial.print("Switch:ON ");
Serial.print(" ");
Serial.println(digitalvalue);
Serial.print("voltage =");
Serial.print(" ");
Serial.println(voltage);
lcd.setCursor(0,1);
lcd.print("Switch:ON ");
}
//----------------------------------------counter-------------------------------
if (digitalvalue == 0)
{
if (previousdigitalvalue != digitalvalue)
{
counterdigital++;
lcd.setCursor(11,1);
lcd.print(counterdigital);
}
}
previousdigitalvalue = digitalvalue;
//----------------------------------digital counter--on/off------------------------------------
if (digitalvalue == 1)
{
Serial.print("Switch:OFF ");
Serial.print(" ");
Serial.print(digitalvalue);
Serial.print(" ");
Serial.print("voltage =");
Serial.print(" ");
Serial.println(voltage);
lcd.setCursor(0,1);
lcd.print("Switch:OFF");
lcd.setCursor(11,1);
lcd.print(counterdigital);
}
}