Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // this constant won't change:
- const int buttonPin = 2; // the pin that the pushbutton is attached to
- const int ledPin = 7; // the pin that the LED is attached to
- // Variables will change:
- int buttonPushCounter = 0; // counter for the number of button presses
- int buttonState = 0; // current state of the button
- int lastButtonState = 0; // previous state of the button
- #include <Wire.h>
- #include <Adafruit_MotorShield.h>
- #include <AccelStepper.h>
- Adafruit_MotorShield AFMS = Adafruit_MotorShield();
- Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);
- void forwardstep1() {
- myMotor->onestep(FORWARD, DOUBLE);
- }
- void backwardstep1() {
- myMotor->onestep(BACKWARD, DOUBLE);
- }
- AccelStepper Astepper1(forwardstep1, backwardstep1);
- void setup() {
- // initialize the button pin as a input:
- pinMode(buttonPin, INPUT);
- // initialize the LED as an output:
- pinMode(ledPin, OUTPUT);
- // initialize serial communication:
- Serial.begin(9600);
- AFMS.begin(); // create with the default frequency 1.6KHz
- //AFMS.begin(1000); // OR with a different frequency, say 1KHz
- TWBR = ((F_CPU / 500000l) - 16) / 2; // Change the i2c clock to 400KHz
- Astepper1.setAcceleration(6000.0);
- Astepper1.setMaxSpeed(600);
- Astepper1.setSpeed(600); // rpm
- // while (switchIsOff) {
- //turn servo one direction -
- //tell servo this is 0
- }
- void loop() {
- // read the pushbutton input pin:
- buttonState = digitalRead(buttonPin);
- // compare the buttonState to its previous state
- if (buttonState != lastButtonState) {
- // if the state has changed, increment the counter
- if (buttonState == HIGH) {
- // if the current state is HIGH then the button went from off to on:
- buttonPushCounter++;
- Serial.println("on");
- Serial.print("number of button pushes: ");
- Serial.println(buttonPushCounter);
- } else {
- // if the current state is LOW then the button went from on to off:
- Serial.println("off");
- }
- // save the current state as the last state, for next time through the loop
- lastButtonState = buttonState;
- if (buttonPushCounter == 10) {
- digitalWrite(ledPin, HIGH);
- Astepper1.moveTo(600);
- Astepper1.setSpeed(600);
- Astepper1.run();
- }
- if (buttonPushCounter == 30) {
- digitalWrite(ledPin, LOW);
- Astepper1.moveTo(200);
- Astepper1.setSpeed(600);
- Astepper1.run();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement