Servo_HelloWorld Example for WIZwiki-W7500
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; + } +}