시작스위치= 7 리버스스위치 = 2 엔드스위치= 3 R_pwm 5 L_pwm =6
BTS7960 모터 드라이버 커터기 =4 R_EN=+5v L_EN=+5v
#define cutter 4
#define R_pwm 5
#define L_pwm 6
const int start_bt = 7;
const int end_sw =3;
const int reverse = 2;
int end_state =0, reverse_state =0, start_state =0,current_state =0;
void setup() {
pinMode(cutter, OUTPUT);
pinMode(start_bt, INPUT);
pinMode(end_sw, INPUT);
pinMode(reverse, INPUT);
pinMode(R_pwm, OUTPUT);
pinMode(L_pwm, OUTPUT);
end_state= digitalRead(end_sw);
reverse_state = digitalRead(reverse);
start_state = digitalRead(start_bt);
}
void loop() {
end_state= digitalRead(end_sw);
reverse_state = digitalRead(reverse);
start_state = digitalRead(start_bt);
if(end_state == HIGH){ current_state =2;}
if(reverse_state == HIGH){ current_state =1;}
if(start_state == HIGH){current_state =0;}
switch(current_state){
case 0: Forward(); break;
case 1: backward(); break;
case 2:motor_stop(); break; } }
void Forward(){delay(100);
digitalWrite(cutter,HIGH);
analogWrite(R_pwm,100);
analogWrite(L_pwm,0);}
void backward(){
digitalWrite(cutter,LOW); delay(1500);
analogWrite(R_pwm,0);
analogWrite(L_pwm,100);}
void motor_stop(){
digitalWrite(cutter,LOW);
analogWrite(R_pwm,0);
analogWrite(L_pwm,0);}
'아두이노' 카테고리의 다른 글
1602 LCD와 Rotary_ Encoder를 이요한 메뉴 구현 (0) | 2021.01.27 |
---|---|
dc 모터 위치 보내기 (0) | 2021.01.17 |
cutter_1 (0) | 2020.12.18 |
건널목신호대 (0) | 2020.11.29 |
세탁기 코드 (0) | 2020.08.19 |