Odobasic Faris Mehanovic Adnan

Dependencies:   mbed sMotor

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "sMotor.h"
00003 
00004 Serial pc(USBTX, USBRX);
00005 sMotor motor (dp13, dp11, dp10, dp9);
00006 
00007 int step_speed = 1200;
00008 //step(brojKoraka, smjer, step_speed);
00009 const int brojKoraka = 512; //512 == 360 stepeni => zeljeniUgao! -> n = 360/zeljeniUgao -> step(brojKoraka/n , ... , ...);
00010 int orjentacija = 0;
00011 bool ukljucen = true;
00012 
00013 
00014 int main()
00015 {
00016     pc.printf("1 - Proizvoljan polozaj \n2 - Promjena smjera kretanja \n3 - Promjena brzine kretanja \n4 - Start/stop \n");
00017 
00018     while(1) {
00019         char c(0);
00020         if(pc.readable()) {
00021             c = pc.getc();
00022             //proizvoljan polozaj
00023             if(c == '1') {
00024                 int zeljeniUgao(0);
00025                 bool trigger = false;
00026                 pc.printf("\nUnesite polozaj motora [0 - 360] : ");
00027                 pc.scanf("%d", &zeljeniUgao);
00028                 if(zeljeniUgao < 0 || zeljeniUgao > 360) {
00029                     pc.printf("Ugao nije ispravno unesen!\n");
00030                     trigger = true;
00031                 }
00032                 if(zeljeniUgao != 0 && !trigger) {
00033                     double n = 360. / zeljeniUgao; //broj koraka za koliko da se okrene; prvi param. u funkc step(a,b,c);
00034                     if(ukljucen)
00035                         motor.step((int)(brojKoraka / n), orjentacija, step_speed);
00036                 }
00037             }
00038             //orjentacija okretanja
00039             if(c == '2') {
00040                 orjentacija = 1 - orjentacija;
00041                 if(ukljucen)
00042                     motor.step(brojKoraka, orjentacija, step_speed);
00043             }
00044             //brzina kretanja
00045             if(c == '3') {
00046                 pc.printf("\nUnesite zeljenu brzinu : ");
00047                 pc.scanf("%d", &step_speed);
00048                 if(ukljucen)
00049                     motor.step(brojKoraka, orjentacija, step_speed);
00050             }
00051             //start/stop
00052             if(c == '4') {
00053                 ukljucen = !ukljucen;
00054                 if(ukljucen)
00055                     pc.printf("\nMotor je UKLJUCEN!\n");
00056                 else
00057                     pc.printf("\nMotor je ISKLJUCEN!\n");
00058             }
00059 
00060         }
00061     }
00062 }