cool

Dependencies:   Motor Servo mbed

Committer:
m170984
Date:
Wed Oct 22 01:20:11 2014 +0000
Revision:
1:50490d67ac7e
Parent:
0:af31e48dd848
commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
m170984 0:af31e48dd848 1 #include "mbed.h"
m170984 0:af31e48dd848 2 #include "Motor.h"
m170984 0:af31e48dd848 3 #include "Servo.h"
m170984 0:af31e48dd848 4
m170984 1:50490d67ac7e 5 // I left my code open and unguarded!!
m170984 1:50490d67ac7e 6 // I'm a tree!
m170984 1:50490d67ac7e 7
m170984 1:50490d67ac7e 8 //Digital I/O
m170984 1:50490d67ac7e 9 Motor m(p26, p29, p30); // pins to use for pwm, fwd, rev
m170984 0:af31e48dd848 10 Servo myservo1(p21); //declare servos
m170984 0:af31e48dd848 11 Servo myservo2(p22);
m170984 1:50490d67ac7e 12 DigitalOut led[5] = {p5,p6,p7,p8,p11}; //array for leds
m170984 1:50490d67ac7e 13 DigitalIn num (p16); // set variable num to read from the board switches
m170984 1:50490d67ac7e 14 DigitalIn num2 (p17);
m170984 1:50490d67ac7e 15 DigitalIn num3 (p18);
m170984 1:50490d67ac7e 16
m170984 1:50490d67ac7e 17 int fl =2;
m170984 0:af31e48dd848 18
m170984 1:50490d67ac7e 19 void flash()
m170984 1:50490d67ac7e 20 {
m170984 1:50490d67ac7e 21 if (led[fl] ==0)
m170984 1:50490d67ac7e 22 {
m170984 1:50490d67ac7e 23 led[fl] =1;
m170984 1:50490d67ac7e 24 wait(0.1);
m170984 1:50490d67ac7e 25 }
m170984 1:50490d67ac7e 26 else
m170984 1:50490d67ac7e 27 {
m170984 1:50490d67ac7e 28 led[fl] = 0;
m170984 1:50490d67ac7e 29 wait(0.1);
m170984 1:50490d67ac7e 30 }
m170984 1:50490d67ac7e 31 if (fl < 4)
m170984 1:50490d67ac7e 32 {
m170984 1:50490d67ac7e 33 fl++;
m170984 1:50490d67ac7e 34 }
m170984 1:50490d67ac7e 35 else
m170984 1:50490d67ac7e 36 {
m170984 1:50490d67ac7e 37 fl=2;
m170984 1:50490d67ac7e 38 }
m170984 1:50490d67ac7e 39 }
m170984 0:af31e48dd848 40
m170984 0:af31e48dd848 41 void opengate() // function to open the gate
m170984 0:af31e48dd848 42 {
m170984 0:af31e48dd848 43 myservo1 = 1;
m170984 1:50490d67ac7e 44 wait(0.01);
m170984 0:af31e48dd848 45 }
m170984 0:af31e48dd848 46 void closegate() //function to close the gate
m170984 0:af31e48dd848 47 {
m170984 0:af31e48dd848 48 myservo1 = 0;
m170984 1:50490d67ac7e 49 wait(0.01);
m170984 0:af31e48dd848 50 }
m170984 0:af31e48dd848 51
m170984 0:af31e48dd848 52 int main()
m170984 0:af31e48dd848 53 {
m170984 1:50490d67ac7e 54 float wiggle =0;
m170984 1:50490d67ac7e 55 myservo2=wiggle;
m170984 1:50490d67ac7e 56 int tofro = 0;
m170984 1:50490d67ac7e 57 float i=0.0; //speed var
m170984 1:50490d67ac7e 58 while(1)// THE Loop
m170984 1:50490d67ac7e 59 {
m170984 1:50490d67ac7e 60 flash();
m170984 1:50490d67ac7e 61 if(num == 0)
m170984 1:50490d67ac7e 62 {
m170984 1:50490d67ac7e 63 led[0] = 0;
m170984 1:50490d67ac7e 64 closegate();
m170984 1:50490d67ac7e 65 }
m170984 1:50490d67ac7e 66 if(num == 1)
m170984 1:50490d67ac7e 67 {
m170984 1:50490d67ac7e 68 led[0] = 1;
m170984 1:50490d67ac7e 69 opengate();
m170984 1:50490d67ac7e 70 }
m170984 1:50490d67ac7e 71 if(num2 == 1)
m170984 1:50490d67ac7e 72 {
m170984 1:50490d67ac7e 73 led[1] = 1;
m170984 1:50490d67ac7e 74 if(i<0.2)
m170984 1:50490d67ac7e 75 {
m170984 1:50490d67ac7e 76 i=i+0.1;
m170984 1:50490d67ac7e 77 m.speed(i);
m170984 1:50490d67ac7e 78 wait(0.5);
m170984 1:50490d67ac7e 79 }
m170984 1:50490d67ac7e 80 }
m170984 1:50490d67ac7e 81 if(num2 == 0)
m170984 1:50490d67ac7e 82 {
m170984 1:50490d67ac7e 83 led[1] = 0;
m170984 1:50490d67ac7e 84
m170984 1:50490d67ac7e 85 if(i>0)
m170984 1:50490d67ac7e 86 {
m170984 1:50490d67ac7e 87 i=i-0.08;
m170984 1:50490d67ac7e 88 m.speed(i);
m170984 1:50490d67ac7e 89 wait(0.5);
m170984 1:50490d67ac7e 90 }
m170984 1:50490d67ac7e 91 }
m170984 1:50490d67ac7e 92 if (num3 == 1)
m170984 1:50490d67ac7e 93 {
m170984 1:50490d67ac7e 94 if (tofro==0)
m170984 1:50490d67ac7e 95 {
m170984 1:50490d67ac7e 96 wiggle = wiggle + 0.01;
m170984 1:50490d67ac7e 97 myservo2 = wiggle;
m170984 1:50490d67ac7e 98 wait(0.01);
m170984 1:50490d67ac7e 99 if(wiggle >= 0.1)
m170984 1:50490d67ac7e 100 {
m170984 1:50490d67ac7e 101 tofro=1;
m170984 1:50490d67ac7e 102 }
m170984 1:50490d67ac7e 103 }
m170984 1:50490d67ac7e 104 if (tofro==1)
m170984 1:50490d67ac7e 105 {
m170984 1:50490d67ac7e 106 wiggle = wiggle - 0.01;
m170984 1:50490d67ac7e 107 myservo2 = wiggle;
m170984 1:50490d67ac7e 108 wait(0.01);
m170984 1:50490d67ac7e 109 if (wiggle <= 0)
m170984 1:50490d67ac7e 110 {
m170984 1:50490d67ac7e 111 tofro =0;
m170984 1:50490d67ac7e 112 }
m170984 1:50490d67ac7e 113 }
m170984 1:50490d67ac7e 114 }
m170984 1:50490d67ac7e 115 if(num3==0)
m170984 1:50490d67ac7e 116 {
m170984 1:50490d67ac7e 117 wiggle =0;
m170984 1:50490d67ac7e 118 myservo2 = wiggle;
m170984 1:50490d67ac7e 119 wait(0.01);
m170984 1:50490d67ac7e 120 tofro=0;
m170984 1:50490d67ac7e 121 }
m170984 1:50490d67ac7e 122 }
m170984 0:af31e48dd848 123 }