タームB、ファイナルのプログラム

Dependencies:   mbed

Committer:
12f2025e
Date:
Thu Sep 29 07:25:38 2016 +0000
Revision:
0:115e12879ffb
???B????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
12f2025e 0:115e12879ffb 1 #include "mbed.h"
12f2025e 0:115e12879ffb 2
12f2025e 0:115e12879ffb 3 DigitalIn in1(PTE21);//左
12f2025e 0:115e12879ffb 4 DigitalIn in2(PTE20);//左中
12f2025e 0:115e12879ffb 5 DigitalIn in3(PTE23);//右中
12f2025e 0:115e12879ffb 6 DigitalIn in4(PTE22);//右
12f2025e 0:115e12879ffb 7
12f2025e 0:115e12879ffb 8 DigitalOut led1(PTB8);//左
12f2025e 0:115e12879ffb 9 DigitalOut led2(PTB9);//左中
12f2025e 0:115e12879ffb 10 DigitalOut led3(PTB10);//右中
12f2025e 0:115e12879ffb 11 DigitalOut led4(PTB11);//右
12f2025e 0:115e12879ffb 12
12f2025e 0:115e12879ffb 13 BusOut cmotor(PTA1,PTA2);
12f2025e 0:115e12879ffb 14 PwmOut vc(PTD4);
12f2025e 0:115e12879ffb 15 BusOut lmotor(PTC0,PTC7);
12f2025e 0:115e12879ffb 16 PwmOut vl(PTA12);
12f2025e 0:115e12879ffb 17 BusOut rmotor(PTC6,PTC5);
12f2025e 0:115e12879ffb 18 PwmOut vr(PTA4);
12f2025e 0:115e12879ffb 19 int lift_count = 0;
12f2025e 0:115e12879ffb 20
12f2025e 0:115e12879ffb 21 int main() {
12f2025e 0:115e12879ffb 22 while(1) {
12f2025e 0:115e12879ffb 23 if(in1 == 1)//黒の時光る 1:白 0:黒
12f2025e 0:115e12879ffb 24 led1 = 0;//1:光る 0:光らない
12f2025e 0:115e12879ffb 25 else
12f2025e 0:115e12879ffb 26 led1 = 1;
12f2025e 0:115e12879ffb 27
12f2025e 0:115e12879ffb 28 if(in2 == 1)
12f2025e 0:115e12879ffb 29 led2 = 0;
12f2025e 0:115e12879ffb 30 else
12f2025e 0:115e12879ffb 31 led2 = 1;
12f2025e 0:115e12879ffb 32
12f2025e 0:115e12879ffb 33 if(in3 == 1)
12f2025e 0:115e12879ffb 34 led3 = 0;
12f2025e 0:115e12879ffb 35 else
12f2025e 0:115e12879ffb 36 led3 = 1;
12f2025e 0:115e12879ffb 37
12f2025e 0:115e12879ffb 38 if(in4 == 1)
12f2025e 0:115e12879ffb 39 led4 = 0;
12f2025e 0:115e12879ffb 40 else
12f2025e 0:115e12879ffb 41 led4 = 1;
12f2025e 0:115e12879ffb 42
12f2025e 0:115e12879ffb 43 if(in1 == 0 && in2 == 0)
12f2025e 0:115e12879ffb 44 {
12f2025e 0:115e12879ffb 45 while(in4 == 1)
12f2025e 0:115e12879ffb 46 {
12f2025e 0:115e12879ffb 47 if(in1 == 1)//黒の時光る 1:白 0:黒
12f2025e 0:115e12879ffb 48 led1 = 0;//1:光る 0:光らない
12f2025e 0:115e12879ffb 49 else
12f2025e 0:115e12879ffb 50 led1 = 1;
12f2025e 0:115e12879ffb 51
12f2025e 0:115e12879ffb 52 if(in2 == 1)
12f2025e 0:115e12879ffb 53 led2 = 0;
12f2025e 0:115e12879ffb 54 else
12f2025e 0:115e12879ffb 55 led2 = 1;
12f2025e 0:115e12879ffb 56
12f2025e 0:115e12879ffb 57 if(in3 == 1)
12f2025e 0:115e12879ffb 58 led3 = 0;
12f2025e 0:115e12879ffb 59 else
12f2025e 0:115e12879ffb 60 led3 = 1;
12f2025e 0:115e12879ffb 61
12f2025e 0:115e12879ffb 62 if(in4 == 1)
12f2025e 0:115e12879ffb 63 led4 = 0;
12f2025e 0:115e12879ffb 64 else
12f2025e 0:115e12879ffb 65 led4 = 1;
12f2025e 0:115e12879ffb 66
12f2025e 0:115e12879ffb 67 lmotor = 1;
12f2025e 0:115e12879ffb 68 vl = 0.0f;
12f2025e 0:115e12879ffb 69 rmotor = 1;
12f2025e 0:115e12879ffb 70 vr = 0.1f;
12f2025e 0:115e12879ffb 71 if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
12f2025e 0:115e12879ffb 72 {
12f2025e 0:115e12879ffb 73 if(lift_count == 0)
12f2025e 0:115e12879ffb 74 {
12f2025e 0:115e12879ffb 75 cmotor = 1;
12f2025e 0:115e12879ffb 76 vc = 0.5f;
12f2025e 0:115e12879ffb 77 lmotor = 1;
12f2025e 0:115e12879ffb 78 vl = 0.0f;
12f2025e 0:115e12879ffb 79 rmotor = 1;
12f2025e 0:115e12879ffb 80 vr = 0.0f;
12f2025e 0:115e12879ffb 81 wait(0.5);
12f2025e 0:115e12879ffb 82 cmotor = 1;
12f2025e 0:115e12879ffb 83 vc = 0.0f;
12f2025e 0:115e12879ffb 84 lmotor = 1;
12f2025e 0:115e12879ffb 85 vl = 0.1f;
12f2025e 0:115e12879ffb 86 rmotor = 1;
12f2025e 0:115e12879ffb 87 vr = 0.1f;
12f2025e 0:115e12879ffb 88 wait(1.0);
12f2025e 0:115e12879ffb 89 lift_count = 1;
12f2025e 0:115e12879ffb 90 break;
12f2025e 0:115e12879ffb 91 }
12f2025e 0:115e12879ffb 92 else
12f2025e 0:115e12879ffb 93 {
12f2025e 0:115e12879ffb 94 cmotor = 2;
12f2025e 0:115e12879ffb 95 vc = 0.5f;
12f2025e 0:115e12879ffb 96 lmotor = 1;
12f2025e 0:115e12879ffb 97 vl = 0.0f;
12f2025e 0:115e12879ffb 98 rmotor = 1;
12f2025e 0:115e12879ffb 99 vr = 0.0f;
12f2025e 0:115e12879ffb 100 wait(0.5);
12f2025e 0:115e12879ffb 101 cmotor = 1;
12f2025e 0:115e12879ffb 102 vc = 0.0f;
12f2025e 0:115e12879ffb 103 lmotor = 2;
12f2025e 0:115e12879ffb 104 vl = 1.0f;
12f2025e 0:115e12879ffb 105 rmotor = 2;
12f2025e 0:115e12879ffb 106 vr = 1.0f;
12f2025e 0:115e12879ffb 107 wait(2);
12f2025e 0:115e12879ffb 108 lmotor = 1;
12f2025e 0:115e12879ffb 109 vl = 0.0f;
12f2025e 0:115e12879ffb 110 rmotor = 1;
12f2025e 0:115e12879ffb 111 vr = 0.0f;
12f2025e 0:115e12879ffb 112 wait(5);
12f2025e 0:115e12879ffb 113 lift_count = 0;
12f2025e 0:115e12879ffb 114 break;
12f2025e 0:115e12879ffb 115 }
12f2025e 0:115e12879ffb 116 }
12f2025e 0:115e12879ffb 117 }
12f2025e 0:115e12879ffb 118 lmotor = 1;
12f2025e 0:115e12879ffb 119 vl = 0.4f;
12f2025e 0:115e12879ffb 120 rmotor = 1;
12f2025e 0:115e12879ffb 121 vr = 0.0f;
12f2025e 0:115e12879ffb 122 wait(1);
12f2025e 0:115e12879ffb 123 }
12f2025e 0:115e12879ffb 124
12f2025e 0:115e12879ffb 125 /* if(in3 == 0 && in4 == 0)
12f2025e 0:115e12879ffb 126 {
12f2025e 0:115e12879ffb 127 while(in1 == 1)
12f2025e 0:115e12879ffb 128 {
12f2025e 0:115e12879ffb 129 if(in1 == 1)//黒の時光る 1:白 0:黒
12f2025e 0:115e12879ffb 130 led1 = 0;//1:光る 0:光らない
12f2025e 0:115e12879ffb 131 else
12f2025e 0:115e12879ffb 132 led1 = 1;
12f2025e 0:115e12879ffb 133
12f2025e 0:115e12879ffb 134 if(in2 == 1)
12f2025e 0:115e12879ffb 135 led2 = 0;
12f2025e 0:115e12879ffb 136 else
12f2025e 0:115e12879ffb 137 led2 = 1;
12f2025e 0:115e12879ffb 138
12f2025e 0:115e12879ffb 139 if(in3 == 1)
12f2025e 0:115e12879ffb 140 led3 = 0;
12f2025e 0:115e12879ffb 141 else
12f2025e 0:115e12879ffb 142 led3 = 1;
12f2025e 0:115e12879ffb 143
12f2025e 0:115e12879ffb 144 if(in4 == 1)
12f2025e 0:115e12879ffb 145 led4 = 0;
12f2025e 0:115e12879ffb 146 else
12f2025e 0:115e12879ffb 147 led4 = 1;
12f2025e 0:115e12879ffb 148
12f2025e 0:115e12879ffb 149 lmotor = 1;
12f2025e 0:115e12879ffb 150 vl = 0.1f;
12f2025e 0:115e12879ffb 151 rmotor = 1;
12f2025e 0:115e12879ffb 152 vr = 0.0f;
12f2025e 0:115e12879ffb 153 if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
12f2025e 0:115e12879ffb 154 {
12f2025e 0:115e12879ffb 155 if(lift_count == 0)
12f2025e 0:115e12879ffb 156 {
12f2025e 0:115e12879ffb 157 cmotor = 1;
12f2025e 0:115e12879ffb 158 vc = 0.5f;
12f2025e 0:115e12879ffb 159 lmotor = 1;
12f2025e 0:115e12879ffb 160 vl = 0.0f;
12f2025e 0:115e12879ffb 161 rmotor = 1;
12f2025e 0:115e12879ffb 162 vr = 0.0f;
12f2025e 0:115e12879ffb 163 wait(0.5);
12f2025e 0:115e12879ffb 164 cmotor = 1;
12f2025e 0:115e12879ffb 165 vc = 0.0f;
12f2025e 0:115e12879ffb 166 lmotor = 1;
12f2025e 0:115e12879ffb 167 vl = 0.1f;
12f2025e 0:115e12879ffb 168 rmotor = 1;
12f2025e 0:115e12879ffb 169 vr = 0.1f;
12f2025e 0:115e12879ffb 170 wait(1.0);
12f2025e 0:115e12879ffb 171 lift_count = 1;
12f2025e 0:115e12879ffb 172 break;
12f2025e 0:115e12879ffb 173 }
12f2025e 0:115e12879ffb 174 else
12f2025e 0:115e12879ffb 175 {
12f2025e 0:115e12879ffb 176 cmotor = 2;
12f2025e 0:115e12879ffb 177 vc = 0.5f;
12f2025e 0:115e12879ffb 178 lmotor = 1;
12f2025e 0:115e12879ffb 179 vl = 0.0f;
12f2025e 0:115e12879ffb 180 rmotor = 1;
12f2025e 0:115e12879ffb 181 vr = 0.0f;
12f2025e 0:115e12879ffb 182 wait(0.5);
12f2025e 0:115e12879ffb 183 cmotor = 1;
12f2025e 0:115e12879ffb 184 vc = 0.0f;
12f2025e 0:115e12879ffb 185 lmotor = 2;
12f2025e 0:115e12879ffb 186 vl = 1.0f;
12f2025e 0:115e12879ffb 187 rmotor = 2;
12f2025e 0:115e12879ffb 188 vr = 1.0f;
12f2025e 0:115e12879ffb 189 wait(2);
12f2025e 0:115e12879ffb 190 lmotor = 1;
12f2025e 0:115e12879ffb 191 vl = 0.0f;
12f2025e 0:115e12879ffb 192 rmotor = 1;
12f2025e 0:115e12879ffb 193 vr = 0.0f;
12f2025e 0:115e12879ffb 194 wait(5);
12f2025e 0:115e12879ffb 195 lift_count = 0;
12f2025e 0:115e12879ffb 196 break;
12f2025e 0:115e12879ffb 197 }
12f2025e 0:115e12879ffb 198 }
12f2025e 0:115e12879ffb 199 }
12f2025e 0:115e12879ffb 200 lmotor = 1;
12f2025e 0:115e12879ffb 201 vl = 0.0f;
12f2025e 0:115e12879ffb 202 rmotor = 1;
12f2025e 0:115e12879ffb 203 vr = 0.4f;
12f2025e 0:115e12879ffb 204 wait(1);
12f2025e 0:115e12879ffb 205 }
12f2025e 0:115e12879ffb 206 */
12f2025e 0:115e12879ffb 207 ///////////////////////
12f2025e 0:115e12879ffb 208 if(in2 == 0 && in3 == 0)
12f2025e 0:115e12879ffb 209 {
12f2025e 0:115e12879ffb 210 lmotor = 0;
12f2025e 0:115e12879ffb 211 vl = 0.0f;
12f2025e 0:115e12879ffb 212 rmotor = 1;
12f2025e 0:115e12879ffb 213 vr = 0.1f;
12f2025e 0:115e12879ffb 214 }
12f2025e 0:115e12879ffb 215 else if(in2 == 0 && in3 == 1)
12f2025e 0:115e12879ffb 216 {
12f2025e 0:115e12879ffb 217 lmotor = 2;
12f2025e 0:115e12879ffb 218 vl = 0.1f;
12f2025e 0:115e12879ffb 219 rmotor = 1;
12f2025e 0:115e12879ffb 220 vr = 0.1f;
12f2025e 0:115e12879ffb 221 }
12f2025e 0:115e12879ffb 222 else if(in2 == 1 && in3 == 0)
12f2025e 0:115e12879ffb 223 {
12f2025e 0:115e12879ffb 224 lmotor = 1;
12f2025e 0:115e12879ffb 225 vl = 0.1f;
12f2025e 0:115e12879ffb 226 rmotor = 1;
12f2025e 0:115e12879ffb 227 vr = 0.1f;
12f2025e 0:115e12879ffb 228 }
12f2025e 0:115e12879ffb 229 else
12f2025e 0:115e12879ffb 230 {
12f2025e 0:115e12879ffb 231 lmotor = 1;
12f2025e 0:115e12879ffb 232 vl = 0.1f;
12f2025e 0:115e12879ffb 233 rmotor = 0;
12f2025e 0:115e12879ffb 234 vr = 0.0f;
12f2025e 0:115e12879ffb 235 }
12f2025e 0:115e12879ffb 236
12f2025e 0:115e12879ffb 237 if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
12f2025e 0:115e12879ffb 238 {
12f2025e 0:115e12879ffb 239 if(lift_count == 0)
12f2025e 0:115e12879ffb 240 {
12f2025e 0:115e12879ffb 241 cmotor = 1;
12f2025e 0:115e12879ffb 242 vc = 0.5f;
12f2025e 0:115e12879ffb 243 lmotor = 1;
12f2025e 0:115e12879ffb 244 vl = 0.0f;
12f2025e 0:115e12879ffb 245 rmotor = 1;
12f2025e 0:115e12879ffb 246 vr = 0.0f;
12f2025e 0:115e12879ffb 247 wait(0.5);
12f2025e 0:115e12879ffb 248 cmotor = 1;
12f2025e 0:115e12879ffb 249 vc = 0.0f;
12f2025e 0:115e12879ffb 250 lmotor = 1;
12f2025e 0:115e12879ffb 251 vl = 0.1f;
12f2025e 0:115e12879ffb 252 rmotor = 1;
12f2025e 0:115e12879ffb 253 vr = 0.1f;
12f2025e 0:115e12879ffb 254 wait(1.0);
12f2025e 0:115e12879ffb 255 lift_count = 1;
12f2025e 0:115e12879ffb 256 }
12f2025e 0:115e12879ffb 257 else
12f2025e 0:115e12879ffb 258 {
12f2025e 0:115e12879ffb 259 cmotor = 2;
12f2025e 0:115e12879ffb 260 vc = 0.5f;
12f2025e 0:115e12879ffb 261 lmotor = 1;
12f2025e 0:115e12879ffb 262 vl = 0.0f;
12f2025e 0:115e12879ffb 263 rmotor = 1;
12f2025e 0:115e12879ffb 264 vr = 0.0f;
12f2025e 0:115e12879ffb 265 wait(0.5);
12f2025e 0:115e12879ffb 266 cmotor = 1;
12f2025e 0:115e12879ffb 267 vc = 0.0f;
12f2025e 0:115e12879ffb 268 lmotor = 2;
12f2025e 0:115e12879ffb 269 vl = 1.0f;
12f2025e 0:115e12879ffb 270 rmotor = 2;
12f2025e 0:115e12879ffb 271 vr = 1.0f;
12f2025e 0:115e12879ffb 272 wait(2);
12f2025e 0:115e12879ffb 273 lmotor = 1;
12f2025e 0:115e12879ffb 274 vl = 0.0f;
12f2025e 0:115e12879ffb 275 rmotor = 1;
12f2025e 0:115e12879ffb 276 vr = 0.0f;
12f2025e 0:115e12879ffb 277 wait(5);
12f2025e 0:115e12879ffb 278 lift_count = 0;
12f2025e 0:115e12879ffb 279 }
12f2025e 0:115e12879ffb 280 }
12f2025e 0:115e12879ffb 281
12f2025e 0:115e12879ffb 282 }
12f2025e 0:115e12879ffb 283 }