How to control a servo
Fork of Program3_Servo by
Seeed_Arch_link_Servo
Setup
- Connect the Temperature sensor as well as the Servo to the Seeeduino-Arch-Link board, and then connect the board to you PC using the micro-USB cable.
- The board mounts as a mass-storage device (like a USB drive). Verify that you can see it (drive name will be MBED).
- Go to http://developer.mbed.org
- Create an ARM mbed account if you do not have one.
- On the top right corner, click the Compiler button.
An IDE should open. Congratulations!
On Windows: To see debug messages, install the serial driver.
Debug messages: We can talk to the board via a serial port, but you might need some software. Read this doc and install required software (like PuTTY or CoolTermon Windows).
Locally: If you like things locally, you can do so by exporting to a supported toolchain.
I very much recommend to just use the online IDE, as it makes it easier for us, but if you want to continue hacking in the future, this is a nice way.
Seeed_Arch_link_Servo
- Go back to the compiler browser window and click F5 to refresh the page.
- Click the Import button, then click "Click Here to import from URL"
- Paste the URL https://developer.mbed.org/teams/znrobotics/code/Seeed_Arch_link_Servo/
- Double click to open main.cpp
- Here we try to present you how to control the Servo
- Try to finish the code under ' YOUR CODE HERE : make code run between 0-1 only!' for challenge!
- Now press Compile
- A file downloads (Seeed_Arch_link_Servo.hex)
- Drag the file to the 'MBED' disk
- After flashing, hit the 'Reset' button to start the program.
- The servo will now move!
Diff: main.cpp
- Revision:
- 1:40d2fd0b99e6
- Parent:
- 0:ea7182628dfa
- Child:
- 2:6d90139fddb2
--- a/main.cpp Thu Sep 02 17:37:55 2010 +0000 +++ b/main.cpp Tue Nov 23 16:10:35 2010 +0000 @@ -1,29 +1,13 @@ -// 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; - } -} +// Hello World to sweep a servo through its full range + +#include "mbed.h" +#include "Servo.h" + +Servo myservo(p21); + +int main() { + for(float p=0; p<1.0; p += 0.1) { + myservo = p; + wait(0.2); + } +}