<* 스테핑 모터(Stepping Motor) - 시리얼 통신으로 정/역회전 *>
- 스텝모터를 시리얼 모니터 창을 통해 숫자 '1'을 입력 하면, 360도 한 바퀴 '정회전' 시키고, 숫자 '2'를 입력하면, 360도 한 바퀴 '역회전'한다.
-----< 스테핑 모터(Stepping Motor) - 시리얼 통신으로 정/역회전 소스 코드 > --------------
#include <Stepper.h>
int in1Pin = 12; // [A] 상을 정의 한다
int in2Pin = 11; // [B] 상을 정의 한다
int in3Pin = 10; // [/A] 상을 정의 한다
int in4Pin = 9; // [/B] 상을 정의 한다
Stepper motor(200, in1Pin, in2Pin, in3Pin, in4Pin);
void setup() {
pinMode(in1Pin, OUTPUT); // [A] 상을 출력으로 지정한다
pinMode(in2Pin, OUTPUT); // [B] 상을 출력으로 지정한다
pinMode(in3Pin, OUTPUT); // [/A] 상을 출력으로 지정한다
pinMode(in4Pin, OUTPUT); // [/B] 상을 출력으로 지정한다
motor.setSpeed(30); // 스텝모터의 스피드 설정 함수 (RPM)
Serial.begin(9600); // 시리얼 통신 가능하도록 설정함
}
void loop() {
int steps = 200; // 스텝 수 지정(200X1.8도=360도)
if (Serial.available()) {
int direct = Serial.parseInt(); // 시리얼로 받은 정수문자를 정수로 반환
if (direct ==1) { // 입력값이 ‘1’ 이면 정회전
Serial.print("It's Normal Direction!\n\n");
motor.step(steps); } // 지정된 스텝만큼 모터 정회전
else if (direct ==2) { // 입력값이 ‘2’ 이면 역회전
Serial.print("It's Reverse Direction!\n\n");
motor.step(-steps); } // 지정된 스텝만큼 모터 역회전
else // 그외 입력값은 “ 아래 안내문자 출력 ”
Serial.print("You only choose '1' or '2'\n\n");
}