test

Dependencies:   Servo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 //Program to 'sweep' test a 'standard RC type servo
00003 //Define some parameters using compiler directive '#define'
00004 //Check Servo DATA if 0.75ms to 2.25ms then use min=750 and max=2250
00005 //NB be values in microseconds (Following are generic values)
00006 #define MID         1500
00007 #define MIN         544
00008 #define MAX         2400
00009 #define STEP          50
00010 //Time delay between steps in milliseconds
00011 #define TIME         20 //100
00012 
00013 
00014 #define DELTA 50
00015  
00016 DigitalOut myLed(LED1);
00017 DigitalIn  myButton(USER_BUTTON);
00018 
00019 DigitalIn  myButton_2(D0);
00020  
00021 PwmOut myServo(D3);
00022  
00023  
00024  
00025 
00026  void motor_on(void)
00027  {
00028   
00029       //myServo.period_ms(20);
00030     myServo.pulsewidth_us(MID); //NB in microseconds
00031      
00032  }
00033  
00034  void motor_off(void)
00035  {
00036      myServo.pulsewidth_us(MIN+2*DELTA); //NB in microseconds
00037  }
00038  
00039  
00040 bool button_change = false;
00041  
00042 int main() {
00043   
00044   wait(1); 
00045   
00046   myServo.pulsewidth_us(MAX); //NB in microseconds
00047   wait(3);
00048 
00049   
00050   while (1)
00051   {
00052 
00053 
00054     
00055     if (myButton)
00056     {
00057         
00058         
00059       for (int i=MAX; i>MIN; i=i-10)  
00060       {
00061         myServo.pulsewidth_us(i); //NB in microseconds
00062         wait_ms(25);
00063       }  
00064         
00065       for (int i=MIN; i<MAX; i=i+10)  
00066       {
00067         myServo.pulsewidth_us(i); //NB in microseconds
00068         wait_ms(25);
00069       }
00070       
00071       wait(1);
00072       
00073 
00074       
00075      
00076     }
00077 
00078     
00079 
00080     
00081     
00082   }
00083 
00084     
00085 }