Test code

Dependencies:   mbed Motor Servo

main.cpp

Committer:
m215910
Date:
2018-10-09
Revision:
1:bd813dd636a9
Parent:
0:755c12c1a9ad
Child:
2:17956bff3ff2

File content as of revision 1:bd813dd636a9:

//Maria Satre, Riki Gagnon, Theo Boskov, Janelle Stewart
//Project 2
//Goat Launcher

//Libraries and mechanical directives
#include "Motor.h" //must change line 31 in Motor.cpp according to Lab
#include "mbed.h"
#include "Servo.h" //need Servo library

Motor m(p, p, p); //designates the pins used by the motor
Servo servo1(p);
Servo servo2(p);
DigitalIn sw1(p); //switches or buttons
DigitalIn bu1(p); //Army man
DigitalIn bu2(p); //Army man
DigitalIn bu3(p); //Army man
DigitalIn bu4(p); //Motor clockwise
DigitalIn bu5(p); //Motor CC
DigitalOut leds[5]={p,p,p,p,p};
float pos = rand()/(float)RAND_MAX; //allows the servo to start at a random position 
float pos2 = rand()/(float)RAND_MAX;
int sw1state, bu1state, bu2state, bu3state, bu4state, bu5state; //the state of the switch
int s=0.2; //speed of motor rotation - fairly slow so as to be exact


int main() {
    servo1.calibrate(0.0009, 90.0); //need to calibrate the servos so they don't freak out
    servo2.calibrate(0.0009, 90.0);
    servo1=pos; //used to help calibrate
    servo2=pos2;
    
    while(1) { //do we need while?
        sw1state=sw1.read(); //read in switch state
        bu1state=bu1.read();
        bu2state=bu2.read();
        bu3state=bu3.read();
        bu4state=bu4.read();
        bu5state=bu5.read();
        pos=0
        pos2=0
    
        if((sw1state) == 1) { //if switch is on move servos quickly to other angle
            (pos && pos2) = 1;}
        if((sw1state) == 1) { //if switch is off move back
            (pos && pos2) = 0;}
            
            
        if (bu1state == 0) { //if ARMY button is off light up LEDS
            leds[0]=1;}
        if (bu2state == 0) {
            leds[1]=1;}
        if (bu3state == 0) {
            leds[2]=1;}
        if (bu1state == 1) { //if ARMY button is on nothing happens - ARMY guys with weight on LEDS
            leds[0]=0;}
        if (bu2state == 1) {
            leds[1]=0;}
        if (bu3state == 1) {
            leds[2]=0;}
        
        
        if (bu4state == 1) { //if bu4 is on rotate motor fwd
            m.speed(s);}
        if (bu5state == 1) { //if bu5 is on rotate motor rev
            m.speed(-s);}
        
    } //end while
} //end main