test

Dependencies:   Servo

Committer:
gorazdko
Date:
Sun Jun 02 12:16:38 2019 +0000
Revision:
49:6ebde58afad3
Parent:
48:4ac030bc2910
release

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 46:f7d5c27c09f5 18
gorazdko 46:f7d5c27c09f5 19 DigitalIn myButton_2(D0);
gorazdko 43:bda92a299378 20
gorazdko 43:bda92a299378 21 PwmOut myServo(D3);
gorazdko 43:bda92a299378 22
gorazdko 43:bda92a299378 23
gorazdko 43:bda92a299378 24
Jonathan Austin 3:2757d7abb7d9 25
gorazdko 43:bda92a299378 26 void motor_on(void)
gorazdko 43:bda92a299378 27 {
gorazdko 43:bda92a299378 28
gorazdko 43:bda92a299378 29 //myServo.period_ms(20);
gorazdko 43:bda92a299378 30 myServo.pulsewidth_us(MID); //NB in microseconds
gorazdko 43:bda92a299378 31
gorazdko 43:bda92a299378 32 }
gorazdko 43:bda92a299378 33
gorazdko 43:bda92a299378 34 void motor_off(void)
gorazdko 43:bda92a299378 35 {
gorazdko 43:bda92a299378 36 myServo.pulsewidth_us(MIN+2*DELTA); //NB in microseconds
gorazdko 43:bda92a299378 37 }
gorazdko 43:bda92a299378 38
gorazdko 43:bda92a299378 39
gorazdko 46:f7d5c27c09f5 40 bool button_change = false;
gorazdko 43:bda92a299378 41
Jonathan Austin 3:2757d7abb7d9 42 int main() {
gorazdko 43:bda92a299378 43
gorazdko 49:6ebde58afad3 44 wait(1);
gorazdko 49:6ebde58afad3 45
gorazdko 49:6ebde58afad3 46 myServo.pulsewidth_us(MAX); //NB in microseconds
gorazdko 49:6ebde58afad3 47 wait(3);
gorazdko 43:bda92a299378 48
gorazdko 43:bda92a299378 49
gorazdko 43:bda92a299378 50 while (1)
gorazdko 43:bda92a299378 51 {
gorazdko 46:f7d5c27c09f5 52
gorazdko 49:6ebde58afad3 53
gorazdko 43:bda92a299378 54
gorazdko 46:f7d5c27c09f5 55 if (myButton)
gorazdko 44:50aa0a0d1222 56 {
gorazdko 44:50aa0a0d1222 57
gorazdko 46:f7d5c27c09f5 58
gorazdko 48:4ac030bc2910 59 for (int i=MAX; i>MIN; i=i-10)
gorazdko 48:4ac030bc2910 60 {
gorazdko 48:4ac030bc2910 61 myServo.pulsewidth_us(i); //NB in microseconds
gorazdko 48:4ac030bc2910 62 wait_ms(25);
gorazdko 48:4ac030bc2910 63 }
gorazdko 47:70468e4f985f 64
gorazdko 48:4ac030bc2910 65 for (int i=MIN; i<MAX; i=i+10)
gorazdko 48:4ac030bc2910 66 {
gorazdko 48:4ac030bc2910 67 myServo.pulsewidth_us(i); //NB in microseconds
gorazdko 48:4ac030bc2910 68 wait_ms(25);
gorazdko 48:4ac030bc2910 69 }
gorazdko 48:4ac030bc2910 70
gorazdko 49:6ebde58afad3 71 wait(1);
gorazdko 48:4ac030bc2910 72
gorazdko 48:4ac030bc2910 73
gorazdko 48:4ac030bc2910 74
gorazdko 48:4ac030bc2910 75
gorazdko 44:50aa0a0d1222 76 }
gorazdko 46:f7d5c27c09f5 77
gorazdko 45:200518382f20 78
gorazdko 45:200518382f20 79
gorazdko 43:bda92a299378 80
gorazdko 43:bda92a299378 81
gorazdko 43:bda92a299378 82 }
gorazdko 46:f7d5c27c09f5 83
gorazdko 43:bda92a299378 84
gorazdko 43:bda92a299378 85 }