Presentation code for PROJECT #1 - ES200 Fall 2014

Dependencies:   Servo mbed Motor

Committer:
tsevcik08
Date:
Mon Oct 20 00:54:06 2014 +0000
Revision:
7:39fd13b43380
Parent:
6:18052a74ae56
Child:
8:30eb49981a91
final !!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cstab94 0:80cc8025b1c0 1 //MIDN 3/C W. O'Brien, D. Thompson-Sevcik, C. Stabler
cstab94 0:80cc8025b1c0 2 //Candy scooper program for Project #1, ES200 Fall 2014
cstab94 0:80cc8025b1c0 3 //Modifications: 9 OCT- Initial code
cstab94 0:80cc8025b1c0 4
cstab94 0:80cc8025b1c0 5 #include "mbed.h"
cstab94 0:80cc8025b1c0 6 #include "Motor.h"
cstab94 0:80cc8025b1c0 7 #include "Servo.h"
tsevcik08 5:cf58a6bfdd7a 8
tsevcik08 5:cf58a6bfdd7a 9 Motor kate(p26, p29, p30);
cstab94 4:0ed46a6cdf66 10 Servo arm(p21);
tsevcik08 5:cf58a6bfdd7a 11 Servo scoop(p22);
cstab94 4:0ed46a6cdf66 12 DigitalIn sw1(p16); //up
cstab94 4:0ed46a6cdf66 13 DigitalIn sw2(p17); //down
cstab94 4:0ed46a6cdf66 14 DigitalIn sw3(p18); //dump
cstab94 4:0ed46a6cdf66 15 DigitalIn sw4(p19);
cstab94 4:0ed46a6cdf66 16 DigitalIn sw5(p20);
tsevcik08 7:39fd13b43380 17 BusOut w(p5, p6, p7, p8, p11); //data bus for LEDs
cstab94 4:0ed46a6cdf66 18
cstab94 4:0ed46a6cdf66 19
tsevcik08 5:cf58a6bfdd7a 20 int main()
tsevcik08 5:cf58a6bfdd7a 21 {
cstab94 4:0ed46a6cdf66 22
tsevcik08 7:39fd13b43380 23 int switch1;
tsevcik08 7:39fd13b43380 24 int switch2;
tsevcik08 7:39fd13b43380 25
tsevcik08 7:39fd13b43380 26
tsevcik08 7:39fd13b43380 27
cstab94 4:0ed46a6cdf66 28 float armpos;
cstab94 4:0ed46a6cdf66 29 float servopos;
cstab94 4:0ed46a6cdf66 30 float mspeed;
tsevcik08 7:39fd13b43380 31 w = 16;
tsevcik08 5:cf58a6bfdd7a 32 while(1) {
tsevcik08 7:39fd13b43380 33 switch1 = sw1.read(); //stores input from sw1 and sw2, constantly updating inside the loop
tsevcik08 7:39fd13b43380 34 switch2 = sw2.read();
tsevcik08 5:cf58a6bfdd7a 35 if( sw4 == 1 && sw5 == 0 && sw1 == 0 && sw2 == 0 ) {
cstab94 4:0ed46a6cdf66 36 mspeed = 0.35;
cstab94 4:0ed46a6cdf66 37 kate.speed(mspeed);
cstab94 4:0ed46a6cdf66 38 wait(.03);
cstab94 4:0ed46a6cdf66 39 mspeed = 0.0;
cstab94 4:0ed46a6cdf66 40 kate.speed(mspeed);
cstab94 4:0ed46a6cdf66 41 wait(.05);
tsevcik08 7:39fd13b43380 42
tsevcik08 7:39fd13b43380 43 if(w == 0)
tsevcik08 7:39fd13b43380 44 w=16;
tsevcik08 7:39fd13b43380 45 w = w/2; //moves LED to the right by changing binary value
tsevcik08 5:cf58a6bfdd7a 46 } else if( sw5 == 1 && sw4 == 0 && sw1 == 0 && sw2 == 0) {
cstab94 4:0ed46a6cdf66 47 mspeed = -0.35;
cstab94 4:0ed46a6cdf66 48 kate.speed(mspeed);
cstab94 4:0ed46a6cdf66 49 wait(.03);
cstab94 4:0ed46a6cdf66 50 mspeed = 0.0;
cstab94 4:0ed46a6cdf66 51 kate.speed(mspeed);
cstab94 4:0ed46a6cdf66 52 wait(.05);
tsevcik08 7:39fd13b43380 53
tsevcik08 7:39fd13b43380 54 if(w == 16 )
tsevcik08 7:39fd13b43380 55 w=1;
tsevcik08 7:39fd13b43380 56 w = w*2;
tsevcik08 5:cf58a6bfdd7a 57 } else if (sw3 == 1 && sw2 == 0 && sw1 == 0 && sw4 == 0 && sw5 == 0 ) {
tsevcik08 6:18052a74ae56 58 for (servopos = 0; servopos <= 0.5; servopos += 0.5) {
tsevcik08 5:cf58a6bfdd7a 59 scoop = servopos;
tsevcik08 7:39fd13b43380 60 w = 8;
tsevcik08 5:cf58a6bfdd7a 61 }
tsevcik08 5:cf58a6bfdd7a 62 wait (1);
tsevcik08 5:cf58a6bfdd7a 63 } else if(sw1 == 1 && sw2 == 0 && sw5 == 0 && sw4 == 0 ) {
tsevcik08 7:39fd13b43380 64 armpos += .02;
tsevcik08 5:cf58a6bfdd7a 65 arm = armpos;
tsevcik08 5:cf58a6bfdd7a 66 wait(.05);
tsevcik08 7:39fd13b43380 67 w=31;
tsevcik08 7:39fd13b43380 68 wait(.05);
tsevcik08 7:39fd13b43380 69 w= 0;
tsevcik08 5:cf58a6bfdd7a 70 } else if(sw2 == 1 && sw1 == 0 && sw4 == 0 && sw5 == 0) {
tsevcik08 7:39fd13b43380 71 armpos -= .1;
tsevcik08 5:cf58a6bfdd7a 72 arm = armpos;
tsevcik08 5:cf58a6bfdd7a 73 wait(.05);
tsevcik08 7:39fd13b43380 74 w=3;
tsevcik08 7:39fd13b43380 75 wait(.25);
tsevcik08 7:39fd13b43380 76 w=28;
tsevcik08 5:cf58a6bfdd7a 77 } else if (sw4 == 0 && sw1 == 0 && sw2 == 0 && sw3 == 0 && sw5 == 0) {
cstab94 4:0ed46a6cdf66 78 mspeed = 0.0;
cstab94 4:0ed46a6cdf66 79 kate.speed(mspeed);
tsevcik08 5:cf58a6bfdd7a 80 arm = armpos;
tsevcik08 5:cf58a6bfdd7a 81 wait(.1);
tsevcik08 5:cf58a6bfdd7a 82 for (servopos = 1.0; servopos >= 0; servopos -=1.0) {
tsevcik08 5:cf58a6bfdd7a 83 scoop = servopos;
tsevcik08 5:cf58a6bfdd7a 84 }
cstab94 4:0ed46a6cdf66 85 }
tsevcik08 5:cf58a6bfdd7a 86 }
tsevcik08 5:cf58a6bfdd7a 87
cstab94 4:0ed46a6cdf66 88 }//end main
cstab94 4:0ed46a6cdf66 89