//#define Del 1000;
#include <Wire.h>
#include <LiquidCrystal.h>
#include <AccelStepper.h>
int button_pin=7;
int button_press_count;
int button_state = 0;
const int stepPin=12;
const int dirPin=11;
int prev_button_state = 0,i,arr[100],v,mf=10,ok=0,step=0;
long int t;
int c=0;
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
#define OLED_ADDR 0x3C
Adafruit_SSD1306 display(OLED_WIDTH, OLED_HEIGHT);
#define motorInterfaceType 1
AccelStepper myStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("Welcome");
myStepper.setMaxSpeed(1000);
myStepper.setAcceleration(50);
myStepper.setSpeed(200);
myStepper.moveTo(200);
pinMode (button_pin, INPUT_PULLUP);
pinMode (8, INPUT_PULLUP);
myStepper.setSpeed(60);
Serial.println("Button Count:");
}
void loop() {
if(digitalRead(9) != HIGH) {
if((digitalRead(8)==HIGH)&&(c==0)){
button_pin=8;
mf=1; c++;
}
button_state = digitalRead(button_pin);
if (button_state != prev_button_state) {
if (button_state ==LOW){
v=v+mf;
i++;
Serial.print("Volume: ");
Serial.println(v);
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println(""Enter Volume: ");
display.println(v);
}
}
prev_button_state = button_state;
}
else if((ok == 0) && (digitalRead(9) == HIGH))
{
Serial.print("Final Volume = ");
Serial.println(v);
ok = 1;
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("final vol: ");
display.println(v);
step++;
}
if (step==1){
if (myStepper.distanceToGo() == 0)
myStepper.moveTo(-myStepper.currentPosition());
// Move the motor one step
myStepper.run();
}
}