malin

Dependencies:   Servo mbed mbed-rtos

Committer:
Khanchana
Date:
Sun Apr 01 14:12:15 2018 +0000
Revision:
2:68dbcd5277e4
Parent:
1:da79761252bc
Child:
3:64bfd330beb4
Servo without thread

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Khanchana 0:596de9a5c573 1 #include "mbed.h"
Khanchana 0:596de9a5c573 2 #include "Servo.h"
Khanchana 1:da79761252bc 3 #include "rtos.h"
Khanchana 2:68dbcd5277e4 4
Khanchana 2:68dbcd5277e4 5 Serial pc(USBTX, USBRX);
Khanchana 0:596de9a5c573 6
Khanchana 2:68dbcd5277e4 7 Servo Servo1(D6);
Khanchana 2:68dbcd5277e4 8 Servo Servo2(D8);
Khanchana 1:da79761252bc 9 Servo Servo3(D9);
Khanchana 2:68dbcd5277e4 10 Servo Servo4(D10);
Khanchana 2:68dbcd5277e4 11
Khanchana 2:68dbcd5277e4 12 void myservoLeft();
Khanchana 1:da79761252bc 13
Khanchana 2:68dbcd5277e4 14 int pos_down = 1400;
Khanchana 2:68dbcd5277e4 15 int pos_up = 1000;
Khanchana 2:68dbcd5277e4 16 int pos_down_end = 1700;
Khanchana 2:68dbcd5277e4 17 int pos_up_end = 1700;
Khanchana 2:68dbcd5277e4 18
Khanchana 2:68dbcd5277e4 19 int main() {
Khanchana 2:68dbcd5277e4 20 pc.baud(9600);
Khanchana 2:68dbcd5277e4 21 wait(5);
Khanchana 2:68dbcd5277e4 22 Servo1.Enable(1000,2000);
Khanchana 2:68dbcd5277e4 23 Servo2.Enable(1000,2000);
Khanchana 2:68dbcd5277e4 24 Servo3.Enable(1000,2000);
Khanchana 2:68dbcd5277e4 25 Servo4.Enable(1000,2000);
Khanchana 1:da79761252bc 26 while(1){
Khanchana 2:68dbcd5277e4 27 myservoLeft();
Khanchana 2:68dbcd5277e4 28 if(pos_down <= pos_down_end and pos_up == 1000){
Khanchana 2:68dbcd5277e4 29 Servo1.SetPosition(pos_down);
Khanchana 2:68dbcd5277e4 30 pos_down = pos_down+2;
Khanchana 1:da79761252bc 31 }
Khanchana 2:68dbcd5277e4 32 else if(pos_down == pos_down_end+2 and pos_up <= 1700){
Khanchana 2:68dbcd5277e4 33 Servo2.SetPosition(pos_up);
Khanchana 2:68dbcd5277e4 34 pos_up = pos_up+2;
Khanchana 1:da79761252bc 35 }
Khanchana 2:68dbcd5277e4 36 else if(pos_down >= 1400 and pos_up == pos_up_end+2){
Khanchana 2:68dbcd5277e4 37 Servo1.SetPosition(pos_down);
Khanchana 2:68dbcd5277e4 38 pos_down = pos_down-2;
Khanchana 1:da79761252bc 39 }
Khanchana 2:68dbcd5277e4 40 else if(pos_down == 1398 and pos_up > 1000){
Khanchana 2:68dbcd5277e4 41 Servo2.SetPosition(pos_up);
Khanchana 2:68dbcd5277e4 42 pos_up = pos_up-2;
Khanchana 2:68dbcd5277e4 43 }
Khanchana 1:da79761252bc 44 }
Khanchana 1:da79761252bc 45 }
Khanchana 2:68dbcd5277e4 46
Khanchana 2:68dbcd5277e4 47 void myservoLeft()
Khanchana 2:68dbcd5277e4 48 {
Khanchana 2:68dbcd5277e4 49 if(pos_down <= pos_down_end and pos_up == 1000){
Khanchana 2:68dbcd5277e4 50 Servo3.SetPosition(pos_down);
Khanchana 2:68dbcd5277e4 51 pos_down = pos_down+2;
Khanchana 0:596de9a5c573 52 }
Khanchana 2:68dbcd5277e4 53 else if(pos_down == pos_down_end+2 and pos_up <= 1700){
Khanchana 2:68dbcd5277e4 54 Servo4.SetPosition(pos_up);
Khanchana 2:68dbcd5277e4 55 pos_up = pos_up+2;
Khanchana 0:596de9a5c573 56 }
Khanchana 2:68dbcd5277e4 57 else if(pos_down >= 1400 and pos_up == pos_up_end+2){
Khanchana 2:68dbcd5277e4 58 Servo3.SetPosition(pos_down);
Khanchana 2:68dbcd5277e4 59 pos_down = pos_down-2;
Khanchana 1:da79761252bc 60 }
Khanchana 2:68dbcd5277e4 61 else if(pos_down == 1398 and pos_up > 1000){
Khanchana 2:68dbcd5277e4 62 Servo4.SetPosition(pos_up);
Khanchana 2:68dbcd5277e4 63 pos_up = pos_up-2;
Khanchana 2:68dbcd5277e4 64 }
Khanchana 2:68dbcd5277e4 65 }