update hcsr04.cpp by changing 20000 to 2000

Dependencies:   Stepper mbed SDFileSystem Ultrasonic PinDetect millis

Committer:
rschimpf78
Date:
Wed Dec 19 19:44:16 2018 +0000
Revision:
6:354264d1e4bb
Parent:
4:63f0989c8d1e
Child:
7:ede305192e3b
1220

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rschimpf78 2:e8f8095464cf 1 #include "mbed.h"
rschimpf78 2:e8f8095464cf 2 #include "Stepper.h"
rschimpf78 2:e8f8095464cf 3 #include "string"
rschimpf78 3:fd2ca631ab44 4 #include "hcsr04.h"
rschimpf78 6:354264d1e4bb 5 #include "millis.h"
rschimpf78 3:fd2ca631ab44 6 Serial pc(USBTX, USBRX);
rschimpf78 3:fd2ca631ab44 7 HCSR04 heightsensor(PTA2,PTC2); //(trig,echo)
rschimpf78 3:fd2ca631ab44 8 HCSR04 pathsensor(PTD3,PTD2);
rschimpf78 3:fd2ca631ab44 9 DigitalOut in1(PTC12);
rschimpf78 3:fd2ca631ab44 10 DigitalOut in2(D7);
rschimpf78 3:fd2ca631ab44 11 DigitalIn homeSwitch(D9);
rschimpf78 3:fd2ca631ab44 12 Stepper mot(D3,D4); //(D3 to PUL+, D4 to DIR+)
rschimpf78 2:e8f8095464cf 13 DigitalOut en(D2);
rschimpf78 0:88834eed3de0 14
rschimpf78 3:fd2ca631ab44 15 volatile int plates=0;
rschimpf78 3:fd2ca631ab44 16 volatile unsigned int sheets=0;
rschimpf78 3:fd2ca631ab44 17 volatile unsigned int path_sheets=0;
rschimpf78 0:88834eed3de0 18
rschimpf78 3:fd2ca631ab44 19 void plate_selection()
rschimpf78 0:88834eed3de0 20 {
rschimpf78 3:fd2ca631ab44 21 unsigned int dist;
rschimpf78 3:fd2ca631ab44 22 int er = 5;
rschimpf78 4:63f0989c8d1e 23 int fp = 457; //adjust if needed
rschimpf78 3:fd2ca631ab44 24 int lp = 64; //adjust if needed
rschimpf78 3:fd2ca631ab44 25 int tp = 25;
rschimpf78 2:e8f8095464cf 26
rschimpf78 3:fd2ca631ab44 27 while (plates!=sheets) {
rschimpf78 3:fd2ca631ab44 28 heightsensor.start();
rschimpf78 3:fd2ca631ab44 29 wait_ms(500);
rschimpf78 3:fd2ca631ab44 30 dist=heightsensor.get_dist_cm();
rschimpf78 3:fd2ca631ab44 31 pc.printf("\nmm:%ld",dist);
rschimpf78 3:fd2ca631ab44 32
rschimpf78 3:fd2ca631ab44 33 if (dist<=lp-10 || dist >= fp+10){
rschimpf78 3:fd2ca631ab44 34 mot.stop();
rschimpf78 3:fd2ca631ab44 35 en = 1;
rschimpf78 3:fd2ca631ab44 36 sheets = plates;
rschimpf78 3:fd2ca631ab44 37 pc.printf("\nERROR: Selector is outside of plate range\nRestart/Reset Program");
rschimpf78 3:fd2ca631ab44 38 }
rschimpf78 3:fd2ca631ab44 39 else if (plates<sheets){
rschimpf78 3:fd2ca631ab44 40 en = 0;
rschimpf78 3:fd2ca631ab44 41 mot.setSpeed(600);
rschimpf78 3:fd2ca631ab44 42 mot.rotate(1);
rschimpf78 3:fd2ca631ab44 43 }
rschimpf78 3:fd2ca631ab44 44 else{
rschimpf78 3:fd2ca631ab44 45 en = 0;
rschimpf78 3:fd2ca631ab44 46 mot.setSpeed(600);
rschimpf78 3:fd2ca631ab44 47 mot.rotate(0);
rschimpf78 3:fd2ca631ab44 48 }
rschimpf78 3:fd2ca631ab44 49
rschimpf78 3:fd2ca631ab44 50 if (dist<=fp+er && dist>=fp-er){ //450,440
rschimpf78 3:fd2ca631ab44 51 sheets = 1;
rschimpf78 3:fd2ca631ab44 52 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 53 }
rschimpf78 3:fd2ca631ab44 54
rschimpf78 3:fd2ca631ab44 55 if (dist<= fp-tp+er && dist>=fp-tp-er){ //424,414
rschimpf78 3:fd2ca631ab44 56 sheets = 2;
rschimpf78 3:fd2ca631ab44 57 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 58 }
rschimpf78 3:fd2ca631ab44 59
rschimpf78 3:fd2ca631ab44 60 if (dist<= fp-2*tp+er && dist>=fp-2*tp-er){
rschimpf78 3:fd2ca631ab44 61 sheets = 3;
rschimpf78 3:fd2ca631ab44 62 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 63 }
rschimpf78 3:fd2ca631ab44 64
rschimpf78 3:fd2ca631ab44 65 if (dist<= fp-3*tp+er && dist>=fp-3*tp-er){
rschimpf78 3:fd2ca631ab44 66 sheets = 4;
rschimpf78 3:fd2ca631ab44 67 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 68 }
rschimpf78 3:fd2ca631ab44 69 if (dist<= fp-4*tp+er && dist>=fp-4*tp-er){
rschimpf78 3:fd2ca631ab44 70 sheets = 5;
rschimpf78 3:fd2ca631ab44 71 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 72 }
rschimpf78 3:fd2ca631ab44 73 if (dist<= fp-5*tp+er && dist>=fp-5*tp-er){
rschimpf78 3:fd2ca631ab44 74 sheets = 6;
rschimpf78 3:fd2ca631ab44 75 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 76 }
rschimpf78 3:fd2ca631ab44 77 if (dist<= fp-6*tp+er && dist>=fp-6*tp-er){
rschimpf78 3:fd2ca631ab44 78 sheets = 7;
rschimpf78 3:fd2ca631ab44 79 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 80 }
rschimpf78 3:fd2ca631ab44 81 if (dist<= fp-7*tp+er && dist>=fp-7*tp-er){
rschimpf78 3:fd2ca631ab44 82 sheets = 8;
rschimpf78 3:fd2ca631ab44 83 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 84 }
rschimpf78 3:fd2ca631ab44 85 if (dist<= fp-8*tp+er && dist>=fp-8*tp-er){
rschimpf78 3:fd2ca631ab44 86 sheets = 9;
rschimpf78 3:fd2ca631ab44 87 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 88 }
rschimpf78 3:fd2ca631ab44 89 if (dist<= fp-9*tp+er && dist>=fp-9*tp-er){
rschimpf78 3:fd2ca631ab44 90 sheets = 10;
rschimpf78 3:fd2ca631ab44 91 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 92 }
rschimpf78 3:fd2ca631ab44 93 if (dist<= fp-10*tp+er && dist>=fp-10*tp-er){
rschimpf78 3:fd2ca631ab44 94 sheets = 11;
rschimpf78 3:fd2ca631ab44 95 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 96 }
rschimpf78 3:fd2ca631ab44 97 if (dist<= fp-11*tp+er && dist>=fp-11*tp-er){
rschimpf78 3:fd2ca631ab44 98 sheets = 12;
rschimpf78 3:fd2ca631ab44 99 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 100 }
rschimpf78 3:fd2ca631ab44 101 if (dist<= fp-12*tp+er && dist>=fp-12*tp-er){
rschimpf78 3:fd2ca631ab44 102 sheets = 13;
rschimpf78 3:fd2ca631ab44 103 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 104 }
rschimpf78 3:fd2ca631ab44 105 if (dist<= fp-13*tp+er && dist>=fp-13*tp-er){
rschimpf78 3:fd2ca631ab44 106 sheets = 14;
rschimpf78 3:fd2ca631ab44 107 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 108 }
rschimpf78 3:fd2ca631ab44 109 if (dist<= fp-14*tp+er && dist>=fp-14*tp-er){
rschimpf78 3:fd2ca631ab44 110 sheets = 15;
rschimpf78 3:fd2ca631ab44 111 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 112 }
rschimpf78 3:fd2ca631ab44 113 if (dist<= fp-15*tp+er && dist>=fp-15*tp-er){ // 75, 65
rschimpf78 3:fd2ca631ab44 114 sheets = 16;
rschimpf78 3:fd2ca631ab44 115 pc.printf("\nSheets selected:%ld",sheets);
rschimpf78 3:fd2ca631ab44 116 }
rschimpf78 3:fd2ca631ab44 117 }
rschimpf78 3:fd2ca631ab44 118 mot.stop();
rschimpf78 3:fd2ca631ab44 119 en = 1;
rschimpf78 3:fd2ca631ab44 120 wait(1);
rschimpf78 3:fd2ca631ab44 121 }
rschimpf78 3:fd2ca631ab44 122
rschimpf78 3:fd2ca631ab44 123 void beam()
rschimpf78 3:fd2ca631ab44 124 {
rschimpf78 3:fd2ca631ab44 125
rschimpf78 3:fd2ca631ab44 126 unsigned int path_dist;
rschimpf78 4:63f0989c8d1e 127 int err = 11;
rschimpf78 4:63f0989c8d1e 128 int sens_pos = 126; //adjust if needed //535 0 plates
rschimpf78 3:fd2ca631ab44 129 int sheet_th = 25;
rschimpf78 3:fd2ca631ab44 130 pathsensor.start();
rschimpf78 3:fd2ca631ab44 131 wait_ms(500);
rschimpf78 3:fd2ca631ab44 132 path_dist=pathsensor.get_dist_cm();
rschimpf78 3:fd2ca631ab44 133 pc.printf("\nBeam Path Sensor : %ld",path_dist);
rschimpf78 3:fd2ca631ab44 134 path_sheets = 17;
rschimpf78 3:fd2ca631ab44 135
rschimpf78 4:63f0989c8d1e 136 if (path_dist >= sens_pos-err && path_dist <= sens_pos+err){ //110,130
rschimpf78 3:fd2ca631ab44 137 path_sheets = 16;
rschimpf78 3:fd2ca631ab44 138
rschimpf78 3:fd2ca631ab44 139 }
rschimpf78 3:fd2ca631ab44 140 if (path_dist >= sens_pos-err+sheet_th && path_dist <= sens_pos+err+sheet_th){ //152,168 a:
rschimpf78 3:fd2ca631ab44 141 path_sheets = 15;
rschimpf78 3:fd2ca631ab44 142
rschimpf78 3:fd2ca631ab44 143 }
rschimpf78 3:fd2ca631ab44 144 if (path_dist >= sens_pos-err+2*sheet_th && path_dist <= sens_pos+err+2*sheet_th){ //179-191
rschimpf78 3:fd2ca631ab44 145 path_sheets = 14;
rschimpf78 3:fd2ca631ab44 146
rschimpf78 3:fd2ca631ab44 147 }
rschimpf78 3:fd2ca631ab44 148 if (path_dist >= sens_pos-err+3*sheet_th && path_dist <= sens_pos+err+3*sheet_th){ //205-217
rschimpf78 3:fd2ca631ab44 149 path_sheets = 13;
rschimpf78 3:fd2ca631ab44 150
rschimpf78 3:fd2ca631ab44 151 }
rschimpf78 3:fd2ca631ab44 152 if (path_dist >= sens_pos-err+4*sheet_th && path_dist <= sens_pos+err+4*sheet_th){ //231-243
rschimpf78 3:fd2ca631ab44 153 path_sheets = 12;
rschimpf78 3:fd2ca631ab44 154
rschimpf78 3:fd2ca631ab44 155 }
rschimpf78 3:fd2ca631ab44 156 if (path_dist >= sens_pos-err+5*sheet_th && path_dist <= sens_pos+err+5*sheet_th){ //257-269
rschimpf78 3:fd2ca631ab44 157 path_sheets = 11;
rschimpf78 3:fd2ca631ab44 158
rschimpf78 3:fd2ca631ab44 159 }
rschimpf78 3:fd2ca631ab44 160 if (path_dist >= sens_pos-err+6*sheet_th && path_dist <= sens_pos+err+6*sheet_th){ //283-295
rschimpf78 3:fd2ca631ab44 161 path_sheets = 10;
rschimpf78 3:fd2ca631ab44 162
rschimpf78 3:fd2ca631ab44 163 }
rschimpf78 3:fd2ca631ab44 164 if (path_dist >= sens_pos-err+7*sheet_th && path_dist <= sens_pos+err+7*sheet_th){ //309-321
rschimpf78 3:fd2ca631ab44 165 path_sheets = 9;
rschimpf78 3:fd2ca631ab44 166
rschimpf78 3:fd2ca631ab44 167 }
rschimpf78 3:fd2ca631ab44 168 if (path_dist >= sens_pos-err+8*sheet_th && path_dist <= sens_pos+err+8*sheet_th){ //323-333
rschimpf78 3:fd2ca631ab44 169 path_sheets = 8;
rschimpf78 3:fd2ca631ab44 170
rschimpf78 3:fd2ca631ab44 171 }
rschimpf78 3:fd2ca631ab44 172 if (path_dist >= sens_pos-err+9*sheet_th && path_dist <= sens_pos+err+9*sheet_th){ //349-359
rschimpf78 3:fd2ca631ab44 173 path_sheets = 7;
rschimpf78 3:fd2ca631ab44 174
rschimpf78 3:fd2ca631ab44 175 }
rschimpf78 3:fd2ca631ab44 176 if (path_dist >= sens_pos-err+10*sheet_th && path_dist <= sens_pos+err+10*sheet_th){
rschimpf78 3:fd2ca631ab44 177 path_sheets = 6;
rschimpf78 3:fd2ca631ab44 178
rschimpf78 3:fd2ca631ab44 179 }
rschimpf78 3:fd2ca631ab44 180 if (path_dist >= sens_pos-err+11*sheet_th && path_dist <= sens_pos+err+11*sheet_th){
rschimpf78 3:fd2ca631ab44 181 path_sheets = 5;
rschimpf78 3:fd2ca631ab44 182
rschimpf78 3:fd2ca631ab44 183 }
rschimpf78 3:fd2ca631ab44 184 if (path_dist >= sens_pos-err+12*sheet_th && path_dist <= sens_pos+err+12*sheet_th){
rschimpf78 3:fd2ca631ab44 185 path_sheets = 4;
rschimpf78 3:fd2ca631ab44 186
rschimpf78 3:fd2ca631ab44 187 }
rschimpf78 3:fd2ca631ab44 188 if (path_dist >= sens_pos-err+13*sheet_th && path_dist <= sens_pos+err+13*sheet_th){ //468,478
rschimpf78 3:fd2ca631ab44 189 path_sheets = 3;
rschimpf78 3:fd2ca631ab44 190
rschimpf78 3:fd2ca631ab44 191 }
rschimpf78 3:fd2ca631ab44 192 if (path_dist >= sens_pos-err+14*sheet_th && path_dist <= sens_pos+err+14*sheet_th){ //494,504
rschimpf78 3:fd2ca631ab44 193 path_sheets = 2;
rschimpf78 3:fd2ca631ab44 194
rschimpf78 3:fd2ca631ab44 195 }
rschimpf78 4:63f0989c8d1e 196 if (path_dist >= sens_pos-10-err+15*sheet_th && path_dist <= sens_pos-10+err+15*sheet_th){//greater than 509 less 517
rschimpf78 3:fd2ca631ab44 197 path_sheets = 1;
rschimpf78 3:fd2ca631ab44 198
rschimpf78 3:fd2ca631ab44 199 }
rschimpf78 4:63f0989c8d1e 200 if (path_dist > sens_pos-err+16*sheet_th){ //greater than 534
rschimpf78 3:fd2ca631ab44 201 path_sheets = 0;
rschimpf78 3:fd2ca631ab44 202 }
rschimpf78 3:fd2ca631ab44 203 }
rschimpf78 3:fd2ca631ab44 204
rschimpf78 3:fd2ca631ab44 205 void platedetect()
rschimpf78 3:fd2ca631ab44 206 {
rschimpf78 3:fd2ca631ab44 207 if(homeSwitch==0 && path_sheets==0)
rschimpf78 2:e8f8095464cf 208 {
rschimpf78 3:fd2ca631ab44 209 pc.printf("\nAll plates are in the start position");
rschimpf78 2:e8f8095464cf 210 }
rschimpf78 3:fd2ca631ab44 211 else if (homeSwitch==1 && path_sheets==0)
rschimpf78 2:e8f8095464cf 212 {
rschimpf78 3:fd2ca631ab44 213 pc.printf("\nError-Plates are not fully extended");
rschimpf78 2:e8f8095464cf 214 }
rschimpf78 2:e8f8095464cf 215 else
rschimpf78 2:e8f8095464cf 216 {
rschimpf78 3:fd2ca631ab44 217 if (plates==path_sheets)
rschimpf78 3:fd2ca631ab44 218 {
rschimpf78 3:fd2ca631ab44 219 pc.printf("\nPlates in beam path:%ld",path_sheets);
rschimpf78 3:fd2ca631ab44 220 }
rschimpf78 3:fd2ca631ab44 221 else if (plates != path_sheets && path_sheets <= 16)
rschimpf78 3:fd2ca631ab44 222 {
rschimpf78 3:fd2ca631ab44 223 pc.printf("\nError: %ld",path_sheets);
rschimpf78 3:fd2ca631ab44 224 pc.printf(" Plates in beam path, but user sent %ld",plates);
rschimpf78 3:fd2ca631ab44 225 pc.printf(" Plates");
rschimpf78 3:fd2ca631ab44 226 }
rschimpf78 3:fd2ca631ab44 227 else{
rschimpf78 3:fd2ca631ab44 228 pc.printf("\nERROR: Additional objects detected in beam path");
rschimpf78 3:fd2ca631ab44 229 }
rschimpf78 3:fd2ca631ab44 230 }
rschimpf78 3:fd2ca631ab44 231 }
rschimpf78 6:354264d1e4bb 232
rschimpf78 3:fd2ca631ab44 233 void retract()
rschimpf78 0:88834eed3de0 234 {
rschimpf78 6:354264d1e4bb 235 millisStart();
rschimpf78 6:354264d1e4bb 236 long Duration = 0;
rschimpf78 6:354264d1e4bb 237 long StartTime = millis();
rschimpf78 6:354264d1e4bb 238
rschimpf78 6:354264d1e4bb 239 while(homeSwitch == 1 && Duration <= 48000 )
rschimpf78 2:e8f8095464cf 240 {
rschimpf78 0:88834eed3de0 241 in1=0;
rschimpf78 2:e8f8095464cf 242 in2=1;
rschimpf78 6:354264d1e4bb 243 long CurrentTime = millis();
rschimpf78 6:354264d1e4bb 244 Duration = CurrentTime-StartTime;
rschimpf78 6:354264d1e4bb 245 pc.printf("Duration = %d\r\n", Duration);
rschimpf78 3:fd2ca631ab44 246 }
rschimpf78 2:e8f8095464cf 247 in1=1;
rschimpf78 2:e8f8095464cf 248 in2=1;
rschimpf78 0:88834eed3de0 249 }
rschimpf78 0:88834eed3de0 250
rschimpf78 3:fd2ca631ab44 251 void send()
rschimpf78 3:fd2ca631ab44 252 {
rschimpf78 3:fd2ca631ab44 253 in1=1;
rschimpf78 3:fd2ca631ab44 254 in2=0;
rschimpf78 6:354264d1e4bb 255 wait(48);
rschimpf78 0:88834eed3de0 256 in1=1;
rschimpf78 2:e8f8095464cf 257 in2=1;
rschimpf78 0:88834eed3de0 258 }
rschimpf78 0:88834eed3de0 259 void internalpullups()
rschimpf78 0:88834eed3de0 260 {
rschimpf78 2:e8f8095464cf 261 homeSwitch.mode(PullUp);
rschimpf78 0:88834eed3de0 262 wait (.01);
rschimpf78 0:88834eed3de0 263 }
rschimpf78 3:fd2ca631ab44 264
rschimpf78 3:fd2ca631ab44 265 void send_error_check()
rschimpf78 3:fd2ca631ab44 266 {
rschimpf78 3:fd2ca631ab44 267 if (plates <= 0 || plates >= 17)
rschimpf78 2:e8f8095464cf 268 {
rschimpf78 3:fd2ca631ab44 269 pc.printf("\nERROR: Invalid Range |");
rschimpf78 2:e8f8095464cf 270 }
rschimpf78 3:fd2ca631ab44 271 else if(homeSwitch == 1)
rschimpf78 3:fd2ca631ab44 272 {
rschimpf78 3:fd2ca631ab44 273 pc.printf("\nERROR: Not at Home Position |");
rschimpf78 3:fd2ca631ab44 274 }
rschimpf78 3:fd2ca631ab44 275 else
rschimpf78 3:fd2ca631ab44 276 {
rschimpf78 3:fd2ca631ab44 277 plate_selection();
rschimpf78 3:fd2ca631ab44 278 send();
rschimpf78 3:fd2ca631ab44 279 }
rschimpf78 3:fd2ca631ab44 280 }
rschimpf78 3:fd2ca631ab44 281 void select_error_check()
rschimpf78 3:fd2ca631ab44 282 {
rschimpf78 3:fd2ca631ab44 283 if (homeSwitch == 1)
rschimpf78 3:fd2ca631ab44 284 {
rschimpf78 3:fd2ca631ab44 285 pc.printf("\nERROR: Not at Home Position |");
rschimpf78 3:fd2ca631ab44 286 }
rschimpf78 3:fd2ca631ab44 287 else
rschimpf78 3:fd2ca631ab44 288 {
rschimpf78 3:fd2ca631ab44 289 plate_selection();
rschimpf78 3:fd2ca631ab44 290 }
rschimpf78 3:fd2ca631ab44 291 }
rschimpf78 3:fd2ca631ab44 292 void retract_error_check()
rschimpf78 3:fd2ca631ab44 293 {
rschimpf78 3:fd2ca631ab44 294 if (homeSwitch == 0)
rschimpf78 3:fd2ca631ab44 295 {
rschimpf78 3:fd2ca631ab44 296 pc.printf("\nERROR: Already at Home Position |");
rschimpf78 0:88834eed3de0 297 }
rschimpf78 2:e8f8095464cf 298 else
rschimpf78 2:e8f8095464cf 299 {
rschimpf78 3:fd2ca631ab44 300 retract();
rschimpf78 2:e8f8095464cf 301 }
rschimpf78 2:e8f8095464cf 302 }
rschimpf78 0:88834eed3de0 303
rschimpf78 0:88834eed3de0 304 int main()
rschimpf78 2:e8f8095464cf 305 {
rschimpf78 2:e8f8095464cf 306 in1=1;
rschimpf78 2:e8f8095464cf 307 in2=1;
rschimpf78 2:e8f8095464cf 308 en = 1;
rschimpf78 2:e8f8095464cf 309 wait(0.1);
rschimpf78 0:88834eed3de0 310 internalpullups();
rschimpf78 3:fd2ca631ab44 311 wait(0.1);
rschimpf78 2:e8f8095464cf 312
rschimpf78 2:e8f8095464cf 313 while(1)
rschimpf78 0:88834eed3de0 314 {
rschimpf78 4:63f0989c8d1e 315
rschimpf78 4:63f0989c8d1e 316 plates = (rand() % 16) + 1;
rschimpf78 4:63f0989c8d1e 317 wait(2);
rschimpf78 2:e8f8095464cf 318 pc.printf("\nresponse recieved |");
rschimpf78 3:fd2ca631ab44 319 send_error_check();
rschimpf78 3:fd2ca631ab44 320 beam();
rschimpf78 3:fd2ca631ab44 321 platedetect();
rschimpf78 4:63f0989c8d1e 322 wait(2);
rschimpf78 3:fd2ca631ab44 323 retract_error_check();
rschimpf78 4:63f0989c8d1e 324 wait(2);
rschimpf78 0:88834eed3de0 325 }
rschimpf78 4:63f0989c8d1e 326 }