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)

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;
+    }
+}