coding for the sub

Dependencies:   mbed Motor Servo

Committer:
m212760
Date:
Mon Oct 22 12:44:17 2018 +0000
Revision:
8:ef878ee3f536
Parent:
7:2a445f634f19
DE helping

Who changed what in which revision?

UserRevisionLine numberNew contents of line
m211734 0:d59f674faf5e 1 #include "mbed.h"
doubleJ312 1:f3f36258eaab 2 #include "stdio.h"
doubleJ312 1:f3f36258eaab 3 #include "stdlib.h"
doubleJ312 1:f3f36258eaab 4 #include "Motor.h"
doubleJ312 1:f3f36258eaab 5 #include "Servo.h"
m211734 0:d59f674faf5e 6 /* this is the code for the sub
m211734 0:d59f674faf5e 7 */
m211734 0:d59f674faf5e 8
m211734 0:d59f674faf5e 9
m212760 8:ef878ee3f536 10 DigitalIn prop(p16); //switch to turn on the prop
m212760 8:ef878ee3f536 11 DigitalIn shoot(p17); //switch to fire the torpedo
m212760 8:ef878ee3f536 12 DigitalIn planes(p18); //switch to tilt the fairwater planes
m212760 8:ef878ee3f536 13 DigitalIn lights(p19); //switch to turn on the running lights
m212760 8:ef878ee3f536 14 int screw;
m212760 8:ef878ee3f536 15 int fire;
m212760 8:ef878ee3f536 16 int fw;
m212760 8:ef878ee3f536 17 int running;
m212760 8:ef878ee3f536 18 DigitalOut green(p6); //green light
m212760 8:ef878ee3f536 19 DigitalOut red(p7); //red light
m212760 8:ef878ee3f536 20 Motor m(p26,p30,p29); //motor variable
m212760 8:ef878ee3f536 21 Servo torpedo(p21); //torpedo servo
m212760 8:ef878ee3f536 22 Servo tilt(p22); //planes servo
m211734 0:d59f674faf5e 23
ewingswim 7:2a445f634f19 24
m212760 8:ef878ee3f536 25 int main(){ //main open
m212760 8:ef878ee3f536 26 printf("ES200 1121 Project 2 Team 2\r\n");
m212760 8:ef878ee3f536 27 printf("Submarines\r\n");
m212760 8:ef878ee3f536 28
m212760 8:ef878ee3f536 29
m212760 8:ef878ee3f536 30 while(1) { //while open
m212760 8:ef878ee3f536 31 printf("reading switch positions\r\n");
m212760 8:ef878ee3f536 32 screw = prop.read(); //reads switch for prop
m212760 8:ef878ee3f536 33 fire = shoot.read(); //reads switch for torpedo
m212760 8:ef878ee3f536 34 fw = planes.read(); //reads switch for planes
m212760 8:ef878ee3f536 35 running = lights.read(); //reads switch for lights
m212760 8:ef878ee3f536 36
m212760 8:ef878ee3f536 37 if (screw ==1) { //switch 1 for prop to spin
m212760 8:ef878ee3f536 38 printf("spin propulsor\r\n");
m212760 8:ef878ee3f536 39 for (float s= 0.0; s < 1.0 ; s += 0.01) { //for loop with variable 's' that spools up the prop motor
m212760 8:ef878ee3f536 40 m.speed(s); //speed output with variable 's'
m212760 8:ef878ee3f536 41 wait(0.01); //very small wait time in for loop to spool up quickly
ewingswim 7:2a445f634f19 42 }
m212760 8:ef878ee3f536 43 }
m212760 8:ef878ee3f536 44 else if (screw==0){
m212760 8:ef878ee3f536 45 m.speed(0.0);
ewingswim 7:2a445f634f19 46 }
ewingswim 7:2a445f634f19 47
m212760 8:ef878ee3f536 48 if (fire == 1) { //switch 2 for torpeo firing
m212760 8:ef878ee3f536 49 printf("torpedo\r\n");
m212760 8:ef878ee3f536 50 }
m212760 8:ef878ee3f536 51 /* while(1) {
m212760 8:ef878ee3f536 52 torpedo = 0.01; //start position inside body of sub
m212760 8:ef878ee3f536 53 wait(1.5); //wait
m212760 8:ef878ee3f536 54 torpedo = 0.5; //fire
m212760 8:ef878ee3f536 55 position outside of sub
m212760 8:ef878ee3f536 56 wait (1.0); //wait
m212760 8:ef878ee3f536 57 }
m212760 8:ef878ee3f536 58 }
m212760 8:ef878ee3f536 59 else if (fire==0) {
m212760 8:ef878ee3f536 60 torpedo = 0.01;
m212760 8:ef878ee3f536 61 }*/
m212760 8:ef878ee3f536 62
m212760 8:ef878ee3f536 63 if (fw == 1) { //switch 3 for planes
m212760 8:ef878ee3f536 64 printf("planes\r\n");
m212760 8:ef878ee3f536 65 tilt = 0.2;
m212760 8:ef878ee3f536 66 wait(0.2);
m212760 8:ef878ee3f536 67 tilt = 0.7;
m212760 8:ef878ee3f536 68 wait(0.2);
m212760 8:ef878ee3f536 69 }
m212760 8:ef878ee3f536 70 else {
m212760 8:ef878ee3f536 71 printf("no planes\r\n");
m212760 8:ef878ee3f536 72 tilt = 0.0;
m212760 8:ef878ee3f536 73 }
m212760 8:ef878ee3f536 74 /*while(1) {
m212760 8:ef878ee3f536 75 tilt = 0.2; //initial position
m212760 8:ef878ee3f536 76 wait(0.7); //wait
m212760 8:ef878ee3f536 77 tilt = 0.7; //tilted position
m212760 8:ef878ee3f536 78 wait(0.7); //wait
m212760 8:ef878ee3f536 79 } //while close
m212760 8:ef878ee3f536 80 } //else if close
m212760 8:ef878ee3f536 81 else if (fw==0) {
m212760 8:ef878ee3f536 82 tilt = 0.2;
m212760 8:ef878ee3f536 83 }
m212760 8:ef878ee3f536 84 */
m212760 8:ef878ee3f536 85
m212760 8:ef878ee3f536 86
m212760 8:ef878ee3f536 87 /* if (running== 1) { //switch 4 for lights to turn on
m212760 8:ef878ee3f536 88 green = 1;
m212760 8:ef878ee3f536 89 red = 1;
m212760 8:ef878ee3f536 90 }
m212760 8:ef878ee3f536 91 */
m212760 8:ef878ee3f536 92 } //while close
m212760 8:ef878ee3f536 93 } //main close
m212760 8:ef878ee3f536 94
m212760 8:ef878ee3f536 95