Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Motor Servo mbed
Fork of Lab_3_part3 by
main.cpp@1:5316305f313a, 2015-10-14 (annotated)
- Committer:
- chadlewellyn
- Date:
- Wed Oct 14 00:05:01 2015 +0000
- Revision:
- 1:5316305f313a
- Parent:
- 0:18862eeb0ae8
part 3
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| chadlewellyn | 0:18862eeb0ae8 | 1 | #include "mbed.h" |
| chadlewellyn | 0:18862eeb0ae8 | 2 | #include "Motor.h" |
| chadlewellyn | 0:18862eeb0ae8 | 3 | #include "Servo.h" |
| chadlewellyn | 0:18862eeb0ae8 | 4 | |
| chadlewellyn | 0:18862eeb0ae8 | 5 | |
| chadlewellyn | 0:18862eeb0ae8 | 6 | int main() { |
| chadlewellyn | 0:18862eeb0ae8 | 7 | |
| chadlewellyn | 1:5316305f313a | 8 | float i; //float variable |
| chadlewellyn | 1:5316305f313a | 9 | Servo myservo1(p21); //servo motor connected to pin 21 |
| chadlewellyn | 1:5316305f313a | 10 | myservo1 = 0; //set initially to 0 |
| chadlewellyn | 1:5316305f313a | 11 | myservo1.calibrate(0.0009, 90); //calibrate starting point and angle |
| chadlewellyn | 1:5316305f313a | 12 | Servo myservo2(p22); //servo motor connected to pin 22 |
| chadlewellyn | 1:5316305f313a | 13 | myservo2 = 0; //set initially to 0 |
| chadlewellyn | 1:5316305f313a | 14 | myservo2.calibrate(0.0009, 90); //calibrate starting point and angle |
| chadlewellyn | 0:18862eeb0ae8 | 15 | |
| chadlewellyn | 1:5316305f313a | 16 | while(1) { //while loop |
| chadlewellyn | 1:5316305f313a | 17 | for (i = 0; i <= 1.0; i+=0.01) { //increases integer by .01 until it reaches 1 |
| chadlewellyn | 1:5316305f313a | 18 | myservo1 = i; //set first servo to turn one way |
| chadlewellyn | 1:5316305f313a | 19 | myservo2 = 1.0 - i; //second servo turns the other way |
| chadlewellyn | 1:5316305f313a | 20 | wait(.05); //wait .05 seconds |
| chadlewellyn | 0:18862eeb0ae8 | 21 | } |
| chadlewellyn | 1:5316305f313a | 22 | for (i = 1.0; i >= 0; i-=0.01) { //decrease integer by .01 until it reaches 0 |
| chadlewellyn | 1:5316305f313a | 23 | myservo1 = i; //set first servo to turn one way |
| chadlewellyn | 1:5316305f313a | 24 | myservo2 = 1.0 - i; //second servo turns the other way |
| chadlewellyn | 1:5316305f313a | 25 | wait(.05); //wait .05 seconds |
| chadlewellyn | 0:18862eeb0ae8 | 26 | } |
| chadlewellyn | 0:18862eeb0ae8 | 27 | |
| chadlewellyn | 1:5316305f313a | 28 | Motor m(p25, p27, p28); //motor listens to pins 25, 27, and 28 |
| chadlewellyn | 1:5316305f313a | 29 | float s, n; //assign two float integers |
| chadlewellyn | 0:18862eeb0ae8 | 30 | |
| chadlewellyn | 1:5316305f313a | 31 | for (s = 0.2; s <= 1.0; += 0.1) { //motor increseas in speed until it reaches 1 |
| chadlewellyn | 1:5316305f313a | 32 | n = -s; |
| chadlewellyn | 1:5316305f313a | 33 | m.speed(s); //motor spins at a speed that corrilates to float s |
| chadlewellyn | 1:5316305f313a | 34 | wait(5); //wait 5 seconds |
| chadlewellyn | 1:5316305f313a | 35 | m.speed(n); //motor spins in opposite direction but same speed |
| chadlewellyn | 1:5316305f313a | 36 | wait(5); //wait 5 seconds |
| chadlewellyn | 0:18862eeb0ae8 | 37 | } |
| chadlewellyn | 0:18862eeb0ae8 | 38 | |
| chadlewellyn | 0:18862eeb0ae8 | 39 | } |
| chadlewellyn | 0:18862eeb0ae8 | 40 | |
| chadlewellyn | 0:18862eeb0ae8 | 41 | |
| chadlewellyn | 0:18862eeb0ae8 | 42 | } |
