#include <SoftwareSerial.h>
#include <Servo.h>
//SoftwareSerial SWserial(8, 7);
#define SWserial Serial
Servo myservo;
int motor = 2;
int angle = 90;
int Dir1Pin_A = 12;
int Dir2Pin_A = 13;
int SpeedPin_A = 3;
void setup() {
SWserial.begin(9600); SWserial.println("Start.");
pinMode(Dir1Pin_A, OUTPUT); // 제어 1번핀 출력모드 설정
pinMode(Dir2Pin_A, OUTPUT); // 제어 2번핀 출력모드 설정
pinMode(SpeedPin_A, OUTPUT); // PWM제어핀 출력모드 설정
myservo.attach(2);
}
void loop() {
if (SWserial.available() > 0) {
char cmd = SWserial.read();
if (cmd == 'u') {
angle = min(angle + 30, 180);
myservo.write(angle); Serial.println(angle);
} else if (cmd == 'd') {
angle = max(angle - 30, 0);
myservo.write(angle); Serial.println(angle);
} else {
int data = cmd - '0';
if (data == 1) {
digitalWrite(Dir1Pin_A, HIGH);
digitalWrite(Dir2Pin_A, LOW);
analogWrite(SpeedPin_A, 70);
Serial.print("data="); Serial.println(data);
} else if (data == 2) {
digitalWrite(Dir1Pin_A, LOW);
digitalWrite(Dir2Pin_A, HIGH);
analogWrite(SpeedPin_A, 120);
Serial.print("data="); Serial.println(data);
} else if (data == 3) {
digitalWrite(Dir1Pin_A, LOW);
digitalWrite(Dir2Pin_A, HIGH);
analogWrite(SpeedPin_A, 0);
Serial.print("data="); Serial.println(data);
}
}
}
}