OzerDrive / Mbed 2 deprecated mbed_blinky

Dependencies:   mbed Motor

Revision:
8:e0cd3bd2d051
Parent:
7:dbe5b06987d7
Child:
9:a9d4cb88f0b0
--- a/main.cpp	Wed May 01 02:08:39 2019 +0000
+++ b/main.cpp	Wed May 01 07:52:54 2019 +0000
@@ -1,8 +1,27 @@
+/**
+AUTO-PILLOW : ESE 350 Spring 2019
+Fatih Ozer and Mohamed Aly
+idea from Dr. Nalaka
+
+last updated: 01 May 2019
+*/
+
 #include "mbed.h"
 
-DigitalOut motor_pin_1(p14);
-DigitalOut motor_pin_2(p15);
-DigitalOut motor_enable(p19);
+DigitalOut motor_pin_1(p23);
+DigitalOut motor_pin_2(p22);
+DigitalOut motor_enable(p21);
+
+DigitalOut solenoid1(p12);
+DigitalOut solenoid2(p11);
+DigitalOut solenoid3(p7);
+DigitalOut solenoid4(p5);
+
+AnalogIn flexN(p19);
+AnalogIn flexE(p16);
+AnalogIn flexS(p17);
+AnalogIn flexW(p20);
+AnalogIn flexC(p18);
 
 void run_pump(int secs)
 {
@@ -11,11 +30,111 @@
     motor_pin_2 = 1;
     
     int i = 0;
-    while(i < secs * 148) { i++; printf("%d | ", i);}
+    while(i < secs * 105) { i++; wait_ms(10);}//printf("%d | ", i);}
     motor_pin_2 = 0;
 }
 
+void open_v1() {solenoid1 = 1;}
+void seal_v1() {solenoid1 = 0;}
+
+void open_v2() {solenoid2 = 1;}
+void seal_v2() {solenoid2 = 0;}
+
+void open_v3() {solenoid3 = 1;}
+void seal_v3() {solenoid3 = 0;}
+
+void open_v4() {solenoid4 = 1;}
+void seal_v4() {solenoid4 = 0;}
+
+void activate_v(int id) {
+    if (id == 1) {
+        seal_v2();seal_v3();seal_v4();open_v1();
+    } else if (id == 2) {
+        seal_v1();seal_v3();seal_v4();open_v2();  
+    } else if (id == 3) {
+        seal_v1();seal_v2();seal_v4();open_v3();  
+    } else if (id == 4) {
+        seal_v1();seal_v3();seal_v2();open_v4();  
+    } 
+}
+
 int main() {
-    run_pump(10);
-    printf("\ngreetings\n");
-}
\ No newline at end of file
+    //run_pump(10);
+    float fN;
+    float fE;
+    float fS;
+    float fW;
+    float fC;
+    
+    while(1) { 
+        /*
+        open_v1();wait(1);
+        seal_v1();wait(1);
+        open_v2();wait(1);
+        seal_v2();wait(1);
+        open_v3();wait(1);
+        seal_v3();wait(1);
+        open_v4();wait(1);
+        run_pump(5);
+        seal_v4();wait(1);
+        */
+        /*
+        activate_v(1);
+        run_pump(5);
+        wait(1);
+        */
+        
+        //activate_v(4);
+        /*
+        open_v4();
+        wait(1);
+        seal_v4();
+        wait(1);
+        */
+        
+        /*
+        fN = flexN.read();
+        fE = flexE.read();
+        fS = flexS.read();
+        fW = flexW.read();
+        fC = flexC.read();
+        //wait(1);
+        printf("       %1.2f\n", fN);
+        printf("%1.2f   %1.2f    %1.2f\n", fW, fC, fE);
+        printf("       %1.2f\n\n", fS);
+        wait_ms(2000);
+        */
+        //activate_v(1);
+        //while(1) { run_pump(15); }
+        
+        for (int i=1; i<=4; i++) {
+            activate_v(i);
+            run_pump(5);
+            wait(1);
+        }
+        
+        
+        
+    }
+    
+    /*
+    wait(5);
+    open_v1();
+    run_pump(4);
+    seal_v1();
+    run_pump(5);
+    */
+    /*
+    while(1) {
+        solenoid = 1;
+        wait(1);
+        solenoid = 0;
+        wait(1);
+        printf("\nhere for barakah\n");
+    }
+    */
+    printf("\nhere for barakah\n");
+}
+
+//https://core-electronics.com.au/tutorials/solenoid-control-with-arduino.html
+//https://itp.nyu.edu/physcomp/labs/motors-and-transistors/dc-motor-control-using-an-h-bridge/
\ No newline at end of file