Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:0e4e520af2c1, committed 2013-06-14
- Comitter:
- dury
- Date:
- Fri Jun 14 10:15:03 2013 +0000
- Commit message:
- Sample program to demonstrate how to use DuryServo Library
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DuryServo.lib Fri Jun 14 10:15:03 2013 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/dury/code/DuryServo/#88fd1c2402c9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri Jun 14 10:15:03 2013 +0000
@@ -0,0 +1,90 @@
+#include "mbed.h"
+#include "Servo.h"
+
+void ShowMenu(void);
+
+Servo myservo(p22);
+Serial pc(USBTX, USBRX);
+
+int main() {
+
+ ShowMenu();
+
+ float pulsemin = myservo.ReadPulseMin();
+ float pulsemax = myservo.ReadPulseMax();
+ float degreesmin = myservo.ReadDegreesMin();
+ float degreesmax = myservo.ReadDegreesMax();
+
+ while(1) {
+ float degrees=myservo.ReadDegrees();
+ float position=myservo.Read();
+ printf("read position = %f, read degrees = %f\r\n", position, degrees);
+
+ switch(pc.getc()) {
+ case ' ': ShowMenu(); break;
+ case 'z':
+ printf("pulsemin = %f, degreesmin = %f, pulsemax = %f degreesmax = %f\r\n", pulsemin, degreesmin, pulsemax, degreesmax);
+ break;
+ case '1': myservo = 0.0; break;
+ case '2': myservo = 0.5; break;
+ case '3': myservo = 1.0; break;
+ case 'q':
+ pulsemin += 0.0001; myservo.DefinePulseMin(pulsemin,degreesmin); myservo = 0.0;
+ printf("+pulsemin = %f, degreesmin = %f", pulsemin, degreesmin);
+ break;
+ case 'a':
+ pulsemin -= 0.0001; myservo.DefinePulseMin(pulsemin,degreesmin); myservo = 0.0;
+ printf("-pulsemin = %f, degreesmin = %f", pulsemin, degreesmin);
+ break;
+ case 'w':
+ pulsemax += 0.0001; myservo.DefinePulseMax(pulsemax,degreesmax); myservo = 1.0;
+ printf("+pulsemax = %f, degreesmax = %f", pulsemax, degreesmax);
+ break;
+ case 's':
+ pulsemax -= 0.0001; myservo.DefinePulseMax(pulsemax,degreesmax); myservo = 1.0;
+ printf("-pulsemax = %f, degreesmax = %f", pulsemax, degreesmax);
+ break;
+ case 'e':
+ degreesmin += 1; myservo.DefinePulseMin(pulsemin,degreesmin); myservo = 0.0;
+ printf("pulsemin = %f, +degreesmin = %f", pulsemin, degreesmin);
+ break;
+ case 'd':
+ degreesmin -= 1; myservo.DefinePulseMin(pulsemin,degreesmin); myservo = 0.0;
+ printf("pulsemin = %f, -degreesmin = %f", pulsemin, degreesmin);
+ break;
+ case 'r':
+ degreesmax += 1; myservo.DefinePulseMax(pulsemax,degreesmax); myservo = 1.0;
+ printf("pulsemax = %f, +degreesmax = %f", pulsemax, degreesmax);
+ break;
+ case 'f':
+ degreesmax -= 1; myservo.DefinePulseMax(pulsemax,degreesmax); myservo = 1.0;
+ printf("pulsemax = %f, -degreesmax = %f", pulsemax, degreesmax);
+ break;
+ case '6': degrees += 5.0; myservo.WriteDegrees(degrees); break;
+ case '4': degrees -= 5.0; myservo.WriteDegrees(degrees); break;
+ case '5': degrees = 0.0; myservo.WriteDegrees(degrees); break;
+ }
+
+ }
+}
+
+void ShowMenu(void)
+{
+ printf("Servo Test and calibration:\r\n");
+ printf("1,2,3 - Position Servo (full left, middle, full right)\r\n");
+
+ printf("q,a - Decrease or Increase pulsemin using pulse value\r\n");
+ printf("w,s - Decrease or Increase pulsemax using pluse value\r\n");
+ printf("e,d - Decrease or Increase pulsemin using degree value\r\n");
+ printf("r,f - Decrease or Increase pulsemax using degree value\r\n");
+
+ printf("6,4 - Degrees +5 -5\r\n");
+ printf("5 - Degrees = 0.0 \r\n");
+ printf("SPACE - Show this menu\r\n");
+ printf("z - Print Servo Values\r\n");
+ printf("\r\nInstructions:\r\n");
+ printf("Decrease pulsemin until the servo reach the full left position\r\n"
+ "Decrease degreesmin until the value reach the correct degrees you see\r\n"
+ "Increase pulsemin until the servo reach the full right position\r\n"
+ "Increase degreesmin until the value reach the correct degrees you see\r\n");
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Jun 14 10:15:03 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/b3110cd2dd17 \ No newline at end of file