Test code

Dependencies:   mbed Motor Servo

main.cpp

Committer:
m215910
Date:
2018-10-12
Revision:
2:17956bff3ff2
Parent:
1:bd813dd636a9
Child:
3:638dced18d87

File content as of revision 2:17956bff3ff2:

//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(p29, p30, p26); //designates the pins used by the motor
Servo servo1(p21);
Servo servo2(p22);
DigitalIn sw1(p16); //switches or buttons
DigitalIn bu1(p24); //Army man
//DigitalIn bu2(p); //Army man
//DigitalIn bu3(p); //Army man
//DigitalIn bu4(p); //Motor clockwise
//DigitalIn bu5(p); //Motor CC
DigitalOut leds[3]={p25, p26, p27};
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 bu4 is on rotate motor fwd
            m.speed(s);
            s=1;}
        if (sw1state == 0) { //if bu5 is on rotate motor rev
            m.speed(-s);
            s=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((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;}
        
    } //end while
} //end main