Showing
3 changed files
with
142 additions
and
0 deletions
code/Code/Code.ino
0 → 100644
| 1 | +int right_I = 13; // Air Input(Right) | ||
| 2 | +int right_O = 12; // Air Output(Right) | ||
| 3 | +int left_I = 9; // Air Input(Left) | ||
| 4 | +int left_O = 10; // Air Output(Left) | ||
| 5 | +int control_R = A0; // Trigger Input(Right) | ||
| 6 | +int control_L = A1; // Trigger Input(Left) | ||
| 7 | +int control_R_I; // Reading Right trigger signal | ||
| 8 | +int control_L_I; // Reading left trigger signal | ||
| 9 | +int count_R = 0; // 우측 활성화 변수 | ||
| 10 | +int count_L = 0; // 좌측 활성화 변수 | ||
| 11 | +int count_B = 0; // 양측 활성화 변수 | ||
| 12 | + | ||
| 13 | +// 우측 피드백 활성화 | ||
| 14 | +void RB(){ | ||
| 15 | + digitalWrite(right_I, HIGH); | ||
| 16 | + delay(150); | ||
| 17 | + digitalWrite(right_I, LOW); | ||
| 18 | + count_R = 1; | ||
| 19 | + Serial.println("right"); | ||
| 20 | + return; | ||
| 21 | +} | ||
| 22 | +// 우측 피드백 비활성화 | ||
| 23 | +void RBO(){ | ||
| 24 | + digitalWrite(right_O,HIGH); | ||
| 25 | + delay(300); | ||
| 26 | + digitalWrite(right_O,LOW); | ||
| 27 | + count_R = 0; | ||
| 28 | + Serial.println("rightDOWN"); | ||
| 29 | + return; | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +// 좌측 피드백 활성화 | ||
| 33 | +void LB(){ | ||
| 34 | + digitalWrite(left_I, HIGH); | ||
| 35 | + delay(150); | ||
| 36 | + digitalWrite(left_I, LOW); | ||
| 37 | + count_L = 1; | ||
| 38 | + Serial.println("left"); | ||
| 39 | + return; | ||
| 40 | +} | ||
| 41 | +// 좌측 피드백 비활성화 | ||
| 42 | +void LBO(){ | ||
| 43 | + digitalWrite(left_O,HIGH); | ||
| 44 | + delay(300); | ||
| 45 | + digitalWrite(left_O, LOW); | ||
| 46 | + count_L = 0; | ||
| 47 | + Serial.println("leftDOWN"); | ||
| 48 | + return; | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +// 양측 피드백 활성화 | ||
| 52 | +void both(){ | ||
| 53 | + digitalWrite(left_I, HIGH); | ||
| 54 | + digitalWrite(right_I, HIGH); | ||
| 55 | + delay(150); | ||
| 56 | + digitalWrite(right_I, LOW); | ||
| 57 | + digitalWrite(left_I, LOW); | ||
| 58 | + count_B = 1; | ||
| 59 | + Serial.println("both"); | ||
| 60 | + return; | ||
| 61 | +} | ||
| 62 | + | ||
| 63 | +// 양측 피드백 비활성화 | ||
| 64 | +void bothO(){ | ||
| 65 | + digitalWrite(right_O,HIGH); | ||
| 66 | + digitalWrite(left_O,HIGH); | ||
| 67 | + delay(300); | ||
| 68 | + digitalWrite(left_O,LOW); | ||
| 69 | + digitalWrite(right_O,LOW); | ||
| 70 | + count_B = 0; | ||
| 71 | + Serial.println("bothDOWN"); | ||
| 72 | + return; | ||
| 73 | +} | ||
| 74 | +// 양측 피드백 활성화 확인 | ||
| 75 | +void setBoth(){ | ||
| 76 | + count_B = 1; | ||
| 77 | +} | ||
| 78 | +// 양측 비피드백 활성화 확인 | ||
| 79 | +void setSingle(){ | ||
| 80 | + count_B = 0; | ||
| 81 | +} | ||
| 82 | + | ||
| 83 | +void setup() { | ||
| 84 | + // put your setup code here, to run once: | ||
| 85 | + pinMode(right_I, OUTPUT); | ||
| 86 | + pinMode(right_O, OUTPUT); | ||
| 87 | + pinMode(left_I, OUTPUT); | ||
| 88 | + pinMode(left_O, OUTPUT); | ||
| 89 | + pinMode(control_R, INPUT); | ||
| 90 | + pinMode(control_L, INPUT); | ||
| 91 | + Serial.begin(4800); | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +void loop() { | ||
| 95 | + // 양측 트리거 신호를 수치화 | ||
| 96 | + control_R_I = analogRead(control_R); | ||
| 97 | + Serial.print("right : "); | ||
| 98 | + Serial.println(control_R_I); | ||
| 99 | + control_L_I = analogRead(control_L); | ||
| 100 | + Serial.print("left : "); | ||
| 101 | + Serial.println(control_L_I); | ||
| 102 | + | ||
| 103 | + //UP | ||
| 104 | + if((control_R_I > 900 and control_R_I <= 927) and (control_L_I > 900 and control_L_I <= 927) and count_R == 0){ | ||
| 105 | + RB(); | ||
| 106 | + } | ||
| 107 | + else if((control_R_I > 927 and control_R_I < 970) and (control_L_I > 927 and control_L_I < 970)and count_L == 0){ | ||
| 108 | + LB(); | ||
| 109 | + } | ||
| 110 | + else if(control_R_I >= 970 and control_L_I >= 970 and count_B == 0 and count_R == 1 and count_L == 0){ | ||
| 111 | + LB(); | ||
| 112 | + setBoth(); | ||
| 113 | + } | ||
| 114 | + else if(control_R_I >= 970 and control_L_I >= 970 and count_B == 0 and count_R == 0 and count_L == 1){ | ||
| 115 | + RB(); | ||
| 116 | + setBoth(); | ||
| 117 | + } | ||
| 118 | + else if(control_R_I >= 970 and control_L_I >= 970 and count_B == 0){ | ||
| 119 | + both(); | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + //DOWN | ||
| 123 | + if((control_R_I > 900 and control_R_I <= 927) and (control_L_I > 900 and control_L_I <= 927) and count_L == 1){ | ||
| 124 | + setSingle(); | ||
| 125 | + LBO(); | ||
| 126 | + } | ||
| 127 | + else if((control_R_I > 927 and control_R_I < 970) and (control_L_I > 927 and control_L_I < 970)and count_R == 1){ | ||
| 128 | + setSingle(); | ||
| 129 | + RBO(); | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + //DOWN2 | ||
| 133 | + if(control_R_I < 890 and control_L_I < 890 and count_R == 1){ | ||
| 134 | + RBO(); | ||
| 135 | + } | ||
| 136 | + else if(control_R_I < 890 and control_L_I < 890 and count_L == 1){ | ||
| 137 | + LBO(); | ||
| 138 | + } | ||
| 139 | + else if(control_R_I < 890 and control_L_I < 890 and count_B == 1){ | ||
| 140 | + bothO(); | ||
| 141 | + } | ||
| 142 | +} |
면담확인서/6월면담확인.pdf
0 → 100644
No preview for this file type
보고서/최종보고서(2015104233_홍유진).docx
0 → 100644
No preview for this file type
-
Please register or login to post a comment