kkkk

Dependencies:   mbed speedservo

Files at this revision

API Documentation at this revision

Comitter:
kenken0721
Date:
Sat Jan 19 14:55:42 2019 +0000
Parent:
0:158455b60200
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
speedservo.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 158455b60200 -r 681efc14eba9 main.cpp
--- a/main.cpp	Sat Jan 19 12:13:21 2019 +0000
+++ b/main.cpp	Sat Jan 19 14:55:42 2019 +0000
@@ -1,46 +1,46 @@
 #include "mbed.h"
 #include "speedservo.h"
-
+ 
 //肘
 Servo RFelbow(PA_13);
 Servo LFelbow(PA_15);
 Servo RBelbow(PC_2);
 Servo LBelbow(PC_13);
-
+ 
 //膝
 Servo RFknee(PA_14);
 Servo LFknee(PC_1);
 Servo RBknee(PC_3);
 Servo LBknee(PC_7);
-
+ 
 //肩
 Serial SerialServo(PC_4,PA_10);
-
+ 
 DigitalIn Dmode(PB_13);//歩行方向変更
 DigitalIn start_button(PB_2);
-
+ 
 AnalogIn var(PC_0);
 Serial PC(USBTX,USBRX);
-
+ 
 int ser_spe[4] = {32,32,32,32};
 int ser_pos[4] = {135,135,135,135};
 int now_pos[4] = {};
-
+ 
 int prePos = 2000;
 int behPos = 1700;
 int upPos = 850;
 int downPos = 1350;
-
+ 
 float fmap(float x, float in_min, float in_max, float out_min, float out_max){
   return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
 }
-
-
+ 
+ 
 void serServoMove(int num,int angle,int speed){
     ser_spe[num] = speed;
     ser_pos[num] = angle;
 }
-
+ 
 void bluepill_rx(){
     if(SerialServo.readable()){
         int request = SerialServo.getc();
@@ -64,49 +64,49 @@
     */
     
 }
-
+ 
 void RFmove(int position,int speed){
     if(2350 <= position){
         position = 2350;
     }
-    RFelbow.SpeedConvert(speed);
-    RFelbow.SetPosition(fmap(position,850,2350,2350,850));
+    //RFelbow.SpeedConvert(speed);
+    RFelbow.SetPosition(fmap(position,850,2350,2350,850),speed);
 }
-
+ 
 void LFmove(int position,int speed){
     if(2350 <= position){
         position = 2350;
     }
     
-    LFelbow.SpeedConvert(speed);
-    LFelbow.SetPosition(position);
+    //LFelbow.SpeedConvert(speed);
+    LFelbow.SetPosition(position,speed);
 }
-
+ 
 void RBmove(int position,int speed){
     if(2350 <= position){
         position = 2350;
     }
     
-    RBelbow.SpeedConvert(speed);
-    RBelbow.SetPosition(position);
+    //RBelbow.SpeedConvert(speed);
+    RBelbow.SetPosition(position,speed);
 }
-
+ 
 void LBmove(int position,int speed){
     if(2350 <= position){
         position = 2350;
     }
     
-    LBelbow.SpeedConvert(speed);
-    LBelbow.SetPosition(fmap(position,850,2350,2350,850));
+    //LBelbow.SpeedConvert(speed);
+    LBelbow.SetPosition(fmap(position,850,2350,2350,850),speed);
 }
-
+ 
 void forwarding(){
     RFmove(1600,3);
     LFmove(1600,3);
     RBmove(2200,3);
     LBmove(2200,3);
 }
-
+ 
 float angle = 0;
 int main() {
     //初期設定
@@ -117,12 +117,12 @@
     LFelbow.Enable(behPos,330,10);
     RBelbow.Enable(prePos,330,10);
     LBelbow.Enable(fmap(prePos,850,2350,2350,850),330,10);
-
+ 
     RFknee.Enable(downPos,330,50);
     LFknee.Enable(downPos,330,50);
     RBknee.Enable(downPos-100,330,50);
     LBknee.Enable(downPos-100,330,50);
-
+ 
     serServoMove(0,135,100);
     serServoMove(1,135,100);
     serServoMove(2,135,100);
@@ -130,31 +130,60 @@
     forwarding();
     wait(5);
     while (true) {
-        angle = int(20*var);
-        PC.printf("%f \n",angle);        
-        centerMove(angle,0);
-        RBknee.SetPosition(downPos -(var*300));
-        LBknee.SetPosition(downPos -(var*300));
+        //angle = int(20*var);
+        //PC.printf("%f \n",angle);        
+        RBknee.SetPosition(downPos - 300,10);
+        LBknee.SetPosition(downPos - 300,10);
         
         if(Dmode == true){
-            //RFmove(prePos,50);
-            RFknee.SetPosition(upPos);
+            /*
+            centerMove(20,0);
+            wait(2.0);
+            RBknee.SetPosition(upPos-100,10);
+            wait(2.0);
+            RBmove(behPos,25);
             wait(2.0);
-            RFmove(2350,10);
+            //RFmove(2350,10);
+            //wait(2.0);
+            RFknee.SetPosition(downPos-100,10);
             wait(2.0);
-            RFknee.SetPosition(downPos);
+            */
+            
+            centerMove(20,0);
+            wait(2.0);
+            RFknee.SetPosition(upPos,10);
             wait(2.0);
             RFmove(prePos,25);
             wait(2.0);
+            //RFmove(2350,10);
+            //wait(2.0);
+            RFknee.SetPosition(downPos,10);
+            wait(2.0);
+            
+            centerMove(-20,0);
+            wait(2.0);
+            LFknee.SetPosition(upPos,10);
+            wait(2.0);
+            LFmove(prePos,25);
+            wait(2.0);
+            LFknee.SetPosition(downPos,10);
+            wait(2.0);
+            
             centerMove(0,0);
-            RBknee.SetPosition(downPos);
-            LBknee.SetPosition(downPos);
+            wait(2.0);
             
-            RBknee.SetPosition(downPos);
-            LBknee.SetPosition(downPos);
+            RBknee.SetPosition(downPos,10);
+            LBknee.SetPosition(downPos,10);
+            RBknee.SetPosition(downPos-300,10);
+            LBknee.SetPosition(downPos-300,10);
+            
+            //RBknee.SpeedConvert(10);
+            //LBknee.SpeedConvert(10);
+            wait(3.0);
+            
             
         }else{
-            RFknee.SetPosition(downPos);
+            RFknee.SetPosition(downPos,10);
             forwarding();
         }
         
diff -r 158455b60200 -r 681efc14eba9 speedservo.lib
--- a/speedservo.lib	Sat Jan 19 12:13:21 2019 +0000
+++ b/speedservo.lib	Sat Jan 19 14:55:42 2019 +0000
@@ -1,1 +1,1 @@
-https://os.mbed.com/users/kenken0721/code/speedservo/#b583163ca5b3
+https://os.mbed.com/users/kenken0721/code/speedservo/#331042d0fbff