Hauptprogramm
Dependencies: ILI9340_Driver_Lib PM2_Libary Lib_DFPlayerMini
Servo/servo_bewegung.cpp
- Committer:
- ackerden
- Date:
- 2021-05-05
- Revision:
- 30:39a53ed11b7d
- Parent:
- 26:caa4fab7023e
File content as of revision 30:39a53ed11b7d:
#include "mbed.h" #include "Servo.h" #include "servo_bewegung.h" #define RIGHT 1200 #define MID 1000 #define MAX 2000 #define LEFT 800 #define STEP 25 //Time delay between steps in milliseconds #define TIME 100 void bewegung(int servo_id){ switch(servo_id) { case 1:{ Servo servo1(PA_0/*PB_2*/); servo1.Enable(MID,MAX); //Servo Bewegung for (int pos = MID; pos > LEFT; pos -= STEP) { servo1.SetPosition(pos); thread_sleep_for(TIME); } for(int j=0; j<2; j++){ for (int pos = LEFT; pos < RIGHT; pos += STEP) { servo1.SetPosition(pos); thread_sleep_for(TIME); } for (int pos = RIGHT; pos > LEFT; pos -= STEP) { servo1.SetPosition(pos); thread_sleep_for(TIME); } } for (int pos = LEFT; pos < MID; pos += STEP) { servo1.SetPosition(pos); thread_sleep_for(TIME); } thread_sleep_for(TIME); servo1.Disable(); break; } case 2:{ Servo servo2(PA_1/*PC_8*/); servo2.Enable(MID,MAX); //Servo Bewegung for (int pos = MID; pos > LEFT; pos -= STEP) { servo2.SetPosition(pos); thread_sleep_for(TIME); } for(int j=0; j<2; j++){ for (int pos = LEFT; pos < RIGHT; pos += STEP) { servo2.SetPosition(pos); thread_sleep_for(TIME); } for (int pos = RIGHT; pos > LEFT; pos -= STEP) { servo2.SetPosition(pos); thread_sleep_for(TIME); } } for (int pos = LEFT; pos < MID; pos += STEP) { servo2.SetPosition(pos); thread_sleep_for(TIME); } thread_sleep_for(TIME); servo2.Disable(); break; } case 3:{ Servo servo3(PA_4/*PC_6*/); servo3.Enable(MID,MAX); //Servo Bewegung for (int pos = MID; pos > LEFT; pos -= STEP) { servo3.SetPosition(pos); thread_sleep_for(TIME); } for(int j=0; j<2; j++){ for (int pos = LEFT; pos < RIGHT; pos += STEP) { servo3.SetPosition(pos); thread_sleep_for(TIME); } for (int pos = RIGHT; pos > LEFT; pos -= STEP) { servo3.SetPosition(pos); thread_sleep_for(TIME); } } for (int pos = LEFT; pos < MID; pos += STEP) { servo3.SetPosition(pos); thread_sleep_for(TIME); } thread_sleep_for(TIME); servo3.Disable(); break; } default:{ printf("servo not found"); break; } } }