test

Dependencies:   Servo

Committer:
gorazdko
Date:
Sun Jun 02 09:02:34 2019 +0000
Revision:
45:200518382f20
Parent:
44:50aa0a0d1222
Child:
46:f7d5c27c09f5
OK

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 3:2757d7abb7d9 1 #include "mbed.h"
gorazdko 43:bda92a299378 2 //Program to 'sweep' test a 'standard RC type servo
gorazdko 43:bda92a299378 3 //Define some parameters using compiler directive '#define'
gorazdko 43:bda92a299378 4 //Check Servo DATA if 0.75ms to 2.25ms then use min=750 and max=2250
gorazdko 43:bda92a299378 5 //NB be values in microseconds (Following are generic values)
gorazdko 43:bda92a299378 6 #define MID 1500
gorazdko 43:bda92a299378 7 #define MIN 544
gorazdko 43:bda92a299378 8 #define MAX 2400
gorazdko 43:bda92a299378 9 #define STEP 50
gorazdko 43:bda92a299378 10 //Time delay between steps in milliseconds
gorazdko 43:bda92a299378 11 #define TIME 20 //100
gorazdko 43:bda92a299378 12
Jonathan Austin 3:2757d7abb7d9 13
gorazdko 43:bda92a299378 14 #define DELTA 50
gorazdko 43:bda92a299378 15
gorazdko 43:bda92a299378 16 DigitalOut myLed(LED1);
gorazdko 43:bda92a299378 17 DigitalIn myButton(USER_BUTTON);
gorazdko 43:bda92a299378 18
gorazdko 43:bda92a299378 19 PwmOut myServo(D3);
gorazdko 43:bda92a299378 20
gorazdko 43:bda92a299378 21
gorazdko 43:bda92a299378 22
Jonathan Austin 3:2757d7abb7d9 23
gorazdko 43:bda92a299378 24 void motor_on(void)
gorazdko 43:bda92a299378 25 {
gorazdko 43:bda92a299378 26
gorazdko 43:bda92a299378 27 //myServo.period_ms(20);
gorazdko 43:bda92a299378 28 myServo.pulsewidth_us(MID); //NB in microseconds
gorazdko 43:bda92a299378 29
gorazdko 43:bda92a299378 30 }
gorazdko 43:bda92a299378 31
gorazdko 43:bda92a299378 32 void motor_off(void)
gorazdko 43:bda92a299378 33 {
gorazdko 43:bda92a299378 34 myServo.pulsewidth_us(MIN+2*DELTA); //NB in microseconds
gorazdko 43:bda92a299378 35 }
gorazdko 43:bda92a299378 36
gorazdko 43:bda92a299378 37
gorazdko 43:bda92a299378 38
Jonathan Austin 3:2757d7abb7d9 39 int main() {
gorazdko 43:bda92a299378 40
gorazdko 43:bda92a299378 41 wait(3); // if (myButton)
gorazdko 43:bda92a299378 42
gorazdko 44:50aa0a0d1222 43
gorazdko 43:bda92a299378 44
gorazdko 43:bda92a299378 45
gorazdko 43:bda92a299378 46 while (1)
gorazdko 43:bda92a299378 47 {
gorazdko 44:50aa0a0d1222 48 /*
gorazdko 43:bda92a299378 49
gorazdko 43:bda92a299378 50 for (int i=0; i<50*3; i++)
gorazdko 43:bda92a299378 51 {
gorazdko 43:bda92a299378 52 //myServo.period_ms(20);
gorazdko 43:bda92a299378 53 myServo.pulsewidth_us(MIN); //NB in microseconds
gorazdko 43:bda92a299378 54 wait_ms(TIME);
Jonathan Austin 3:2757d7abb7d9 55 }
gorazdko 43:bda92a299378 56
gorazdko 43:bda92a299378 57 for (int i=0; i<50*3; i++)
gorazdko 43:bda92a299378 58 {
gorazdko 43:bda92a299378 59 //myServo.period_ms(20);
gorazdko 43:bda92a299378 60 myServo.pulsewidth_us(MID); //NB in microseconds
gorazdko 43:bda92a299378 61 wait_ms(TIME);
gorazdko 43:bda92a299378 62 }
gorazdko 44:50aa0a0d1222 63 */
gorazdko 44:50aa0a0d1222 64
gorazdko 44:50aa0a0d1222 65 while (myButton)
gorazdko 44:50aa0a0d1222 66 {
gorazdko 44:50aa0a0d1222 67
gorazdko 44:50aa0a0d1222 68 myServo.pulsewidth_us(MIN); //NB in microseconds
gorazdko 44:50aa0a0d1222 69 wait_ms(TIME);
gorazdko 44:50aa0a0d1222 70 }
gorazdko 44:50aa0a0d1222 71
gorazdko 45:200518382f20 72 while (!myButton)
gorazdko 45:200518382f20 73 {
gorazdko 45:200518382f20 74
gorazdko 44:50aa0a0d1222 75 myServo.pulsewidth_us(MID); //NB in microseconds
gorazdko 44:50aa0a0d1222 76 wait_ms(TIME);
gorazdko 45:200518382f20 77 }
gorazdko 45:200518382f20 78
gorazdko 45:200518382f20 79
gorazdko 43:bda92a299378 80
gorazdko 43:bda92a299378 81
gorazdko 43:bda92a299378 82 }
gorazdko 43:bda92a299378 83 /*
gorazdko 43:bda92a299378 84 while(true) {
gorazdko 43:bda92a299378 85 for (int i=MIN;i<=MAX;i+=STEP){
gorazdko 43:bda92a299378 86 myServo.pulsewidth_us(i);
gorazdko 43:bda92a299378 87 wait_ms(TIME);
gorazdko 43:bda92a299378 88 }
gorazdko 43:bda92a299378 89 for (int i=MAX;i>=MIN;i-=STEP){
gorazdko 43:bda92a299378 90 myServo.pulsewidth_us(i);
gorazdko 43:bda92a299378 91 wait_ms(TIME);
gorazdko 43:bda92a299378 92 }
gorazdko 43:bda92a299378 93 */
gorazdko 43:bda92a299378 94
gorazdko 43:bda92a299378 95 }