Joshua Liu
/
GloveBoxTester
glovebox tester
Fork of GloveBoxTester by
GloveBoxTester.cpp@3:ae51b59d29b8, 2013-07-23 (annotated)
- Committer:
- kzampag
- Date:
- Tue Jul 23 15:30:46 2013 +0000
- Revision:
- 3:ae51b59d29b8
- Parent:
- 2:73be4f9f04f9
- Child:
- 4:9d0aa204aa20
Running copy
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kzampag | 0:4c49d95a1f05 | 1 | #include "mbed.h" |
kzampag | 0:4c49d95a1f05 | 2 | |
kzampag | 3:ae51b59d29b8 | 3 | |
kzampag | 0:4c49d95a1f05 | 4 | Serial lcd(p13,p14); |
kzampag | 0:4c49d95a1f05 | 5 | |
kzampag | 3:ae51b59d29b8 | 6 | DigitalOut pneumatics1(p25); |
kzampag | 3:ae51b59d29b8 | 7 | DigitalOut pneumatics2(p26); |
kzampag | 0:4c49d95a1f05 | 8 | DigitalOut box1(p23); |
kzampag | 0:4c49d95a1f05 | 9 | DigitalOut box2(p22); |
kzampag | 0:4c49d95a1f05 | 10 | DigitalOut box3(p21); |
kzampag | 3:ae51b59d29b8 | 11 | DigitalIn pause(p6); |
kzampag | 3:ae51b59d29b8 | 12 | |
kzampag | 3:ae51b59d29b8 | 13 | void clearLCD() |
kzampag | 3:ae51b59d29b8 | 14 | { |
kzampag | 3:ae51b59d29b8 | 15 | lcd.printf("%c%c",0xFE,0x01); |
kzampag | 3:ae51b59d29b8 | 16 | } |
kzampag | 3:ae51b59d29b8 | 17 | void setLCDpos(int xpos, int ypos) |
kzampag | 3:ae51b59d29b8 | 18 | { |
kzampag | 3:ae51b59d29b8 | 19 | int pos = 0x80; |
kzampag | 3:ae51b59d29b8 | 20 | switch (xpos) { |
kzampag | 3:ae51b59d29b8 | 21 | case 1: |
kzampag | 3:ae51b59d29b8 | 22 | pos +=0; |
kzampag | 3:ae51b59d29b8 | 23 | break; |
kzampag | 3:ae51b59d29b8 | 24 | case 2: |
kzampag | 3:ae51b59d29b8 | 25 | pos +=64; |
kzampag | 3:ae51b59d29b8 | 26 | break; |
kzampag | 3:ae51b59d29b8 | 27 | case 3: |
kzampag | 3:ae51b59d29b8 | 28 | pos +=20; |
kzampag | 3:ae51b59d29b8 | 29 | break; |
kzampag | 3:ae51b59d29b8 | 30 | case 4: |
kzampag | 3:ae51b59d29b8 | 31 | pos +=84; |
kzampag | 3:ae51b59d29b8 | 32 | break; |
kzampag | 3:ae51b59d29b8 | 33 | } |
kzampag | 3:ae51b59d29b8 | 34 | pos += (ypos-1); |
kzampag | 3:ae51b59d29b8 | 35 | lcd.printf("%c%c",0xFE,pos); |
kzampag | 3:ae51b59d29b8 | 36 | } |
kzampag | 3:ae51b59d29b8 | 37 | void setBrightness(int lev) |
kzampag | 3:ae51b59d29b8 | 38 | { |
kzampag | 3:ae51b59d29b8 | 39 | lcd.printf("%c%c",0xFE,lev+127); |
kzampag | 3:ae51b59d29b8 | 40 | |
kzampag | 3:ae51b59d29b8 | 41 | wait(.1); |
kzampag | 3:ae51b59d29b8 | 42 | } |
kzampag | 3:ae51b59d29b8 | 43 | //End LCD Setup |
kzampag | 0:4c49d95a1f05 | 44 | |
kzampag | 0:4c49d95a1f05 | 45 | |
kzampag | 0:4c49d95a1f05 | 46 | int count = 1; |
kzampag | 3:ae51b59d29b8 | 47 | int cycles = 2500; |
kzampag | 3:ae51b59d29b8 | 48 | int check = 0; |
kzampag | 0:4c49d95a1f05 | 49 | |
kzampag | 0:4c49d95a1f05 | 50 | |
kzampag | 0:4c49d95a1f05 | 51 | |
kzampag | 0:4c49d95a1f05 | 52 | int main() |
kzampag | 0:4c49d95a1f05 | 53 | { |
kzampag | 3:ae51b59d29b8 | 54 | clearLCD(); |
kzampag | 3:ae51b59d29b8 | 55 | setLCDpos(1,1); |
kzampag | 3:ae51b59d29b8 | 56 | lcd.printf("Here we go!"); |
kzampag | 3:ae51b59d29b8 | 57 | while(count< cycles) { |
kzampag | 1:f0943cae3bee | 58 | |
kzampag | 3:ae51b59d29b8 | 59 | if (pause) { |
kzampag | 3:ae51b59d29b8 | 60 | check = 1; |
kzampag | 3:ae51b59d29b8 | 61 | //Trigger solenoid |
kzampag | 3:ae51b59d29b8 | 62 | box1 = 1; |
kzampag | 3:ae51b59d29b8 | 63 | box2 = 0; |
kzampag | 3:ae51b59d29b8 | 64 | box3 = 0; |
kzampag | 3:ae51b59d29b8 | 65 | wait(.08); |
kzampag | 3:ae51b59d29b8 | 66 | |
kzampag | 3:ae51b59d29b8 | 67 | box1 = 0; |
kzampag | 3:ae51b59d29b8 | 68 | box2 = 1; |
kzampag | 3:ae51b59d29b8 | 69 | wait(.08); |
kzampag | 3:ae51b59d29b8 | 70 | |
kzampag | 3:ae51b59d29b8 | 71 | box2 = 0; |
kzampag | 3:ae51b59d29b8 | 72 | box3 = 1; |
kzampag | 3:ae51b59d29b8 | 73 | wait(.08); |
kzampag | 0:4c49d95a1f05 | 74 | |
kzampag | 0:4c49d95a1f05 | 75 | |
kzampag | 3:ae51b59d29b8 | 76 | box3 = 0; |
kzampag | 2:73be4f9f04f9 | 77 | |
kzampag | 2:73be4f9f04f9 | 78 | |
kzampag | 3:ae51b59d29b8 | 79 | //Wait until box completely opens then trigger pneumatics |
kzampag | 3:ae51b59d29b8 | 80 | wait(.7); |
kzampag | 3:ae51b59d29b8 | 81 | pneumatics1 = 1; |
kzampag | 3:ae51b59d29b8 | 82 | pneumatics2 = 0; |
kzampag | 0:4c49d95a1f05 | 83 | |
kzampag | 3:ae51b59d29b8 | 84 | //Wait until cylinder has finished travel |
kzampag | 3:ae51b59d29b8 | 85 | wait(.8); |
kzampag | 3:ae51b59d29b8 | 86 | pneumatics1 = 0; |
kzampag | 3:ae51b59d29b8 | 87 | pneumatics2 = 1; |
kzampag | 3:ae51b59d29b8 | 88 | wait(.5); |
kzampag | 3:ae51b59d29b8 | 89 | pneumatics2 =0; |
kzampag | 0:4c49d95a1f05 | 90 | |
kzampag | 3:ae51b59d29b8 | 91 | //Wait to full retract then repeat |
kzampag | 3:ae51b59d29b8 | 92 | wait(5); |
kzampag | 3:ae51b59d29b8 | 93 | |
kzampag | 3:ae51b59d29b8 | 94 | count++; |
kzampag | 3:ae51b59d29b8 | 95 | setLCDpos(2,1); |
kzampag | 3:ae51b59d29b8 | 96 | lcd.printf("%d",count); |
kzampag | 0:4c49d95a1f05 | 97 | |
kzampag | 3:ae51b59d29b8 | 98 | } |
kzampag | 3:ae51b59d29b8 | 99 | else { |
kzampag | 3:ae51b59d29b8 | 100 | check = 0; |
kzampag | 3:ae51b59d29b8 | 101 | } |
kzampag | 2:73be4f9f04f9 | 102 | |
kzampag | 3:ae51b59d29b8 | 103 | setLCDpos(3,1); |
kzampag | 3:ae51b59d29b8 | 104 | lcd.printf("%d", check); |
kzampag | 3:ae51b59d29b8 | 105 | } |
kzampag | 0:4c49d95a1f05 | 106 | } |