If you want to use BLDC with FUTABA without going backward, use it

Dependencies:   mbed Servo Pulse1

Committer:
kyucheol
Date:
Fri Dec 20 07:32:15 2019 +0000
Revision:
0:b806d9855f21
Child:
1:1e4ebe0da2ea
14

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kyucheol 0:b806d9855f21 1 #include "mbed.h"
kyucheol 0:b806d9855f21 2 #include "Servo.h"
kyucheol 0:b806d9855f21 3 #include "Map.h"
kyucheol 0:b806d9855f21 4
kyucheol 0:b806d9855f21 5
kyucheol 0:b806d9855f21 6
kyucheol 0:b806d9855f21 7 PwmOut led_left(LED1); //확인용 LED1
kyucheol 0:b806d9855f21 8 PwmOut led_right(LED2); //확인용 LED2
kyucheol 0:b806d9855f21 9
kyucheol 0:b806d9855f21 10 Servo bldc_left(D12); // 왼쪽 BLDC
kyucheol 0:b806d9855f21 11 Servo bldc_right(PC_7); // 오른쪽 BLDC
kyucheol 0:b806d9855f21 12
kyucheol 0:b806d9855f21 13 AnalogIn joystick_X(A0);
kyucheol 0:b806d9855f21 14 AnalogIn joystick_Y(A1);
kyucheol 0:b806d9855f21 15
kyucheol 0:b806d9855f21 16 int main() {
kyucheol 0:b806d9855f21 17 bldc_left.write(0); // BLDC 초기 설정
kyucheol 0:b806d9855f21 18 bldc_right.write(0);
kyucheol 0:b806d9855f21 19
kyucheol 0:b806d9855f21 20 led_left = 1;
kyucheol 0:b806d9855f21 21 led_right=1;
kyucheol 0:b806d9855f21 22
kyucheol 0:b806d9855f21 23 wait(0.5);
kyucheol 0:b806d9855f21 24
kyucheol 0:b806d9855f21 25 bldc_left.write(1);
kyucheol 0:b806d9855f21 26 bldc_right.write(1);
kyucheol 0:b806d9855f21 27
kyucheol 0:b806d9855f21 28 led_left =0;
kyucheol 0:b806d9855f21 29 led_right=0;
kyucheol 0:b806d9855f21 30 wait(2);
kyucheol 0:b806d9855f21 31
kyucheol 0:b806d9855f21 32 bldc_left.write(0);
kyucheol 0:b806d9855f21 33 bldc_right.write(0);
kyucheol 0:b806d9855f21 34 wait(2);
kyucheol 0:b806d9855f21 35
kyucheol 0:b806d9855f21 36 float raw1,raw2;
kyucheol 0:b806d9855f21 37 float mod1,mod2;
kyucheol 0:b806d9855f21 38 printf("\nBLDC Setup & end\n");
kyucheol 0:b806d9855f21 39
kyucheol 0:b806d9855f21 40 while (1) {
kyucheol 0:b806d9855f21 41
kyucheol 0:b806d9855f21 42 raw1 = joystick_X.read();
kyucheol 0:b806d9855f21 43 raw2 = joystick_Y.read();
kyucheol 0:b806d9855f21 44 raw1 = raw1 * 1000;
kyucheol 0:b806d9855f21 45 raw2 = raw2 * 1000;
kyucheol 0:b806d9855f21 46
kyucheol 0:b806d9855f21 47 printf("measure1 = %.0f mV\t", raw1);
kyucheol 0:b806d9855f21 48 mod1 = map(raw1, 520, 1000, 0, 100);
kyucheol 0:b806d9855f21 49
kyucheol 0:b806d9855f21 50 printf("measure2 = %.0f mV\t", raw2);
kyucheol 0:b806d9855f21 51 mod2 = map(raw2, 520, 1000, 0, 100);
kyucheol 0:b806d9855f21 52
kyucheol 0:b806d9855f21 53
kyucheol 0:b806d9855f21 54
kyucheol 0:b806d9855f21 55 printf("measure1 = %.0f mV\t", mod1);
kyucheol 0:b806d9855f21 56 printf("measure2 = %.0f mV\t", mod2);
kyucheol 0:b806d9855f21 57
kyucheol 0:b806d9855f21 58 mod1 = mod1/100;
kyucheol 0:b806d9855f21 59 mod2 = mod2/100;
kyucheol 0:b806d9855f21 60 printf("measure1 = %f mV\n", mod1);
kyucheol 0:b806d9855f21 61 printf("measure2 = %f mV\t", mod2);
kyucheol 0:b806d9855f21 62
kyucheol 0:b806d9855f21 63 bldc_left.write(mod1);
kyucheol 0:b806d9855f21 64 bldc_right.write(mod2);
kyucheol 0:b806d9855f21 65
kyucheol 0:b806d9855f21 66
kyucheol 0:b806d9855f21 67 led_left.write(mod1);
kyucheol 0:b806d9855f21 68 led_right.write(mod2);
kyucheol 0:b806d9855f21 69 }
kyucheol 0:b806d9855f21 70 }