/* Program for controling steppermotor by serial How to use: type 's' and letters that determined by the value MAX_figure. example 's002' means '2'. And, 50 step / 360 degree.(7.1degree/step) So, the value allows 0 to 50. */ #include SoftwareSerial mySerial(5,4);//RX,TX int T1 = 0; int T2 = 1; int T3 = 2; int T4 = 3; int on_time = 50;//us int off_time = 10;//us int PWM_count = 200; int MAX_figure = 2; int angle; int val; int figure; int CW;//1:CW,0:CCW // the setup routine runs once when you press reset: void setup() { mySerial.begin(9600); // initialize the digital pin as an output. pinMode(T1, OUTPUT); pinMode(T2, OUTPUT); pinMode(T3, OUTPUT); pinMode(T4, OUTPUT); } // the loop routine runs over and over again forever: void loop() { if(mySerial.available()){ val = mySerial.read(); if(val=='c'){ figure = MAX_figure; angle = 0; CW=1; }else if(val=='r'){ figure = MAX_figure; angle = 0; CW=0; }else{ val -= 48; for(int i=1;i