Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- 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