#include <Stepper.h>
#include <Servo.h>
//------------------------- stepper ----------------------------------
const int steps = 1060;
Stepper mystepper (steps,5,6,7,8);
//------------------------- servo ----------------------------------
Servo snippers_1;
Servo snippers_2;
#define servo_1 3
#define servo_2 4
#define openAngle_1 90
#define openAngle_2 180
#define closedAngle 0
//--------------------------- input ----------------------------------
#define start_Bt 13
#define stop_Bt 9
char state = 1;
void setup() {
Serial.begin(9600);
pinMode(start_Bt, INPUT);
pinMode(stop_Bt , INPUT);
for ( int i= 5; i<9; i++){
pinMode(i, OUTPUT);
}
snippers_1.attach(servo_1 );
snippers_2.attach(servo_2);
snippers_1.write(openAngle_1);
snippers_2.write(openAngle_2);
delay(1000);
mystepper.setSpeed (60);
}
void loop() {
if (digitalRead(start_Bt)){
state = 0;}
if (digitalRead(stop_Bt)){
state =1;}
switch (state){
case 0:
cutting_Work();
break;
case 1:
stop_Work();
break;}}
void cutting_Work(){
while( ! digitalRead (stop_Bt)){
mystepper.step(steps);
Serial.println(" motor run");
delay(1000);
snippers_1.write(closedAngle);
Serial.print(" servo_1 run closeAngle :");
Serial.println (closedAngle);
delay(2000);
snippers_2.write(closedAngle);
Serial.print(" servo_2 run closeAngle :");
Serial.println (closedAngle);
delay(2000);
snippers_1.write(openAngle_1);
snippers_2.write(openAngle_2);
Serial.print(" servo_1 run openAngle :");
Serial.println (openAngle_1);
Serial.print(" servo_2 run openAngle :");
Serial.println (openAngle_2);
delay(2000); } }
void stop_Work (){
Stepper mystepper (0,5,6,7,8);
}