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.
Fork of Servo_HelloWorld by
Prerequisite
This example is for servo motor test using digital I/O(PWM).
To implement this function, you need a Platform board, network Interface board.
- WIZwiki-W7500 from WIZnet (Platform board and Ethernet I/F board)
Hardware Configuration
WIZwiki-W7500 Pin map

Servo Motor(HS-5585MH)

Wiring Table
| HS-5585 | W7500 |
| VCC | 5V |
| GND | GND |
| SIGNAL | D14 |
Software
Init GPIO
Servo myservo(D14);
Set data to Servo
for(float p=0; p<1.0; p += 0.1) {
myservo = p;
wait(0.2);
}
Caution
When wiring, be careful (GND, VCC)
Diff: main.cpp
- Revision:
- 0:ea7182628dfa
- Child:
- 1:40d2fd0b99e6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Sep 02 17:37:55 2010 +0000
@@ -0,0 +1,29 @@
+// Hello World for the Servo interface
+
+#include "mbed.h"
+#include "Servo.h"
+
+Servo myservo(p21);
+Serial pc(USBTX, USBRX);
+
+int main() {
+ printf("Servo Calibration Controls:\n");
+ printf("1,2,3 - Position Servo (full left, middle, full right)\n");
+ printf("4,5 - Decrease or Increase range\n");
+
+ float range = 0.0005;
+ float position = 0.5;
+
+ while(1) {
+ switch(pc.getc()) {
+ case '1': position = 0.0; break;
+ case '2': position = 0.5; break;
+ case '3': position = 1.0; break;
+ case '4': range += 0.0001; break;
+ case '5': range -= 0.0001; break;
+ }
+ printf("position = %.1f, range = +/-%0.4f\n", position, range);
+ myservo.calibrate(range, 45.0);
+ myservo = position;
+ }
+}
