Servo_HelloWorld Example for WIZwiki-W7500

Dependencies:   Servo mbed-src

Fork of Servo_HelloWorld by Simon Ford

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

pin map

Servo Motor(HS-5585MH)

pin map

Wiring Table

HS-5585W7500
VCC5V
GNDGND
SIGNALD14

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)

Files at this revision

API Documentation at this revision

Comitter:
simon
Date:
Thu Sep 02 17:37:55 2010 +0000
Child:
1:40d2fd0b99e6
Commit message:
Publish as program containing Servo library

Changed in this revision

Servo.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Servo.lib	Thu Sep 02 17:37:55 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/simon/code/Servo/#8995c167f399
--- /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;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Sep 02 17:37:55 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/74b8d43b5817