Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
uStep.cpp@2:627a47c7f619, 2017-01-14 (annotated)
- Committer:
- inovak1
- Date:
- Sat Jan 14 18:03:55 2017 +0000
- Revision:
- 2:627a47c7f619
- Child:
- 4:c80c7ea50a3c
Sve ukupno
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| inovak1 | 2:627a47c7f619 | 1 | #include "uStep.h" |
| inovak1 | 2:627a47c7f619 | 2 | #include "mbed.h" |
| inovak1 | 2:627a47c7f619 | 3 | int motorbrzina; // BRZINA STEP MOTORA |
| inovak1 | 2:627a47c7f619 | 4 | Ticker steptick; |
| inovak1 | 2:627a47c7f619 | 5 | |
| inovak1 | 2:627a47c7f619 | 6 | uStep::uStep(PinName FAZ1, PinName FAZ2, PinName FAZ3, PinName FAZ4) : _FAZ1(FAZ1), _FAZ2(FAZ2), _FAZ3(FAZ3), _FAZ4(FAZ4) //DEFINICIJA PINOVA MOTORA |
| inovak1 | 2:627a47c7f619 | 7 | { |
| inovak1 | 2:627a47c7f619 | 8 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 9 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 10 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 11 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 12 | } |
| inovak1 | 2:627a47c7f619 | 13 | void uStep::step1() |
| inovak1 | 2:627a47c7f619 | 14 | { |
| inovak1 | 2:627a47c7f619 | 15 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 16 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 17 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 18 | _FAZ4=1; |
| inovak1 | 2:627a47c7f619 | 19 | } |
| inovak1 | 2:627a47c7f619 | 20 | void uStep::step2() |
| inovak1 | 2:627a47c7f619 | 21 | { |
| inovak1 | 2:627a47c7f619 | 22 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 23 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 24 | _FAZ3=1; |
| inovak1 | 2:627a47c7f619 | 25 | _FAZ4=1; |
| inovak1 | 2:627a47c7f619 | 26 | } |
| inovak1 | 2:627a47c7f619 | 27 | void uStep::step3() |
| inovak1 | 2:627a47c7f619 | 28 | { |
| inovak1 | 2:627a47c7f619 | 29 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 30 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 31 | _FAZ3=1; |
| inovak1 | 2:627a47c7f619 | 32 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 33 | } |
| inovak1 | 2:627a47c7f619 | 34 | void uStep::step4() |
| inovak1 | 2:627a47c7f619 | 35 | { |
| inovak1 | 2:627a47c7f619 | 36 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 37 | _FAZ2=1; |
| inovak1 | 2:627a47c7f619 | 38 | _FAZ3=1; |
| inovak1 | 2:627a47c7f619 | 39 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 40 | } |
| inovak1 | 2:627a47c7f619 | 41 | void uStep::step5() |
| inovak1 | 2:627a47c7f619 | 42 | { |
| inovak1 | 2:627a47c7f619 | 43 | _FAZ1=0; |
| inovak1 | 2:627a47c7f619 | 44 | _FAZ2=1; |
| inovak1 | 2:627a47c7f619 | 45 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 46 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 47 | } |
| inovak1 | 2:627a47c7f619 | 48 | void uStep::step6() |
| inovak1 | 2:627a47c7f619 | 49 | { |
| inovak1 | 2:627a47c7f619 | 50 | _FAZ1=1; |
| inovak1 | 2:627a47c7f619 | 51 | _FAZ2=1; |
| inovak1 | 2:627a47c7f619 | 52 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 53 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 54 | } |
| inovak1 | 2:627a47c7f619 | 55 | void uStep::step7() |
| inovak1 | 2:627a47c7f619 | 56 | { |
| inovak1 | 2:627a47c7f619 | 57 | _FAZ1=1; |
| inovak1 | 2:627a47c7f619 | 58 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 59 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 60 | _FAZ4=0; |
| inovak1 | 2:627a47c7f619 | 61 | } |
| inovak1 | 2:627a47c7f619 | 62 | void uStep::step8() |
| inovak1 | 2:627a47c7f619 | 63 | { |
| inovak1 | 2:627a47c7f619 | 64 | _FAZ1=1; |
| inovak1 | 2:627a47c7f619 | 65 | _FAZ2=0; |
| inovak1 | 2:627a47c7f619 | 66 | _FAZ3=0; |
| inovak1 | 2:627a47c7f619 | 67 | _FAZ4=1; |
| inovak1 | 2:627a47c7f619 | 68 | } |
| inovak1 | 2:627a47c7f619 | 69 | void uStep::ooskz() // ROTIRAJ MOTOR U SMJERU OBRNUTOM D KAZALJKE NA SATU |
| inovak1 | 2:627a47c7f619 | 70 | { |
| inovak1 | 2:627a47c7f619 | 71 | for (int i = 0; i <= 7; i++) { |
| inovak1 | 2:627a47c7f619 | 72 | switch (i) { // AKTIVIRAJTE FAZE ( FAZ1, FAZ3, FAZ4, FAZ4) U BINARNOJ SEKVENCI ZA KORAKE |
| inovak1 | 2:627a47c7f619 | 73 | case 0: { |
| inovak1 | 2:627a47c7f619 | 74 | steptick.attach(this,&uStep::step1 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 75 | } |
| inovak1 | 2:627a47c7f619 | 76 | break; |
| inovak1 | 2:627a47c7f619 | 77 | case 1: { |
| inovak1 | 2:627a47c7f619 | 78 | steptick.attach(this,&uStep::step2 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 79 | } |
| inovak1 | 2:627a47c7f619 | 80 | break; |
| inovak1 | 2:627a47c7f619 | 81 | case 2: { |
| inovak1 | 2:627a47c7f619 | 82 | steptick.attach(this,&uStep::step3,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 83 | } |
| inovak1 | 2:627a47c7f619 | 84 | break; |
| inovak1 | 2:627a47c7f619 | 85 | case 3: { |
| inovak1 | 2:627a47c7f619 | 86 | steptick.attach(this,&uStep::step4,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 87 | } |
| inovak1 | 2:627a47c7f619 | 88 | break; |
| inovak1 | 2:627a47c7f619 | 89 | case 4: { |
| inovak1 | 2:627a47c7f619 | 90 | steptick.attach(this,&uStep::step5 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 91 | } |
| inovak1 | 2:627a47c7f619 | 92 | break; |
| inovak1 | 2:627a47c7f619 | 93 | case 5: { |
| inovak1 | 2:627a47c7f619 | 94 | steptick.attach(this,&uStep::step6 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 95 | } |
| inovak1 | 2:627a47c7f619 | 96 | break; |
| inovak1 | 2:627a47c7f619 | 97 | case 6: { |
| inovak1 | 2:627a47c7f619 | 98 | steptick.attach(this,&uStep::step7 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 99 | } |
| inovak1 | 2:627a47c7f619 | 100 | break; |
| inovak1 | 2:627a47c7f619 | 101 | case 7: { |
| inovak1 | 2:627a47c7f619 | 102 | steptick.attach(this,&uStep::step8 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 103 | } |
| inovak1 | 2:627a47c7f619 | 104 | break; |
| inovak1 | 2:627a47c7f619 | 105 | } |
| inovak1 | 2:627a47c7f619 | 106 | steptick.detach(); |
| inovak1 | 2:627a47c7f619 | 107 | } |
| inovak1 | 2:627a47c7f619 | 108 | } |
| inovak1 | 2:627a47c7f619 | 109 | |
| inovak1 | 2:627a47c7f619 | 110 | void uStep::skz() // ROTIRAJ MOTOR JEDNOM U SMJERU KAZALJKE NA SATU |
| inovak1 | 2:627a47c7f619 | 111 | { |
| inovak1 | 2:627a47c7f619 | 112 | for (int i = 0; i <= 7; i++) { |
| inovak1 | 2:627a47c7f619 | 113 | |
| inovak1 | 2:627a47c7f619 | 114 | switch (i) { |
| inovak1 | 2:627a47c7f619 | 115 | case 0: { |
| inovak1 | 2:627a47c7f619 | 116 | steptick.attach(this,&uStep::step8 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 117 | } |
| inovak1 | 2:627a47c7f619 | 118 | break; |
| inovak1 | 2:627a47c7f619 | 119 | case 1: { |
| inovak1 | 2:627a47c7f619 | 120 | steptick.attach(this,&uStep::step7 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 121 | } |
| inovak1 | 2:627a47c7f619 | 122 | break; |
| inovak1 | 2:627a47c7f619 | 123 | case 2: { |
| inovak1 | 2:627a47c7f619 | 124 | steptick.attach(this,&uStep::step6 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 125 | } |
| inovak1 | 2:627a47c7f619 | 126 | break; |
| inovak1 | 2:627a47c7f619 | 127 | case 3: { |
| inovak1 | 2:627a47c7f619 | 128 | steptick.attach(this,&uStep::step5 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 129 | } |
| inovak1 | 2:627a47c7f619 | 130 | break; |
| inovak1 | 2:627a47c7f619 | 131 | case 4: { |
| inovak1 | 2:627a47c7f619 | 132 | steptick.attach(this,&uStep::step4 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 133 | } |
| inovak1 | 2:627a47c7f619 | 134 | break; |
| inovak1 | 2:627a47c7f619 | 135 | case 5: { |
| inovak1 | 2:627a47c7f619 | 136 | steptick.attach(this,&uStep::step3 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 137 | } |
| inovak1 | 2:627a47c7f619 | 138 | break; |
| inovak1 | 2:627a47c7f619 | 139 | case 6: { |
| inovak1 | 2:627a47c7f619 | 140 | steptick.attach(this,&uStep::step2 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 141 | } |
| inovak1 | 2:627a47c7f619 | 142 | break; |
| inovak1 | 2:627a47c7f619 | 143 | case 7: { |
| inovak1 | 2:627a47c7f619 | 144 | steptick.attach(this,&uStep::step1 ,motorbrzina); |
| inovak1 | 2:627a47c7f619 | 145 | } |
| inovak1 | 2:627a47c7f619 | 146 | break; |
| inovak1 | 2:627a47c7f619 | 147 | } |
| inovak1 | 2:627a47c7f619 | 148 | steptick.detach(); |
| inovak1 | 2:627a47c7f619 | 149 | } |
| inovak1 | 2:627a47c7f619 | 150 | } |
| inovak1 | 2:627a47c7f619 | 151 | |
| inovak1 | 2:627a47c7f619 | 152 | void uStep::step(int koraci, int smjer, int brzina) // FUNKCIJA STEP MOTORA (BROJ KORAKA, SMJER VRTNJE, BRZINA VRTNJE) |
| inovak1 | 2:627a47c7f619 | 153 | { |
| inovak1 | 2:627a47c7f619 | 154 | int count=0; // INICIJALIZCIJA BROJACA KORAKA |
| inovak1 | 2:627a47c7f619 | 155 | motorbrzina=brzina; //POSTAVLJANJE BRZINE MOTORA |
| inovak1 | 2:627a47c7f619 | 156 | if (smjer==0) // OKRETANJE U SMJERU KAZALJKE NA SATU |
| inovak1 | 2:627a47c7f619 | 157 | do { |
| inovak1 | 2:627a47c7f619 | 158 | skz(); |
| inovak1 | 2:627a47c7f619 | 159 | count++; |
| inovak1 | 2:627a47c7f619 | 160 | } while (count<koraci); // turn number of steps applied |
| inovak1 | 2:627a47c7f619 | 161 | else if (smjer==1)// OKRETANJE OBRNUTO OD KAZALJKE NA SATU |
| inovak1 | 2:627a47c7f619 | 162 | do { |
| inovak1 | 2:627a47c7f619 | 163 | ooskz(); |
| inovak1 | 2:627a47c7f619 | 164 | count++; |
| inovak1 | 2:627a47c7f619 | 165 | } while (count<koraci);// IZVODI ODABRANI BROJ KORAKA |
| inovak1 | 2:627a47c7f619 | 166 | |
| inovak1 | 2:627a47c7f619 | 167 | } |