test

Dependencies:   Servo

Committer:
gorazdko
Date:
Sun Jun 02 08:52:41 2019 +0000
Revision:
43:bda92a299378
Parent:
32:0b58d21e87d6
Child:
44:50aa0a0d1222
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 43:bda92a299378 43
gorazdko 43:bda92a299378 44 while (0)
gorazdko 43:bda92a299378 45 {
gorazdko 43:bda92a299378 46 for (int i=0; i<1000;i++)
gorazdko 43:bda92a299378 47 {
gorazdko 43:bda92a299378 48 wait_ms(20);
gorazdko 43:bda92a299378 49 motor_on();
gorazdko 43:bda92a299378 50 }
gorazdko 43:bda92a299378 51
gorazdko 43:bda92a299378 52 for (int i=0; i<1000;i++)
gorazdko 43:bda92a299378 53 {
gorazdko 43:bda92a299378 54 wait_ms(20);
gorazdko 43:bda92a299378 55 motor_off();
gorazdko 43:bda92a299378 56 }
gorazdko 43:bda92a299378 57
gorazdko 43:bda92a299378 58 }
gorazdko 43:bda92a299378 59
gorazdko 43:bda92a299378 60
gorazdko 43:bda92a299378 61 while (1)
gorazdko 43:bda92a299378 62 {
gorazdko 43:bda92a299378 63
gorazdko 43:bda92a299378 64 for (int i=0; i<50*3; i++)
gorazdko 43:bda92a299378 65 {
gorazdko 43:bda92a299378 66 //myServo.period_ms(20);
gorazdko 43:bda92a299378 67 myServo.pulsewidth_us(MIN); //NB in microseconds
gorazdko 43:bda92a299378 68 wait_ms(TIME);
Jonathan Austin 3:2757d7abb7d9 69 }
gorazdko 43:bda92a299378 70
gorazdko 43:bda92a299378 71 for (int i=0; i<50*3; i++)
gorazdko 43:bda92a299378 72 {
gorazdko 43:bda92a299378 73 //myServo.period_ms(20);
gorazdko 43:bda92a299378 74 myServo.pulsewidth_us(MID); //NB in microseconds
gorazdko 43:bda92a299378 75 wait_ms(TIME);
gorazdko 43:bda92a299378 76 }
gorazdko 43:bda92a299378 77
gorazdko 43:bda92a299378 78
gorazdko 43:bda92a299378 79 }
gorazdko 43:bda92a299378 80 /*
gorazdko 43:bda92a299378 81 while(true) {
gorazdko 43:bda92a299378 82 for (int i=MIN;i<=MAX;i+=STEP){
gorazdko 43:bda92a299378 83 myServo.pulsewidth_us(i);
gorazdko 43:bda92a299378 84 wait_ms(TIME);
gorazdko 43:bda92a299378 85 }
gorazdko 43:bda92a299378 86 for (int i=MAX;i>=MIN;i-=STEP){
gorazdko 43:bda92a299378 87 myServo.pulsewidth_us(i);
gorazdko 43:bda92a299378 88 wait_ms(TIME);
gorazdko 43:bda92a299378 89 }
gorazdko 43:bda92a299378 90 */
gorazdko 43:bda92a299378 91
gorazdko 43:bda92a299378 92 }