#include <LiquidCrystal.h> 
#include <SmoothProgress.h>
#include <BarStyle1.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


LCD dispA(lcd, barStyle1);

SmoothProgressBar spb(dispA, 10, 5, 0);

void setup()
{

    lcd.begin(20, 2);

    lcd.print("Smooth progress bar");

    dispA.begin();

    delay(2000);
}

void loop()
{
    lcd.clear();

    for (int i = 0; i <= 100; i++)
    {
        lcd.setCursor(0, 0);                  
        lcd.print(i);                        
        lcd.print('%');                      

        spb.showProgressPct(i);
        delay(25);
    }

    delay(1000);
    lcd.clear();


    for (int i = spb.size(); i >=0; i--)
    {
        lcd.setCursor(0, 0);                
        lcd.print(i);                         
        lcd.print(' ');                       
        spb.showProgress(i);
        delay(100);
    }
    delay(1000);

    lcd.clear();
  
    if (spb.row() == 0)
    {
        spb.setPosition(spb.col() - 5, 1);
        spb.setLength(spb.getLength() + 5);
    }
    else
    {
        spb.setPosition(spb.col() + 5, 0);
        spb.setLength(spb.getLength() - 5);
    }

}

uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
lcd1:VSS
lcd1:VDD
lcd1:V0
lcd1:RS
lcd1:RW
lcd1:E
lcd1:D0
lcd1:D1
lcd1:D2
lcd1:D3
lcd1:D4
lcd1:D5
lcd1:D6
lcd1:D7
lcd1:A
lcd1:K