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.
Diff: uStep.cpp
- Revision:
- 0:1b66f1ca8dd2
diff -r 000000000000 -r 1b66f1ca8dd2 uStep.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uStep.cpp Mon Jan 09 14:11:31 2017 +0000
@@ -0,0 +1,161 @@
+#include "uStep.h"
+#include "mbed.h"
+Ticker mtick;
+int motorbrzina; // BRZINA STEP MOTORA
+uStep::uStep(PinName FAZ1, PinName FAZ2, PinName FAZ3, PinName FAZ4) : _FAZ1(FAZ1), _FAZ2(FAZ2), _FAZ3(FAZ3), _FAZ4(FAZ4) //DEFINICIJA PINOVA MOTORA
+{
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=0;
+}
+void uStep::ooskz() // ROTIRAJ MOTOR U SMJERU OBRNUTOM D KAZALJKE NA SATU
+{
+ for (int i = 0; i <= 7; i++) {
+ switch (i) { // AKTIVIRAJTE FAZE ( FAZ1, FAZ3, FAZ4, FAZ4) U BINARNOJ SEKVENCI ZA KORAKE
+ case 0: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=1;
+ }
+ break;
+ case 1: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=1;
+ _FAZ4=1;
+ }
+ break;
+ case 2: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=1;
+ _FAZ4=0;
+ }
+ break;
+ case 3: {
+ _FAZ1=0;
+ _FAZ2=1;
+ _FAZ3=1;
+ _FAZ4=0;
+ }
+ break;
+ case 4: {
+ _FAZ1=0;
+ _FAZ2=1;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 5: {
+ _FAZ1=1;
+ _FAZ2=1;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 6: {
+ _FAZ1=1;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 7: {
+ _FAZ1=1;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=1;
+ }
+ break;
+ }
+
+
+ wait_us(motorbrzina); // VRIJEME CEKANJA DEFINIRA BRZINU OKRETANJA MOTORA
+ }
+}
+
+void uStep::skz() // ROTIRAJ MOTOR JEDNOM U SMJERU KAZALJKE NA SATU
+{
+ for (int i = 0; i <= 7; i++) {
+
+ switch (i) {
+ case 0: {
+ _FAZ1=1;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=1;
+ }
+ break;
+ case 1: {
+ _FAZ1=1;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 2: {
+ _FAZ1=1;
+ _FAZ2=1;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 3: {
+ _FAZ1=0;
+ _FAZ2=1;
+ _FAZ3=0;
+ _FAZ4=0;
+ }
+ break;
+ case 4: {
+ _FAZ1=0;
+ _FAZ2=1;
+ _FAZ3=1;
+ _FAZ4=0;
+ }
+ break;
+ case 5: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=1;
+ _FAZ4=0;
+ }
+ break;
+ case 6: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=1;
+ _FAZ4=1;
+ }
+ break;
+ case 7: {
+ _FAZ1=0;
+ _FAZ2=0;
+ _FAZ3=0;
+ _FAZ4=1;
+ }
+ break;
+ }
+
+
+ wait_us(motorbrzina); // VRIJEME CEKANJA DEFINIRA BRZINU OKRETANJA MOTORA
+ }
+}
+void uStep::step(int koraci, int smjer, int brzina) // FUNKCIJA STEP MOTORA (BROJ KORAKA, SMJER VRTNJE, BRZINA VRTNJE)
+{
+ int count=0; // INICIJALIZCIJA BROJACA KORAKA
+ motorbrzina=brzina; //POSTAVLJANJE BRZINE MOTORA
+ if (smjer==0) // OKRETANJE U SMJERU KAZALJKE NA SATU
+ do {
+ skz();
+ count++;
+ } while (count<koraci); // turn number of steps applied
+ else if (smjer==1)// OKRETANJE OBRNUTO OD KAZALJKE NA SATU
+ do {
+ ooskz();
+ count++;
+ } while (count<koraci);// IZVODI ODABRANI BROJ KORAKA
+
+}
\ No newline at end of file