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.
main.cpp
- Committer:
- mksaga
- Date:
- 2019-05-01
- Revision:
- 8:e0cd3bd2d051
- Parent:
- 7:dbe5b06987d7
- Child:
- 9:a9d4cb88f0b0
File content as of revision 8:e0cd3bd2d051:
/** 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(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) { motor_enable = 1; motor_pin_1 = 0; motor_pin_2 = 1; int i = 0; 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); 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/