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

Dependencies:   mbed Servo Pulse1

Revision:
3:c47e538f3aec
Parent:
2:4e3761881124
Child:
4:c9fda60b0332
--- a/main.cpp	Sat Dec 21 08:32:27 2019 +0000
+++ b/main.cpp	Sat Dec 21 08:52:52 2019 +0000
@@ -47,14 +47,14 @@
         
         
         printf("raw1=%.0f mV\t", raw1);
-        mod1 =  map(raw1, 1450, 1000, 0, 100); // 후진
-        mod2 =  map(raw1, 1550, 2000, 0, 100); // 전진
+        mod1 =  map(raw1, 1450, 1000, 0, 60); // 후진 //PWM 150을 변환
+        mod2 =  map(raw1, 1550, 2000, 0, 60); // 전진 //PWM 150을 변환
         
         
         
         printf("raw2=%.0f mV\t", raw2);
-        mod3 =  map(raw2, 1450, 1000, 0, 100); // 좌회전
-        mod4 =  map(raw2, 1550, 2000, 0, 100); // 우회전
+        mod3 =  map(raw2, 1450, 1000, 0, 60); // 좌회전 //PWM 150을 변환
+        mod4 =  map(raw2, 1550, 2000, 0, 60); // 우회전 //PWM 150을 변환
         
         printf("raw3=%.0f mV\t", raw3);
         mod5 =  map(raw3, 920, 2080, 0, 100);
@@ -79,26 +79,39 @@
         printf("measure5 = %f mV\n", mod5);
         
         
-        if(mod3 > 2) {
+        if(mod3 > 0.02) { // 2
             mod4 = 0;
             }
             
-        if(mod4 > 2) {
+        if(mod4 > 0.02) { // 2
             mod3 = 0;
             }
             
         
-        float bldc_l, bldc_r;
+        float bldc_l, bldc_r; // bldc 왼쪽 오른쪽 선언
         bldc_l = mod1 - mod3 + mod4;
         bldc_r = mod1 + mod3 - mod4;
         
+        if(bldc_l >= 0.6) { // PWM 150을 변환
+            bldc_l = 0.6;
+            }
+        if(bldc_l <= 0.08) { // PWM 20을 변환
+            bldc_l = 0;
+            }
+            
+        if(bldc_r >= 0.6) { // PWM 150을 변환
+            bldc_r = 0.6;
+            }
+        if(bldc_r <= 0.08) { // PWM 20을 변환
+            bldc_r = 0;
+            }
         
-        bldc_left.write(mod1);
-        bldc_right.write(mod2);
+        bldc_left.write(bldc_l);
+        bldc_right.write(bldc_r);
         
 
-        led_left.write(mod1);
-        led_right.write(mod2);
+        led_left.write(bldc_l);
+        led_right.write(bldc_r);
         }
 }