Hello my name is Anthony and I'm 14 years. I want to share my Code for arduino lcd loading bar
Feel free to use the code and tell me what you think
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte percentage_1[8] = { B10000, B10000, B10000, B10000, B10000, B10000, B10000, B10000 };
byte percentage_2[8] = { B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000 };
byte percentage_3[8] = { B11100, B11100, B11100, B11100, B11100, B11100, B11100, B11100 };
byte percentage_4[8] = { B11110, B11110, B11110, B11110, B11110, B11110, B11110, B11110 };
byte percentage_5[8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111 };
void setup() {
lcd.createChar(0, percentage_1);
lcd.createChar(1, percentage_2);
lcd.createChar(2, percentage_3);
lcd.createChar(3, percentage_4);
lcd.createChar(4, percentage_5);
lcd.begin(16, 2);
lcd.clear();
}
void loop() {
for(int i = 0; i <= 100; i++){
lcd.setCursor(0,0);
lcd.print("Loading :");
lcd.print(i);
lcd.print("%");
lcd_percentage(i, 0, 16, 1);
delay(10);
}
lcd.clear();
}
void lcd_percentage(int percentage, int cursor_x, int cursor_x_end, int cursor_y){
int calc = (percentage*cursor_x_end*5/100)-(percentage*cursor_x*5/100);
while(calc >= 5){
lcd.setCursor(cursor_x,cursor_y);
lcd.write((byte)4);
calc-=5;
cursor_x++;
}
while(calc >= 4 && calc < 5){
lcd.setCursor(cursor_x,cursor_y);
lcd.write((byte)3);
calc-=4;
}
while(calc >= 3 && calc < 4){
lcd.setCursor(cursor_x,cursor_y);
lcd.write((byte)2);
calc-=3;
}
while(calc >= 2 && calc < 3){
lcd.setCursor(cursor_x,cursor_y);
lcd.write((byte)1);
calc-=2;
}
while(calc >= 1 && calc < 2){
lcd.setCursor(cursor_x,cursor_y);
lcd.write((byte)0);
calc-=1;
}
}