/*LED BAR GRAPH PROJECT USING ARDUINO UNO BY HASEEB ELECTRONICS
* youtube channel
*/
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
byte block[] = {B11111,B11111,B11111,B11111,B11111,B11111,B11111,B11111};
int potIn = A0; //input analog signal
void setup() {
// put your setup code here, to run once:
pinMode(potIn,INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
lcd.init();
lcd.backlight();
lcd.createChar(0, block);
lcd.home();
lcd.write(0);
}
void loop() {
// put your main code here, to run repeatedly:
int potVal = analogRead(potIn);
float volatgeValue =(5.0/1023)*potVal;
lcd.setCursor(0,1);
lcd.print("VOLTGAE ");
lcd.print(volatgeValue);
//-------------- LED CONTROL---------------
if(volatgeValue>=0.25){
digitalWrite(2,HIGH);
lcd.setCursor(0,0);
lcd.write(block);
}
else{
digitalWrite(2,LOW);
lcd.setCursor(0,0);
lcd.print(" ");
}
if(volatgeValue>=0.75){
digitalWrite(3,HIGH);
lcd.setCursor(1,0);
lcd.write(block);
}
else{
digitalWrite(3,LOW);
lcd.setCursor(1,0);
lcd.print(" ");
}
if(volatgeValue>=1.25){
digitalWrite(4,HIGH);
lcd.setCursor(2,0);
lcd.write(block);
}
else{
digitalWrite(4,LOW);
lcd.setCursor(2,0);
lcd.print(" ");
}
if(volatgeValue>=1.75){
digitalWrite(5,HIGH);
lcd.setCursor(3,0);
lcd.write(block);
}
else{
digitalWrite(5,LOW);
lcd.setCursor(3,0);
lcd.print(" ");
}
if(volatgeValue>=2.25){
digitalWrite(6,HIGH);
lcd.setCursor(4,0);
lcd.write(block);
}
else{
digitalWrite(6,LOW);
lcd.setCursor(4,0);
lcd.print(" ");
}
if(volatgeValue>=2.75){
digitalWrite(7,HIGH);
lcd.setCursor(5,0);
lcd.write(block);
}
else{
digitalWrite(7,LOW);
lcd.setCursor(5,0);
lcd.print(" ");
}
if(volatgeValue>=3.25){
digitalWrite(8,HIGH);
lcd.setCursor(6,0);
lcd.write(block);
}
else{
digitalWrite(8,LOW);
lcd.setCursor(6,0);
lcd.print(" ");
}
if(volatgeValue>=3.75){
digitalWrite(9,HIGH);
lcd.setCursor(7,0);
lcd.write(block);
}
else{
digitalWrite(9,LOW);
lcd.setCursor(7,0);
lcd.print(" ");
}
if(volatgeValue>=4.25){
digitalWrite(10,HIGH);
lcd.setCursor(8,0);
lcd.write(block);
}
else{
digitalWrite(10,LOW);
lcd.setCursor(8,0);
lcd.print(" ");
}
if(volatgeValue>=4.95){
digitalWrite(11,HIGH);
lcd.setCursor(9,0);
lcd.write(block);
}
else{
digitalWrite(11,LOW);
lcd.setCursor(9,0);
lcd.print(" ");
}
}