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)

main.cpp

Committer:
simon
Date:
2010-09-02
Revision:
0:ea7182628dfa
Child:
1:40d2fd0b99e6

File content as of revision 0:ea7182628dfa:

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