Sz_Insper / Mbed 2 deprecated L6206_adress

Dependencies:   mbed

Committer:
Marcelocostanzo
Date:
Fri Mar 06 18:54:17 2020 +0000
Revision:
1:14cd9d276832
Parent:
0:efeca84ca0a5
Funcionando

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Marcelocostanzo 0:efeca84ca0a5 1 #include "mbed.h"
Marcelocostanzo 0:efeca84ca0a5 2
Marcelocostanzo 0:efeca84ca0a5 3 DigitalIn BT(BUTTON1);
Marcelocostanzo 0:efeca84ca0a5 4 //DigitalOut led(LED1);
Marcelocostanzo 0:efeca84ca0a5 5
Marcelocostanzo 1:14cd9d276832 6 DigitalOut IN1_MOTOR1(D2);
Marcelocostanzo 1:14cd9d276832 7 DigitalOut IN2_MOTOR1(D4);
Marcelocostanzo 1:14cd9d276832 8
Marcelocostanzo 0:efeca84ca0a5 9
Marcelocostanzo 1:14cd9d276832 10 DigitalOut IN1_MOTOR2(D7);
Marcelocostanzo 1:14cd9d276832 11 DigitalOut IN2_MOTOR2(D8);
Marcelocostanzo 1:14cd9d276832 12
Marcelocostanzo 1:14cd9d276832 13 DigitalOut EN_MOTOR_X(D3);
Marcelocostanzo 1:14cd9d276832 14 DigitalOut EN_MOTOR_Y(D5);
Marcelocostanzo 1:14cd9d276832 15 DigitalOut EN_MOTOR_Z(D6);
Marcelocostanzo 0:efeca84ca0a5 16
Marcelocostanzo 0:efeca84ca0a5 17 Serial pc(USBTX, USBRX); // tx, rx
Marcelocostanzo 0:efeca84ca0a5 18
Marcelocostanzo 1:14cd9d276832 19 void steps_motor(int STEPS_AMOUNT, int DIRECTION, int SPEED, int AXIS); //speed = passos por segundo
Marcelocostanzo 1:14cd9d276832 20
Marcelocostanzo 1:14cd9d276832 21 int step = 1;
Marcelocostanzo 0:efeca84ca0a5 22
Marcelocostanzo 0:efeca84ca0a5 23 int main()
Marcelocostanzo 0:efeca84ca0a5 24 {
Marcelocostanzo 1:14cd9d276832 25 pc.baud(115200);
Marcelocostanzo 0:efeca84ca0a5 26 pc.printf("Iniciando...\n\r");
Marcelocostanzo 1:14cd9d276832 27 wait_ms(1000);
Marcelocostanzo 0:efeca84ca0a5 28
Marcelocostanzo 1:14cd9d276832 29 steps_motor(200, 0, 50, 1);
Marcelocostanzo 1:14cd9d276832 30 steps_motor(200, 1, 50, 2);
Marcelocostanzo 1:14cd9d276832 31 steps_motor(200, 0, 50, 3);
Marcelocostanzo 1:14cd9d276832 32
Marcelocostanzo 0:efeca84ca0a5 33
Marcelocostanzo 0:efeca84ca0a5 34 while(1)
Marcelocostanzo 1:14cd9d276832 35 {
Marcelocostanzo 1:14cd9d276832 36 if(BT == 0)
Marcelocostanzo 1:14cd9d276832 37 {
Marcelocostanzo 1:14cd9d276832 38 steps_motor(1, 0, 10, 3);
Marcelocostanzo 1:14cd9d276832 39 wait(0.1);
Marcelocostanzo 1:14cd9d276832 40 }
Marcelocostanzo 0:efeca84ca0a5 41 }
Marcelocostanzo 0:efeca84ca0a5 42 }
Marcelocostanzo 1:14cd9d276832 43
Marcelocostanzo 1:14cd9d276832 44
Marcelocostanzo 1:14cd9d276832 45
Marcelocostanzo 1:14cd9d276832 46 void steps_motor(int STEPS_AMOUNT, int DIRECTION, int SPEED, int AXIS)
Marcelocostanzo 1:14cd9d276832 47 {
Marcelocostanzo 1:14cd9d276832 48 if(AXIS == 1)
Marcelocostanzo 1:14cd9d276832 49 {
Marcelocostanzo 1:14cd9d276832 50 EN_MOTOR_X = 1;
Marcelocostanzo 1:14cd9d276832 51 }
Marcelocostanzo 1:14cd9d276832 52
Marcelocostanzo 1:14cd9d276832 53 if(AXIS == 2)
Marcelocostanzo 1:14cd9d276832 54 {
Marcelocostanzo 1:14cd9d276832 55 EN_MOTOR_Y = 1;
Marcelocostanzo 1:14cd9d276832 56 }
Marcelocostanzo 1:14cd9d276832 57
Marcelocostanzo 1:14cd9d276832 58 if(AXIS == 3)
Marcelocostanzo 1:14cd9d276832 59 {
Marcelocostanzo 1:14cd9d276832 60 EN_MOTOR_Z = 1;
Marcelocostanzo 1:14cd9d276832 61 }
Marcelocostanzo 1:14cd9d276832 62
Marcelocostanzo 1:14cd9d276832 63 SPEED = 1000 / SPEED;
Marcelocostanzo 1:14cd9d276832 64 SPEED = SPEED / 4;
Marcelocostanzo 1:14cd9d276832 65
Marcelocostanzo 1:14cd9d276832 66 if(DIRECTION == 0)
Marcelocostanzo 1:14cd9d276832 67 {
Marcelocostanzo 1:14cd9d276832 68 while(STEPS_AMOUNT != 0)
Marcelocostanzo 1:14cd9d276832 69 {
Marcelocostanzo 1:14cd9d276832 70 if((step == 1) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 71 {
Marcelocostanzo 1:14cd9d276832 72 IN1_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 73 IN2_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 74 IN1_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 75 IN2_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 76 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 77 step++;
Marcelocostanzo 1:14cd9d276832 78 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 79 pc.printf("\n\r STEPS_AMOUNT 1: %i",STEPS_AMOUNT);
Marcelocostanzo 1:14cd9d276832 80 }
Marcelocostanzo 1:14cd9d276832 81
Marcelocostanzo 1:14cd9d276832 82 if((step == 2) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 83 {
Marcelocostanzo 1:14cd9d276832 84 IN1_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 85 IN2_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 86 IN1_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 87 IN2_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 88 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 89 step++;
Marcelocostanzo 1:14cd9d276832 90 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 91 pc.printf("\n\r STEPS_AMOUNT 2: %i",STEPS_AMOUNT);
Marcelocostanzo 1:14cd9d276832 92 }
Marcelocostanzo 1:14cd9d276832 93
Marcelocostanzo 1:14cd9d276832 94 if((step == 3) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 95 {
Marcelocostanzo 1:14cd9d276832 96 IN1_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 97 IN2_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 98 IN1_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 99 IN2_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 100 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 101 step++;
Marcelocostanzo 1:14cd9d276832 102 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 103 pc.printf("\n\r STEPS_AMOUNT 3: %i",STEPS_AMOUNT);
Marcelocostanzo 1:14cd9d276832 104 }
Marcelocostanzo 1:14cd9d276832 105
Marcelocostanzo 1:14cd9d276832 106 if((step == 4) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 107 {
Marcelocostanzo 1:14cd9d276832 108 IN1_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 109 IN2_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 110 IN1_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 111 IN2_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 112 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 113 step++;
Marcelocostanzo 1:14cd9d276832 114 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 115 pc.printf("\n\r STEPS_AMOUNT 4: %i",STEPS_AMOUNT);
Marcelocostanzo 1:14cd9d276832 116 }
Marcelocostanzo 1:14cd9d276832 117
Marcelocostanzo 1:14cd9d276832 118 if(step > 4)
Marcelocostanzo 1:14cd9d276832 119 {
Marcelocostanzo 1:14cd9d276832 120 step = 1;
Marcelocostanzo 1:14cd9d276832 121 }
Marcelocostanzo 1:14cd9d276832 122 }
Marcelocostanzo 1:14cd9d276832 123 pc.printf("\n\r Acabei");
Marcelocostanzo 1:14cd9d276832 124 }
Marcelocostanzo 1:14cd9d276832 125
Marcelocostanzo 1:14cd9d276832 126 if(DIRECTION == 1)
Marcelocostanzo 1:14cd9d276832 127 {
Marcelocostanzo 1:14cd9d276832 128 while(STEPS_AMOUNT > 0)
Marcelocostanzo 1:14cd9d276832 129 {
Marcelocostanzo 1:14cd9d276832 130 if((step == 1) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 131 {
Marcelocostanzo 1:14cd9d276832 132 IN1_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 133 IN2_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 134 IN1_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 135 IN2_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 136 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 137 step++;
Marcelocostanzo 1:14cd9d276832 138 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 139 }
Marcelocostanzo 1:14cd9d276832 140
Marcelocostanzo 1:14cd9d276832 141 if((step == 2) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 142 {
Marcelocostanzo 1:14cd9d276832 143 IN1_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 144 IN2_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 145 IN1_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 146 IN2_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 147 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 148 step++;
Marcelocostanzo 1:14cd9d276832 149 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 150 }
Marcelocostanzo 1:14cd9d276832 151
Marcelocostanzo 1:14cd9d276832 152 if((step == 3) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 153 {
Marcelocostanzo 1:14cd9d276832 154 IN1_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 155 IN2_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 156 IN1_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 157 IN2_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 158 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 159 step++;
Marcelocostanzo 1:14cd9d276832 160 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 161 }
Marcelocostanzo 1:14cd9d276832 162
Marcelocostanzo 1:14cd9d276832 163 if((step == 4) && (STEPS_AMOUNT > 0))
Marcelocostanzo 1:14cd9d276832 164 {
Marcelocostanzo 1:14cd9d276832 165 IN1_MOTOR1 = 1;
Marcelocostanzo 1:14cd9d276832 166 IN2_MOTOR1 = 0;
Marcelocostanzo 1:14cd9d276832 167 IN1_MOTOR2 = 1;
Marcelocostanzo 1:14cd9d276832 168 IN2_MOTOR2 = 0;
Marcelocostanzo 1:14cd9d276832 169 wait_ms(SPEED);
Marcelocostanzo 1:14cd9d276832 170 step++;
Marcelocostanzo 1:14cd9d276832 171 STEPS_AMOUNT--;
Marcelocostanzo 1:14cd9d276832 172 }
Marcelocostanzo 1:14cd9d276832 173
Marcelocostanzo 1:14cd9d276832 174 if(step > 4)
Marcelocostanzo 1:14cd9d276832 175 {
Marcelocostanzo 1:14cd9d276832 176 step = 1;
Marcelocostanzo 1:14cd9d276832 177 }
Marcelocostanzo 1:14cd9d276832 178
Marcelocostanzo 1:14cd9d276832 179 }
Marcelocostanzo 1:14cd9d276832 180 }
Marcelocostanzo 1:14cd9d276832 181 EN_MOTOR_X = 0;
Marcelocostanzo 1:14cd9d276832 182 EN_MOTOR_Y = 0;
Marcelocostanzo 1:14cd9d276832 183 EN_MOTOR_Z = 0;
Marcelocostanzo 1:14cd9d276832 184 }