ze chen / Mbed 2 deprecated Stepper_4

Dependencies:   mbed sMotor

Fork of Stepper_4 by Nuno Sarmento

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*
00002 ############################################
00003 ##           sMotor v0.1 Test Program     ##
00004 ##          created by Samuel Matildes    ##
00005 ############################################
00006         ---- sam.naeec@gmail.com -----
00007 This library was made for 4-Phase Stepper Motors
00008 I don't take any resposability for the damage caused to your equipment.
00009 
00010 */
00011 
00012 #include "mbed.h"
00013 #include "sMotor.h"
00014 
00015 
00016 Serial pc(USBTX, USBRX);
00017 sMotor motor(p9, p10, p11, p12); // creates new stepper motor: IN1, IN2, IN3, IN4
00018 DigitalOut myled1(LED1);
00019 DigitalOut myled2(LED2);
00020 DigitalOut myled3(LED3);
00021 DigitalOut myled4(LED4);
00022 int step_speed = 1200 ; // set default motor speed
00023 int numstep = 512 ; // defines full turn of 360 degree
00024 //you might want to calibrate this value according to your motor
00025 
00026 
00027 int main()
00028 {
00029 
00030     //Credits
00031     printf("4 Phase Stepper Motor v0.1 - Test Program\r\n");
00032     printf("developed by Samuel Matildes\r\n");
00033     printf("\n\r");
00034 
00035     // Screen Menu
00036     printf("Default Speed: %d\n\r",step_speed);
00037     printf("1- 360 degree clockwise step\n\r");
00038     printf("2- 360 degree anticlockwise step\n\r");
00039     printf("3- 180 degree clockwise step\n\r");
00040     printf("4- 180 degree anticlockwise step\n\r");
00041     printf("5- Change Speed\n\r");
00042 
00043         myled1=1;
00044         wait(0.2);
00045         myled1=0;
00046         wait(0.2);
00047 
00048     while (1) {
00049 
00050 
00051         if (pc.readable()) { // checks for serial
00052             printf("ask for input");
00053             if (pc.getc()=='1'){
00054                 motor.step(numstep,0,step_speed); // number of steps, direction, speed
00055                 myled1=1;myled2=0;myled3=0;myled4=0;
00056                 }
00057             if (pc.getc()=='2'){
00058                 motor.step(numstep,1,step_speed);
00059                 myled1=0;myled2=1;myled3=0;myled4=0;
00060                 }
00061             if (pc.getc()=='3'){
00062                 motor.step(numstep/2,0,step_speed);
00063                 myled1=0;myled2=0;myled3=1;myled4=0;
00064                 }
00065             if (pc.getc()=='4'){
00066                 motor.step(numstep/2,1,step_speed);
00067                 myled1=0;myled2=0;myled3=0;myled4=1;
00068                 }
00069             if (pc.getc()=='5') {
00070                 printf("Current Speed: %d\n\r", step_speed);
00071                 printf("New speed: \n\r");
00072                 pc.scanf("%d",&step_speed); // sets new speed
00073             }
00074         }
00075     }
00076 }