servo

Dependencies:   Servo mbed tsi_sensor SLCD

Committer:
sim2egor
Date:
Tue Mar 22 17:00:58 2016 +0000
Revision:
1:854f2f39affd
Parent:
0:f5fd64350b21
ALL NEW

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sim2egor 1:854f2f39affd 1 #include "mbed.h"
sim2egor 0:f5fd64350b21 2 #include "tsi_sensor.h"
sim2egor 0:f5fd64350b21 3 #include "Servo.h"
sim2egor 1:854f2f39affd 4 #include "SLCD.h"
sim2egor 0:f5fd64350b21 5
sim2egor 0:f5fd64350b21 6 //для FRDM-46Z slider
sim2egor 0:f5fd64350b21 7 #define ELEC0 9
sim2egor 0:f5fd64350b21 8 #define ELEC1 10
sim2egor 0:f5fd64350b21 9
sim2egor 1:854f2f39affd 10 //DigitalOut gpo(D0);
sim2egor 1:854f2f39affd 11 //DigitalOut gpo(D1);
sim2egor 1:854f2f39affd 12 //Servo myservo(D0);
sim2egor 1:854f2f39affd 13 SLCD slcd;
sim2egor 1:854f2f39affd 14 InterruptIn sw2(SW1);
sim2egor 0:f5fd64350b21 15 Servo myservo(D0);
sim2egor 1:854f2f39affd 16 PwmOut led(D1);
sim2egor 1:854f2f39affd 17 int Flag=0;
sim2egor 1:854f2f39affd 18 void sw2_release(void)
sim2egor 1:854f2f39affd 19 {
sim2egor 1:854f2f39affd 20 Flag=1;
sim2egor 1:854f2f39affd 21 }
sim2egor 1:854f2f39affd 22
sim2egor 0:f5fd64350b21 23 int main()
sim2egor 0:f5fd64350b21 24 {
sim2egor 1:854f2f39affd 25 int angle =30;
sim2egor 1:854f2f39affd 26 // TSIAnalogSlider tsi(ELEC0, ELEC1, 40);
sim2egor 1:854f2f39affd 27 float delay1= 0.02f;
sim2egor 1:854f2f39affd 28 sw2.rise(&sw2_release);
sim2egor 0:f5fd64350b21 29 while (true) {
sim2egor 1:854f2f39affd 30 for(int i=0; i<100;i++)
sim2egor 1:854f2f39affd 31 {
sim2egor 1:854f2f39affd 32 if(Flag) goto a1;
sim2egor 1:854f2f39affd 33 led = 1.0 - i/100;
sim2egor 1:854f2f39affd 34 for( int j=0; j<=angle; j++)
sim2egor 1:854f2f39affd 35 {
sim2egor 1:854f2f39affd 36 myservo.position((float)j);
sim2egor 1:854f2f39affd 37 wait(delay1);
sim2egor 1:854f2f39affd 38 }
sim2egor 1:854f2f39affd 39
sim2egor 1:854f2f39affd 40 for( int j=angle; j>=-angle; j--)
sim2egor 1:854f2f39affd 41 {
sim2egor 1:854f2f39affd 42 myservo.position((float)j);
sim2egor 1:854f2f39affd 43 slcd.Home();
sim2egor 1:854f2f39affd 44 slcd.printf("%d",j);
sim2egor 1:854f2f39affd 45
sim2egor 1:854f2f39affd 46 wait(delay1);
sim2egor 1:854f2f39affd 47 }
sim2egor 1:854f2f39affd 48 for( int j=-angle; j<=0; j++)
sim2egor 1:854f2f39affd 49 {
sim2egor 1:854f2f39affd 50 myservo.position((float)j);
sim2egor 1:854f2f39affd 51 wait(delay1);
sim2egor 1:854f2f39affd 52 }
sim2egor 1:854f2f39affd 53
sim2egor 1:854f2f39affd 54 }
sim2egor 1:854f2f39affd 55
sim2egor 0:f5fd64350b21 56 }
sim2egor 1:854f2f39affd 57 a1: myservo.position(0.0f);
sim2egor 1:854f2f39affd 58 while (1){
sim2egor 1:854f2f39affd 59 };
sim2egor 0:f5fd64350b21 60 }