스텝모터 회전속도를 처음과 마지막의속도를 낮추워 조정함
#include <Servo.h>
//------------------------- stepper --------------------------------
#define stepPin 7
#define dirPin 8
//------------------------- servo ----------------------------------
Servo snippers_1;
Servo snippers_2;
Servo snippers_3;
#define servo_1 3
#define servo_2 5
#define servo_3 4
#define openAngle_1 90
#define openAngle_2 90
#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);
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
snippers_1.attach(servo_1 );
snippers_2.attach( servo_2);
snippers_3.attach(servo_3);
snippers_1.write(openAngle_1);
snippers_2.write( - openAngle_2);
snippers_3.write(openAngle_1);
delay(1000);
digitalWrite( dirPin, LOW);
}
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)){
for(int i = 0; i < 250 ; i++){
digitalWrite(stepPin,HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin,LOW);
delayMicroseconds(2000);}
for(int i = 0; i < 560 ; i++){
digitalWrite(stepPin,HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin,LOW);
delayMicroseconds(1000);}
for(int i = 0; i < 250 ; i++){
digitalWrite(stepPin,HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin,LOW);
delayMicroseconds(2000);}
Serial.println(" motor run");
delay(1000);
snippers_1.write(closedAngle);
snippers_2.write(closedAngle);
Serial.print(" servo_1, 2 run closeAngle :");
Serial.println (closedAngle);
delay(2000);
snippers_3.write(closedAngle);
Serial.print(" servo_3 run closeAngle :");
Serial.println (closedAngle);
delay(2000);
snippers_1.write(openAngle_1);
snippers_2.write( - openAngle_2);
snippers_3.write(openAngle_1);
Serial.print(" servo_1,2,3, run openAngle :");
Serial.println (openAngle_1);
delay(2000); } }
void stop_Work (){
digitalWrite (dirPin , LOW);
digitalWrite (stepPin , LOW);}
'아두이노' 카테고리의 다른 글
컷팅기수정본 (0) | 2019.07.24 |
---|---|
커터기수정분(운전중 정지 버턴작동) (0) | 2019.07.23 |
커팅기 (0) | 2019.06.30 |
커터기수정(8월17일(토))프로그램 (0) | 2019.06.09 |
L298N 스텝모터 드라이버 (0) | 2019.05.23 |