Coursework

Committer:
sesa514652
Date:
Wed Feb 02 21:38:11 2022 +0000
Revision:
38:71cfbdd2076d
Parent:
37:323ec7d23454
Child:
39:a31b49f3e65e
commenting out unused code object recognition getting close

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sesa514652 28:aab0aa846cf6 1 /**
sesa514652 28:aab0aa846cf6 2 *.....Kory Hamill
sesa514652 28:aab0aa846cf6 3 *.....IOT Smart Electronics Coursework
sesa514652 36:3e975536e8d7 4 *.....Acknowlegements Libary Makers
sesa514652 28:aab0aa846cf6 5 *.....18689004
sesa514652 28:aab0aa846cf6 6 */
sesa514652 28:aab0aa846cf6 7 /**
sesa514652 28:aab0aa846cf6 8 * Section of code to bring in the #includes
sesa514652 28:aab0aa846cf6 9 */
sesa514652 0:1f799c7cce2b 10 #include "mbed.h"
sesa514652 38:71cfbdd2076d 11 //#include "Joystick.h" Not used in project
sesa514652 0:1f799c7cce2b 12 #include "N5110.h"
sesa514652 0:1f799c7cce2b 13 #include "hcsr04.h"
sesa514652 3:6ecb75a2675c 14 #include "Piezo.h"
sesa514652 8:770d168713cc 15 #include "string"
sesa514652 20:4e1f2917a857 16 #include "array"
sesa514652 22:82b01fdfc61f 17 #include <iostream>
sesa514652 37:323ec7d23454 18 #include <numeric>
sesa514652 37:323ec7d23454 19
sesa514652 36:3e975536e8d7 20 using namespace std;
sesa514652 35:36c7605dda06 21
sesa514652 28:aab0aa846cf6 22 /**
sesa514652 28:aab0aa846cf6 23 *...This Section of the code is used to bring in volatile Varible's, These can be wrote to throught the code.
sesa514652 28:aab0aa846cf6 24 *...The Varibles are used to track button press's on the board.
sesa514652 28:aab0aa846cf6 25 */
sesa514652 28:aab0aa846cf6 26 volatile int g_ButtonAPress;
sesa514652 28:aab0aa846cf6 27 volatile int g_ButtonBPress;
sesa514652 33:3717bc4e2fa8 28 volatile int LoopCountScan1;
sesa514652 33:3717bc4e2fa8 29 volatile int LoopCountScan2;
sesa514652 33:3717bc4e2fa8 30 volatile int LoopCountScan3;
sesa514652 33:3717bc4e2fa8 31 volatile int LoopCountScan4;
sesa514652 33:3717bc4e2fa8 32 volatile int LoopCountScan5;
sesa514652 28:aab0aa846cf6 33 volatile int g_buttonA_flag = 0;
sesa514652 28:aab0aa846cf6 34 volatile int g_buttonB_flag = 0;
sesa514652 28:aab0aa846cf6 35 volatile int g_buttonX_flag = 0;
sesa514652 28:aab0aa846cf6 36 volatile int g_buttonY_flag = 0;
sesa514652 28:aab0aa846cf6 37 volatile int g_buttonStart_flag = 0;
sesa514652 28:aab0aa846cf6 38 volatile int g_buttonBack_flag = 0;
sesa514652 28:aab0aa846cf6 39 volatile int g_buttonLeft_flag = 0;
sesa514652 28:aab0aa846cf6 40 volatile int g_buttonRight_flag = 0;
sesa514652 31:91a3c61d33e6 41 /**
sesa514652 31:91a3c61d33e6 42 *..Bring in 5 arrays of 5 for each of the 5 required scans.
sesa514652 31:91a3c61d33e6 43 *..array Ref starts at 0,
sesa514652 31:91a3c61d33e6 44 */
sesa514652 31:91a3c61d33e6 45 volatile int Scan1[5];
sesa514652 38:71cfbdd2076d 46 /* no longer required
sesa514652 31:91a3c61d33e6 47 volatile int Scan2[5];
sesa514652 31:91a3c61d33e6 48 volatile int Scan3[5];
sesa514652 31:91a3c61d33e6 49 volatile int Scan4[5];
sesa514652 31:91a3c61d33e6 50 volatile int Scan5[5];
sesa514652 38:71cfbdd2076d 51 volatile int wall[5];
sesa514652 38:71cfbdd2076d 52 */
sesa514652 28:aab0aa846cf6 53 /**
sesa514652 28:aab0aa846cf6 54 *... Section of code to assign names to IO pins on the K64f
sesa514652 28:aab0aa846cf6 55 */
sesa514652 8:770d168713cc 56 InterruptIn buttonA(PTB9);
sesa514652 8:770d168713cc 57 InterruptIn buttonB(PTD0);
sesa514652 8:770d168713cc 58 InterruptIn buttonX(PTC17);
sesa514652 8:770d168713cc 59 InterruptIn buttonY(PTC12);
sesa514652 11:1dec05b7d1c1 60 InterruptIn buttonStart(PTC5);
sesa514652 11:1dec05b7d1c1 61 InterruptIn buttonBack(PTB19);
sesa514652 11:1dec05b7d1c1 62 InterruptIn buttonLeft(PTB18);
sesa514652 11:1dec05b7d1c1 63 InterruptIn buttonRight(PTB3);
sesa514652 38:71cfbdd2076d 64 //Joystick joystick(PTB10,PTB11,PTC16); Not used in project
sesa514652 28:aab0aa846cf6 65 HCSR04 sensor(D14, D15);
sesa514652 28:aab0aa846cf6 66 Piezo Buzzer(PTC10);
sesa514652 28:aab0aa846cf6 67 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
sesa514652 28:aab0aa846cf6 68
sesa514652 28:aab0aa846cf6 69 /**
sesa514652 28:aab0aa846cf6 70 *...For used with the LCD Screen. rows,cols
sesa514652 28:aab0aa846cf6 71 */
sesa514652 0:1f799c7cce2b 72 int sprite[8][5] = {
sesa514652 28:aab0aa846cf6 73 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 74 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 75 { 0,0,1,0,0 },
sesa514652 28:aab0aa846cf6 76 { 0,1,1,1,0 },
sesa514652 28:aab0aa846cf6 77 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 78 { 1,1,1,1,1 },
sesa514652 28:aab0aa846cf6 79 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 80 { 1,1,0,1,1 },
sesa514652 28:aab0aa846cf6 81 };
sesa514652 28:aab0aa846cf6 82 /**
sesa514652 28:aab0aa846cf6 83 *...Section for starting the board and seeting up interrupt routines
sesa514652 28:aab0aa846cf6 84 *...Along with other functions to be called later
sesa514652 28:aab0aa846cf6 85 */
sesa514652 11:1dec05b7d1c1 86 void init_K64F(); // Start K64fBoard
sesa514652 11:1dec05b7d1c1 87 void buttonA_isr(); // Button A interrupt service routine
sesa514652 11:1dec05b7d1c1 88 void buttonB_isr(); // Button B interrupt service routine
sesa514652 11:1dec05b7d1c1 89 void buttonX_isr(); // Button X interrupt service routine
sesa514652 11:1dec05b7d1c1 90 void buttonY_isr(); // Button Y interrupt service routine
sesa514652 11:1dec05b7d1c1 91 void buttonStart_isr(); // Button Start interrupt service routine
sesa514652 11:1dec05b7d1c1 92 void buttonBack_isr(); // Button Back interrupt service routine
sesa514652 11:1dec05b7d1c1 93 void buttonLeft_isr(); // Button Left interrupt service routine
sesa514652 11:1dec05b7d1c1 94 void buttonRight_isr(); // Button Right interrupt service routine
sesa514652 31:91a3c61d33e6 95 void inputScan1();
sesa514652 31:91a3c61d33e6 96 void inputScan2();
sesa514652 31:91a3c61d33e6 97 void inputScan3();
sesa514652 31:91a3c61d33e6 98 void inputScan4();
sesa514652 31:91a3c61d33e6 99 void inputScan5();
sesa514652 33:3717bc4e2fa8 100 int NoContinueExit();
sesa514652 18:bb36d96142dd 101 int buttonCountA();
sesa514652 18:bb36d96142dd 102 int buttonCountB();
sesa514652 36:3e975536e8d7 103
sesa514652 33:3717bc4e2fa8 104
sesa514652 33:3717bc4e2fa8 105
sesa514652 33:3717bc4e2fa8 106
sesa514652 33:3717bc4e2fa8 107
sesa514652 28:aab0aa846cf6 108 EventQueue queue; /**< Required to get around issues with printing onto LCD and the Printf */
sesa514652 28:aab0aa846cf6 109
sesa514652 28:aab0aa846cf6 110
sesa514652 28:aab0aa846cf6 111 /** Code which was never used
sesa514652 28:aab0aa846cf6 112 *
sesa514652 28:aab0aa846cf6 113 *.. was for initial learning of C++
sesa514652 11:1dec05b7d1c1 114 //volatile int g_buttonA_counter = 0; // Global counter
sesa514652 8:770d168713cc 115 //Test function after research C++ lanuage 05/01/22
sesa514652 4:167ce930c9d5 116 int cube(int num){
sesa514652 11:1dec05b7d1c1 117 return num*num;
sesa514652 5:9b2c976ca318 118 };
sesa514652 10:42e70b596099 119 // Menu Items
sesa514652 10:42e70b596099 120 int page1;
sesa514652 10:42e70b596099 121 int page2;
sesa514652 10:42e70b596099 122 int page3;
sesa514652 28:aab0aa846cf6 123 string Listitem1 = "Game"; //
sesa514652 28:aab0aa846cf6 124 string Listitem2 = "Measure"; //
sesa514652 28:aab0aa846cf6 125 string Listitem3 = "Detect"; //
sesa514652 28:aab0aa846cf6 126 / Test of the interup an operating the buzzer this kills the board
sesa514652 9:cdd7d9a123f9 127 void buzzme(){
sesa514652 9:cdd7d9a123f9 128 Buzzer.play(200,120);
sesa514652 9:cdd7d9a123f9 129 wait_ms(5);
sesa514652 9:cdd7d9a123f9 130 Buzzer.play(200,120);;
sesa514652 9:cdd7d9a123f9 131 }
sesa514652 26:8826ed43fad2 132 int Scan1[5];
sesa514652 26:8826ed43fad2 133 int Scan2[5];
sesa514652 24:a88c4941a25e 134 int Scan1Input(){;
sesa514652 25:9798017b837d 135 Scan1[0] = sensor.distance();
sesa514652 25:9798017b837d 136 Scan1[1] = sensor.distance();;
sesa514652 25:9798017b837d 137 Scan1[2] = sensor.distance();;
sesa514652 26:8826ed43fad2 138 Scan1[3] = sensor.distance();;
sesa514652 26:8826ed43fad2 139 Scan1[4] = sensor.distance();;
sesa514652 26:8826ed43fad2 140 return Scan1[0,1,2,3,4];}
sesa514652 28:aab0aa846cf6 141 //void returnme(){
sesa514652 10:42e70b596099 142 //int num;
sesa514652 10:42e70b596099 143 // return num*num;
sesa514652 10:42e70b596099 144 // };
sesa514652 28:aab0aa846cf6 145 */
sesa514652 36:3e975536e8d7 146 /*
sesa514652 36:3e975536e8d7 147 bool Equal(int ar1[],int ar2[], int n, int m){
sesa514652 36:3e975536e8d7 148 if(n!=m)
sesa514652 36:3e975536e8d7 149 return false;
sesa514652 36:3e975536e8d7 150 sort(ar1,ar1 +n);
sesa514652 36:3e975536e8d7 151 sort(ar2,ar2 +m);
sesa514652 36:3e975536e8d7 152 for (int i=0;i<n; i++)
sesa514652 36:3e975536e8d7 153 if(ar1[i]!=ar2[i])
sesa514652 36:3e975536e8d7 154 return false;
sesa514652 36:3e975536e8d7 155 return true;
sesa514652 36:3e975536e8d7 156 }*/
sesa514652 38:71cfbdd2076d 157 /* Problems with this and Being exact and repeatable
sesa514652 37:323ec7d23454 158 bool MatchMade(int arr1[], int arr2[], int n, int m)
sesa514652 36:3e975536e8d7 159 {
sesa514652 36:3e975536e8d7 160 // If lengths of array are not equal means
sesa514652 36:3e975536e8d7 161 // array are not equal
sesa514652 36:3e975536e8d7 162 if (n != m)
sesa514652 36:3e975536e8d7 163 return false;
sesa514652 36:3e975536e8d7 164
sesa514652 36:3e975536e8d7 165 // Sort both arrays
sesa514652 36:3e975536e8d7 166 sort(arr1, arr1 + n);
sesa514652 36:3e975536e8d7 167 sort(arr2, arr2 + m);
sesa514652 36:3e975536e8d7 168
sesa514652 36:3e975536e8d7 169 // Linearly compare elements
sesa514652 36:3e975536e8d7 170 for (int i = 0; i < n; i++)
sesa514652 36:3e975536e8d7 171 if (arr1[i] != arr2[i])
sesa514652 36:3e975536e8d7 172 return false;
sesa514652 36:3e975536e8d7 173
sesa514652 36:3e975536e8d7 174
sesa514652 36:3e975536e8d7 175 // If all elements were same.
sesa514652 36:3e975536e8d7 176 return true;
sesa514652 38:71cfbdd2076d 177 */
sesa514652 38:71cfbdd2076d 178
sesa514652 36:3e975536e8d7 179 int main() {
sesa514652 37:323ec7d23454 180
sesa514652 28:aab0aa846cf6 181
sesa514652 28:aab0aa846cf6 182 /**
sesa514652 28:aab0aa846cf6 183 *.. Intialise joystick and Lcd
sesa514652 28:aab0aa846cf6 184 */
sesa514652 38:71cfbdd2076d 185 // joystick.init(); not used in project
sesa514652 28:aab0aa846cf6 186 lcd.init();
sesa514652 28:aab0aa846cf6 187 lcd.setContrast(0.5);
sesa514652 28:aab0aa846cf6 188 /**
sesa514652 28:aab0aa846cf6 189 *.. Issues were found with the LCd and printf while using interrupts, to get around
sesa514652 28:aab0aa846cf6 190 *.. this issue these queue's to the event thread were added.
sesa514652 28:aab0aa846cf6 191 */
sesa514652 11:1dec05b7d1c1 192 Thread eventThread;
sesa514652 28:aab0aa846cf6 193 eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
sesa514652 28:aab0aa846cf6 194 buttonA.rise(queue.event(&buttonA_isr));
sesa514652 11:1dec05b7d1c1 195 buttonB.rise(queue.event(&buttonB_isr));
sesa514652 11:1dec05b7d1c1 196 buttonX.rise(queue.event(&buttonX_isr));
sesa514652 11:1dec05b7d1c1 197 buttonY.rise(queue.event(&buttonY_isr));
sesa514652 28:aab0aa846cf6 198 buttonStart.rise(queue.event(&buttonStart_isr));
sesa514652 11:1dec05b7d1c1 199 buttonBack.rise(queue.event(&buttonBack_isr));
sesa514652 11:1dec05b7d1c1 200 buttonLeft.rise(queue.event(&buttonLeft_isr));
sesa514652 11:1dec05b7d1c1 201 buttonRight.rise(queue.event(&buttonRight_isr));
sesa514652 28:aab0aa846cf6 202 /**
sesa514652 28:aab0aa846cf6 203 *..Buttons were connected to IO pins which required a pull down resistor to be active.
sesa514652 28:aab0aa846cf6 204 */
sesa514652 8:770d168713cc 205 buttonA.mode(PullDown);
sesa514652 10:42e70b596099 206 buttonB.mode(PullDown);
sesa514652 10:42e70b596099 207 buttonX.mode(PullDown);
sesa514652 10:42e70b596099 208 buttonY.mode(PullDown);
sesa514652 11:1dec05b7d1c1 209 buttonStart.mode(PullDown);
sesa514652 11:1dec05b7d1c1 210 buttonBack.mode(PullDown);
sesa514652 11:1dec05b7d1c1 211 buttonLeft.mode(PullDown);
sesa514652 11:1dec05b7d1c1 212 buttonRight.mode(PullDown);
sesa514652 5:9b2c976ca318 213
sesa514652 28:aab0aa846cf6 214 /**
sesa514652 28:aab0aa846cf6 215 *.. Section of code not used in main program.
sesa514652 28:aab0aa846cf6 216 *
sesa514652 28:aab0aa846cf6 217 Buzzer.period(10.0f);
sesa514652 5:9b2c976ca318 218 //Buzzer.pulsewidth(1);
sesa514652 28:aab0aa846cf6 219 Test Struct after research 05/01/22
sesa514652 6:f7f30e0e3bed 220 struct ObjectDefine{
sesa514652 7:ce70a873aa70 221 int qwer;
sesa514652 6:f7f30e0e3bed 222 float Distance;
sesa514652 7:ce70a873aa70 223 char te;
sesa514652 7:ce70a873aa70 224 double dubs;
sesa514652 7:ce70a873aa70 225 string namestruct;
sesa514652 8:770d168713cc 226 // string ;
sesa514652 6:f7f30e0e3bed 227 };
sesa514652 7:ce70a873aa70 228 // Test Class 06/01/22
sesa514652 10:42e70b596099 229 class myClass{
sesa514652 7:ce70a873aa70 230 public:
sesa514652 7:ce70a873aa70 231 string nameclass ;
sesa514652 7:ce70a873aa70 232 double dubss;
sesa514652 7:ce70a873aa70 233 int inty;
sesa514652 7:ce70a873aa70 234 };
sesa514652 7:ce70a873aa70 235 myClass Class1;
sesa514652 7:ce70a873aa70 236 Class1.nameclass ="firstclass";
sesa514652 10:42e70b596099 237 ObjectDefine Object1;
sesa514652 10:42e70b596099 238 Object1.qwer = 12;
sesa514652 6:f7f30e0e3bed 239 Object1.Distance = 34;
sesa514652 7:ce70a873aa70 240 Object1.te = 'A';
sesa514652 7:ce70a873aa70 241 Object1.dubs = 23;
sesa514652 10:42e70b596099 242 Object1.namestruct = "name";
sesa514652 28:aab0aa846cf6 243 */
sesa514652 36:3e975536e8d7 244
sesa514652 36:3e975536e8d7 245 /*
sesa514652 36:3e975536e8d7 246 int ar1[]= {2,3,4,5};
sesa514652 36:3e975536e8d7 247 int ar2[] = {2,3,4,5};
sesa514652 36:3e975536e8d7 248 int n = sizeof(ar1);
sesa514652 36:3e975536e8d7 249 int m = sizeof(ar2);
sesa514652 36:3e975536e8d7 250 if(Equal(ar1,ar2,n,m)){
sesa514652 36:3e975536e8d7 251 printf("TRUEEEEEEEEEEEEEEEEEEE\n");}
sesa514652 36:3e975536e8d7 252 else {printf("Falseeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddd\n");}
sesa514652 36:3e975536e8d7 253
sesa514652 36:3e975536e8d7 254
sesa514652 36:3e975536e8d7 255
sesa514652 36:3e975536e8d7 256
sesa514652 36:3e975536e8d7 257 */
sesa514652 36:3e975536e8d7 258
sesa514652 36:3e975536e8d7 259
sesa514652 36:3e975536e8d7 260
sesa514652 36:3e975536e8d7 261
sesa514652 36:3e975536e8d7 262
sesa514652 36:3e975536e8d7 263 printf("I SHOULD HAVE BEEN PRINTED !!!!!");
sesa514652 36:3e975536e8d7 264
sesa514652 38:71cfbdd2076d 265 while(1) {
sesa514652 27:d48bf4e8f1a0 266
sesa514652 28:aab0aa846cf6 267 /**
sesa514652 28:aab0aa846cf6 268 *.. It was found Cout was not working as expected.
sesa514652 28:aab0aa846cf6 269 cout << "Test value collection";
sesa514652 28:aab0aa846cf6 270 Scan1Input();
sesa514652 28:aab0aa846cf6 271
sesa514652 27:d48bf4e8f1a0 272 cout << Scan1[0];cout <<"/n";
sesa514652 27:d48bf4e8f1a0 273 cout << Scan1[1];"/n";
sesa514652 27:d48bf4e8f1a0 274 cout << Scan1[2];"/n";
sesa514652 27:d48bf4e8f1a0 275 cout << Scan1[3];"/n";
sesa514652 27:d48bf4e8f1a0 276 cout << Scan1[4];"/n";
sesa514652 27:d48bf4e8f1a0 277 cout << Scan1[5];"/n";
sesa514652 27:d48bf4e8f1a0 278 cout << Scan1[6];"/n";
sesa514652 27:d48bf4e8f1a0 279 cout << Scan1[7];"/n";
sesa514652 27:d48bf4e8f1a0 280 cout << Scan1[8];"/n";
sesa514652 27:d48bf4e8f1a0 281 cout << Scan1[9];"/n";
sesa514652 27:d48bf4e8f1a0 282 */
sesa514652 33:3717bc4e2fa8 283 printf("Debug : LoopCount1 : %i\n",LoopCountScan1);
sesa514652 33:3717bc4e2fa8 284 printf("Debug : LoopCount2 : %i\n",LoopCountScan2);
sesa514652 33:3717bc4e2fa8 285 printf("Debug : LoopCount3 : %i\n",LoopCountScan3);
sesa514652 33:3717bc4e2fa8 286 printf("Debug : LoopCount4 : %i\n",LoopCountScan4);
sesa514652 33:3717bc4e2fa8 287 printf("Debug : LoopCount5 : %i\n",LoopCountScan5);
sesa514652 28:aab0aa846cf6 288 printf("press count = %i\n",g_ButtonAPress);
sesa514652 26:8826ed43fad2 289 printf("Scan1 1 : %d cm\n", Scan1[0]);
sesa514652 26:8826ed43fad2 290 printf("Scan1 2 : %d cm\n", Scan1[1]);
sesa514652 26:8826ed43fad2 291 printf("Scan1 3 : %d cm\n", Scan1[2]);
sesa514652 26:8826ed43fad2 292 printf("Scan1 4 : %d cm\n", Scan1[3]);
sesa514652 26:8826ed43fad2 293 printf("Scan1 5 : %d cm\n", Scan1[4]);
sesa514652 38:71cfbdd2076d 294 /* NO longer Reuired Section
sesa514652 26:8826ed43fad2 295 printf("Scan2 1 : %d cm\n", Scan2[0]);
sesa514652 26:8826ed43fad2 296 printf("Scan2 2 : %d cm\n", Scan2[1]);
sesa514652 26:8826ed43fad2 297 printf("Scan2 3 : %d cm\n", Scan2[2]);
sesa514652 26:8826ed43fad2 298 printf("Scan2 4 : %d cm\n", Scan2[3]);
sesa514652 26:8826ed43fad2 299 printf("Scan2 5 : %d cm\n", Scan2[4]);
sesa514652 26:8826ed43fad2 300 printf("Scan3 1 : %d cm\n", Scan3[0]);
sesa514652 26:8826ed43fad2 301 printf("Scan3 2 : %d cm\n", Scan3[1]);
sesa514652 26:8826ed43fad2 302 printf("Scan3 3 : %d cm\n", Scan3[2]);
sesa514652 26:8826ed43fad2 303 printf("Scan3 4 : %d cm\n", Scan3[3]);
sesa514652 26:8826ed43fad2 304 printf("Scan3 5 : %d cm\n", Scan3[4]);
sesa514652 26:8826ed43fad2 305 printf("Scan4 1 : %d cm\n", Scan4[0]);
sesa514652 26:8826ed43fad2 306 printf("Scan4 2 : %d cm\n", Scan4[1]);
sesa514652 26:8826ed43fad2 307 printf("Scan4 3 : %d cm\n", Scan4[2]);
sesa514652 26:8826ed43fad2 308 printf("Scan4 4 : %d cm\n", Scan4[3]);
sesa514652 26:8826ed43fad2 309 printf("Scan4 5 : %d cm\n", Scan4[4]);
sesa514652 26:8826ed43fad2 310 printf("Scan5 1 : %d cm\n", Scan5[0]);
sesa514652 26:8826ed43fad2 311 printf("Scan5 2 : %d cm\n", Scan5[1]);
sesa514652 26:8826ed43fad2 312 printf("Scan5 3 : %d cm\n", Scan5[2]);
sesa514652 26:8826ed43fad2 313 printf("Scan5 4 : %d cm\n", Scan5[3]);
sesa514652 38:71cfbdd2076d 314 printf("Scan5 5 : %d cm\n", Scan5[4]);
sesa514652 38:71cfbdd2076d 315 */
sesa514652 25:9798017b837d 316 printf("I always Get printed \n");
sesa514652 24:a88c4941a25e 317 // cout << Scan1[2];
sesa514652 24:a88c4941a25e 318 // cout << Scan1[6];
sesa514652 28:aab0aa846cf6 319 printf("I Should Be printed always \n");
sesa514652 28:aab0aa846cf6 320 /**
sesa514652 28:aab0aa846cf6 321 *..Code section on Comparing data Cout was causing issue
sesa514652 28:aab0aa846cf6 322 *
sesa514652 24:a88c4941a25e 323 if (Scan1[1] > Scan1[2]){
sesa514652 24:a88c4941a25e 324 cout <<'+';
sesa514652 24:a88c4941a25e 325 }else if (Scan1[1]=Scan1[2]){
sesa514652 24:a88c4941a25e 326 cout <<'=';}
sesa514652 24:a88c4941a25e 327 else {
sesa514652 24:a88c4941a25e 328 cout <<'-';}
sesa514652 24:a88c4941a25e 329 if (Scan1[2] > Scan1[3]){
sesa514652 24:a88c4941a25e 330 cout <<'+';
sesa514652 24:a88c4941a25e 331 }else if (Scan1[2]=Scan1[3]){
sesa514652 24:a88c4941a25e 332 cout <<'=';}
sesa514652 23:f72175fb49ed 333 else {
sesa514652 23:f72175fb49ed 334 cout <<'-';}
sesa514652 24:a88c4941a25e 335
sesa514652 24:a88c4941a25e 336 if (Scan1[3] > Scan1[4]){
sesa514652 24:a88c4941a25e 337 cout <<'+';
sesa514652 24:a88c4941a25e 338 }else if (Scan1[3]=Scan1[4]){
sesa514652 24:a88c4941a25e 339 cout <<'=';}
sesa514652 24:a88c4941a25e 340 else {
sesa514652 24:a88c4941a25e 341 cout <<'-';}
sesa514652 24:a88c4941a25e 342 if (Scan1[4] > Scan1[5]){
sesa514652 24:a88c4941a25e 343 cout <<'+';
sesa514652 24:a88c4941a25e 344 }else if (Scan1[4]=Scan1[5]){
sesa514652 24:a88c4941a25e 345 cout <<'=';}
sesa514652 24:a88c4941a25e 346 else {
sesa514652 24:a88c4941a25e 347 cout <<'-';}
sesa514652 24:a88c4941a25e 348 if (Scan1[5] > Scan1[6]){
sesa514652 24:a88c4941a25e 349 cout <<'+';
sesa514652 24:a88c4941a25e 350 }else if (Scan1[5]=Scan1[6]){
sesa514652 24:a88c4941a25e 351 cout <<'=';}
sesa514652 24:a88c4941a25e 352 else {
sesa514652 24:a88c4941a25e 353 cout <<'-';}
sesa514652 24:a88c4941a25e 354 if (Scan1[6] > Scan1[7]){
sesa514652 24:a88c4941a25e 355 cout <<'+';
sesa514652 24:a88c4941a25e 356 }else if (Scan1[6]=Scan1[7]){
sesa514652 24:a88c4941a25e 357 cout <<'=';}
sesa514652 24:a88c4941a25e 358 else {
sesa514652 24:a88c4941a25e 359 cout <<'-';}
sesa514652 24:a88c4941a25e 360 if (Scan1[7] > Scan1[8]){
sesa514652 24:a88c4941a25e 361 cout <<'+';
sesa514652 24:a88c4941a25e 362 }else if (Scan1[7]=Scan1[8]){
sesa514652 24:a88c4941a25e 363 cout <<'=';}
sesa514652 24:a88c4941a25e 364 else {
sesa514652 24:a88c4941a25e 365 cout <<'-';}
sesa514652 24:a88c4941a25e 366
sesa514652 24:a88c4941a25e 367 if (Scan1[8] > Scan1[9]){
sesa514652 24:a88c4941a25e 368 cout <<'+';
sesa514652 24:a88c4941a25e 369 }else if (Scan1[8]=Scan1[9]){
sesa514652 24:a88c4941a25e 370 cout <<'=';}
sesa514652 24:a88c4941a25e 371 else {
sesa514652 24:a88c4941a25e 372 cout <<'-';}
sesa514652 24:a88c4941a25e 373 if (Scan1[9] > Scan1[10]){
sesa514652 24:a88c4941a25e 374 cout <<'+';
sesa514652 24:a88c4941a25e 375 }else if (Scan1[9]=Scan1[10]){
sesa514652 24:a88c4941a25e 376 cout <<'=';}
sesa514652 24:a88c4941a25e 377 else {
sesa514652 24:a88c4941a25e 378 cout <<'-';}
sesa514652 28:aab0aa846cf6 379 */
sesa514652 21:2e37f80e8b5b 380
sesa514652 26:8826ed43fad2 381 /////////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 382 /**
sesa514652 28:aab0aa846cf6 383 *..Initial state when starting the Board.
sesa514652 28:aab0aa846cf6 384 */
sesa514652 28:aab0aa846cf6 385 switch(g_ButtonAPress){
sesa514652 21:2e37f80e8b5b 386 default:
sesa514652 29:1aef0ecf9840 387 lcd.clear();
sesa514652 21:2e37f80e8b5b 388 lcd.printString("Main Menu",0,0);
sesa514652 28:aab0aa846cf6 389 lcd.drawLine(0,10,80,10,2);
sesa514652 31:91a3c61d33e6 390 lcd.printString("Press A",0,2);
sesa514652 31:91a3c61d33e6 391 lcd.printString("New Scan",0,3);
sesa514652 31:91a3c61d33e6 392 lcd.printString("Press B",0,4);
sesa514652 38:71cfbdd2076d 393 lcd.printString("Decicde",0,5);
sesa514652 33:3717bc4e2fa8 394 LoopCountScan1 =0;
sesa514652 33:3717bc4e2fa8 395 LoopCountScan2 =0;
sesa514652 33:3717bc4e2fa8 396 LoopCountScan3 =0;
sesa514652 33:3717bc4e2fa8 397 LoopCountScan4 =0;
sesa514652 33:3717bc4e2fa8 398 LoopCountScan5 =0;
sesa514652 29:1aef0ecf9840 399
sesa514652 36:3e975536e8d7 400
sesa514652 36:3e975536e8d7 401
sesa514652 38:71cfbdd2076d 402 /* Code Section No longer required
sesa514652 38:71cfbdd2076d 403 *
sesa514652 38:71cfbdd2076d 404
sesa514652 33:3717bc4e2fa8 405 for(int i=0; i<5; i++){
sesa514652 33:3717bc4e2fa8 406
sesa514652 36:3e975536e8d7 407 printf("hello Scan: %i The value of : %i \n",i, Scan1[i]);
sesa514652 33:3717bc4e2fa8 408 if (Scan1[i]>95){
sesa514652 36:3e975536e8d7 409 Decide[i]= '+';
sesa514652 36:3e975536e8d7 410 printf("no wall%c/n",Decide[i]);}
sesa514652 33:3717bc4e2fa8 411 else if (Scan1[i]<85){
sesa514652 36:3e975536e8d7 412 Decide[i]= '-';
sesa514652 36:3e975536e8d7 413 printf("OBJECT ABOUT%c/n",Decide[i]);}
sesa514652 33:3717bc4e2fa8 414 else if (Scan1[i]>85<95){
sesa514652 36:3e975536e8d7 415 Decide[i]= '=';
sesa514652 36:3e975536e8d7 416 printf("No Object %c/n",Decide[i]);}
sesa514652 35:36c7605dda06 417 }
sesa514652 38:71cfbdd2076d 418 */
sesa514652 38:71cfbdd2076d 419 for (int i=0; i<5; i++){
sesa514652 38:71cfbdd2076d 420 int box[5]= {90,10,10,90,90};// compared to the wall if the box is present this sequence should be recorded
sesa514652 38:71cfbdd2076d 421 int carton[5] = {10,10,10,10,10}; // compared to the carton if the box is present this sequence should be recorded
sesa514652 37:323ec7d23454 422 int isBox[5];
sesa514652 38:71cfbdd2076d 423 int isCarton[5];
sesa514652 38:71cfbdd2076d 424
sesa514652 37:323ec7d23454 425 isBox[i] =abs(Scan1[i]-box[i]);
sesa514652 37:323ec7d23454 426 printf("DeBUGGING isBOX : %i\n", isBox[i]);
sesa514652 37:323ec7d23454 427 if (isBox[i]<=5){
sesa514652 37:323ec7d23454 428 isBox[i]=0;}
sesa514652 37:323ec7d23454 429 else if (isBox[i]>5){
sesa514652 37:323ec7d23454 430 isBox[i]=1;}
sesa514652 37:323ec7d23454 431 printf("DeBUGGING isBOX : %i\n", isBox[i]);
sesa514652 38:71cfbdd2076d 432 int boxTotal = accumulate(begin(isBox), end(isBox), 0, plus<int>());
sesa514652 38:71cfbdd2076d 433 printf("DEBUGGING BOX total %i\n", boxTotal);
sesa514652 37:323ec7d23454 434
sesa514652 38:71cfbdd2076d 435 isCarton[i] =abs(Scan1[i]-carton[i]);
sesa514652 38:71cfbdd2076d 436 printf("DeBUGGING isCarton : %i\n", isCarton[i]);
sesa514652 38:71cfbdd2076d 437 if (isCarton[i]<=5){
sesa514652 38:71cfbdd2076d 438 isCarton[i]=0;}
sesa514652 38:71cfbdd2076d 439 else if (isCarton[i]>5){
sesa514652 38:71cfbdd2076d 440 isCarton[i]=1;}
sesa514652 38:71cfbdd2076d 441 printf("DeBUGGING isCarton : %i\n", isCarton[i]);
sesa514652 38:71cfbdd2076d 442 int cartonTotal = accumulate(begin(isCarton), end(isCarton), 0, plus<int>());
sesa514652 38:71cfbdd2076d 443 printf("DEBUGGING CARTON total %i\n", cartonTotal);}
sesa514652 37:323ec7d23454 444
sesa514652 35:36c7605dda06 445
sesa514652 29:1aef0ecf9840 446 /** IF Statement to decide on shape to draw
sesa514652 29:1aef0ecf9840 447 *.. This section of code compares the each array element with the one proceding it and makes a logical decision if higher lower or equal.
sesa514652 29:1aef0ecf9840 448 */
sesa514652 34:dfe7f5799582 449 /*
sesa514652 29:1aef0ecf9840 450 if (Scan1[0] > Scan1[1])
sesa514652 29:1aef0ecf9840 451 {
sesa514652 29:1aef0ecf9840 452 printf("+");
sesa514652 29:1aef0ecf9840 453 Decide[0]= 'x';
sesa514652 29:1aef0ecf9840 454 printf( "chosen 1 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 455 }
sesa514652 31:91a3c61d33e6 456 else if (Scan1[0] == Scan1[1])
sesa514652 29:1aef0ecf9840 457 {
sesa514652 29:1aef0ecf9840 458 printf("=");
sesa514652 29:1aef0ecf9840 459 Decide[0]='=';
sesa514652 29:1aef0ecf9840 460 printf( "chosen2 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 461 }
sesa514652 29:1aef0ecf9840 462 else if (Scan1[0] < Scan1[1])
sesa514652 29:1aef0ecf9840 463 {
sesa514652 29:1aef0ecf9840 464 printf("-");
sesa514652 29:1aef0ecf9840 465 Decide[0]='-';
sesa514652 29:1aef0ecf9840 466 printf( "chosen3 %c\n",Decide[0]);
sesa514652 29:1aef0ecf9840 467 }
sesa514652 29:1aef0ecf9840 468 if (Scan1[1] > Scan1[2])
sesa514652 29:1aef0ecf9840 469 {
sesa514652 29:1aef0ecf9840 470 printf("+");
sesa514652 29:1aef0ecf9840 471 Decide[1]= 'x';
sesa514652 29:1aef0ecf9840 472 printf( "chosen 1 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 473 }
sesa514652 31:91a3c61d33e6 474 else if (Scan1[1] == Scan1[2])
sesa514652 29:1aef0ecf9840 475 {
sesa514652 29:1aef0ecf9840 476 printf("=");
sesa514652 29:1aef0ecf9840 477 Decide[1]='=';
sesa514652 29:1aef0ecf9840 478 printf( "chosen2 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 479 }
sesa514652 29:1aef0ecf9840 480 else if (Scan1[1] < Scan1[2])
sesa514652 29:1aef0ecf9840 481 {
sesa514652 29:1aef0ecf9840 482 printf("-");
sesa514652 29:1aef0ecf9840 483 Decide[1]='-';
sesa514652 29:1aef0ecf9840 484 printf( "chosen3 %c\n",Decide[1]);
sesa514652 29:1aef0ecf9840 485 }
sesa514652 29:1aef0ecf9840 486
sesa514652 29:1aef0ecf9840 487 if (Scan1[2] > Scan1[3])
sesa514652 29:1aef0ecf9840 488 {
sesa514652 29:1aef0ecf9840 489 printf("+");
sesa514652 29:1aef0ecf9840 490 Decide[2]= 'x';
sesa514652 29:1aef0ecf9840 491 printf( "chosen 1 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 492 }
sesa514652 31:91a3c61d33e6 493 else if (Scan1[2] == Scan1[3])
sesa514652 29:1aef0ecf9840 494 {
sesa514652 29:1aef0ecf9840 495 printf("=");
sesa514652 29:1aef0ecf9840 496 Decide[2]='=';
sesa514652 29:1aef0ecf9840 497 printf( "chosen2 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 498 }
sesa514652 29:1aef0ecf9840 499 else if (Scan1[2] < Scan1[3])
sesa514652 29:1aef0ecf9840 500 {
sesa514652 29:1aef0ecf9840 501 printf("-");
sesa514652 29:1aef0ecf9840 502 Decide[2]='-';
sesa514652 29:1aef0ecf9840 503 printf( "chosen3 %c\n",Decide[2]);
sesa514652 29:1aef0ecf9840 504 }
sesa514652 29:1aef0ecf9840 505 if (Scan1[3] > Scan1[4])
sesa514652 29:1aef0ecf9840 506 {
sesa514652 29:1aef0ecf9840 507 printf("+");
sesa514652 29:1aef0ecf9840 508 Decide[3]= 'x';
sesa514652 29:1aef0ecf9840 509 printf( "chosen 1 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 510 }
sesa514652 31:91a3c61d33e6 511 else if (Scan1[3] == Scan1[4])
sesa514652 29:1aef0ecf9840 512 {
sesa514652 29:1aef0ecf9840 513 printf("=");
sesa514652 29:1aef0ecf9840 514 Decide[3]='=';
sesa514652 29:1aef0ecf9840 515 printf( "chosen2 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 516 }
sesa514652 29:1aef0ecf9840 517 else if (Scan1[3] < Scan1[4])
sesa514652 29:1aef0ecf9840 518 {
sesa514652 29:1aef0ecf9840 519 printf("-");
sesa514652 29:1aef0ecf9840 520 Decide[3]='-';
sesa514652 29:1aef0ecf9840 521 printf( "chosen3 %c\n",Decide[3]);
sesa514652 29:1aef0ecf9840 522 }
sesa514652 29:1aef0ecf9840 523
sesa514652 29:1aef0ecf9840 524 if (Scan2[0] > Scan2[1])
sesa514652 29:1aef0ecf9840 525 {
sesa514652 29:1aef0ecf9840 526 printf("+");
sesa514652 29:1aef0ecf9840 527 Decide2[0]= 'x';
sesa514652 29:1aef0ecf9840 528 printf( "chosen 1 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 529 }
sesa514652 31:91a3c61d33e6 530 else if (Scan2[0] == Scan2[1])
sesa514652 29:1aef0ecf9840 531 {
sesa514652 29:1aef0ecf9840 532 printf("=");
sesa514652 29:1aef0ecf9840 533 Decide2[0]='=';
sesa514652 29:1aef0ecf9840 534 printf( "chosen2 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 535 }
sesa514652 29:1aef0ecf9840 536 else if (Scan2[0] < Scan2[1])
sesa514652 29:1aef0ecf9840 537 {
sesa514652 29:1aef0ecf9840 538 printf("-");
sesa514652 29:1aef0ecf9840 539 Decide2[0]='-';
sesa514652 29:1aef0ecf9840 540 printf( "chosen3 %c\n",Decide2[0]);
sesa514652 29:1aef0ecf9840 541 }
sesa514652 29:1aef0ecf9840 542 if (Scan2[1] > Scan2[2])
sesa514652 29:1aef0ecf9840 543 {
sesa514652 29:1aef0ecf9840 544 printf("+");
sesa514652 29:1aef0ecf9840 545 Decide2[1]= 'x';
sesa514652 29:1aef0ecf9840 546 printf( "chosen 1 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 547 }
sesa514652 31:91a3c61d33e6 548 else if (Scan2[1] == Scan2[2])
sesa514652 29:1aef0ecf9840 549 {
sesa514652 29:1aef0ecf9840 550 printf("=");
sesa514652 29:1aef0ecf9840 551 Decide2[1]='=';
sesa514652 29:1aef0ecf9840 552 printf( "chosen2 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 553 }
sesa514652 29:1aef0ecf9840 554 else if (Scan2[1] < Scan2[2])
sesa514652 29:1aef0ecf9840 555 {
sesa514652 29:1aef0ecf9840 556 printf("-");
sesa514652 29:1aef0ecf9840 557 Decide2[1]='-';
sesa514652 29:1aef0ecf9840 558 printf( "chosen3 %c\n",Decide2[1]);
sesa514652 29:1aef0ecf9840 559 }
sesa514652 29:1aef0ecf9840 560
sesa514652 29:1aef0ecf9840 561 if (Scan2[2] > Scan2[3])
sesa514652 29:1aef0ecf9840 562 {
sesa514652 29:1aef0ecf9840 563 printf("+");
sesa514652 29:1aef0ecf9840 564 Decide2[2]= 'x';
sesa514652 29:1aef0ecf9840 565 printf( "chosen 1 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 566 }
sesa514652 31:91a3c61d33e6 567 else if (Scan2[2] == Scan2[3])
sesa514652 29:1aef0ecf9840 568 {
sesa514652 29:1aef0ecf9840 569 printf("=");
sesa514652 29:1aef0ecf9840 570 Decide2[2]='=';
sesa514652 29:1aef0ecf9840 571 printf( "chosen2 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 572 }
sesa514652 29:1aef0ecf9840 573 else if (Scan2[2] < Scan2[3])
sesa514652 29:1aef0ecf9840 574 {
sesa514652 29:1aef0ecf9840 575 printf("-");
sesa514652 29:1aef0ecf9840 576 Decide2[2]='-';
sesa514652 29:1aef0ecf9840 577 printf( "chosen3 %c\n",Decide2[2]);
sesa514652 29:1aef0ecf9840 578 }
sesa514652 29:1aef0ecf9840 579 if (Scan2[3] > Scan2[4])
sesa514652 29:1aef0ecf9840 580 {
sesa514652 29:1aef0ecf9840 581 printf("+");
sesa514652 29:1aef0ecf9840 582 Decide2[3]= 'x';
sesa514652 29:1aef0ecf9840 583 printf( "chosen 1 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 584 }
sesa514652 31:91a3c61d33e6 585 else if (Scan2[3] == Scan2[4])
sesa514652 29:1aef0ecf9840 586 {
sesa514652 29:1aef0ecf9840 587 printf("=");
sesa514652 29:1aef0ecf9840 588 Decide2[3]='=';
sesa514652 29:1aef0ecf9840 589 printf( "chosen2 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 590 }
sesa514652 29:1aef0ecf9840 591 else if (Scan2[3] < Scan2[4])
sesa514652 29:1aef0ecf9840 592 {
sesa514652 29:1aef0ecf9840 593 printf("-");
sesa514652 29:1aef0ecf9840 594 Decide2[3]='-';
sesa514652 29:1aef0ecf9840 595 printf( "chosen3 %c\n",Decide2[3]);
sesa514652 29:1aef0ecf9840 596 }
sesa514652 29:1aef0ecf9840 597
sesa514652 29:1aef0ecf9840 598 if (Scan3[0] > Scan3[1])
sesa514652 29:1aef0ecf9840 599 {
sesa514652 29:1aef0ecf9840 600 printf("+");
sesa514652 29:1aef0ecf9840 601 Decide3[0]= 'x';
sesa514652 29:1aef0ecf9840 602 printf( "chosen 1 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 603 }
sesa514652 31:91a3c61d33e6 604 else if (Scan3[0] == Scan3[1])
sesa514652 29:1aef0ecf9840 605 {
sesa514652 29:1aef0ecf9840 606 printf("=");
sesa514652 29:1aef0ecf9840 607 Decide3[0]='=';
sesa514652 29:1aef0ecf9840 608 printf( "chosen2 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 609 }
sesa514652 29:1aef0ecf9840 610 else if (Scan3[0] < Scan3[1])
sesa514652 29:1aef0ecf9840 611 {
sesa514652 29:1aef0ecf9840 612 printf("-");
sesa514652 29:1aef0ecf9840 613 Decide3[0]='-';
sesa514652 29:1aef0ecf9840 614 printf( "chosen3 %c\n",Decide3[0]);
sesa514652 29:1aef0ecf9840 615 }
sesa514652 29:1aef0ecf9840 616 if (Scan3[1] > Scan3[2])
sesa514652 29:1aef0ecf9840 617 {
sesa514652 29:1aef0ecf9840 618 printf("+");
sesa514652 29:1aef0ecf9840 619 Decide3[1]= 'x';
sesa514652 29:1aef0ecf9840 620 printf( "chosen 1 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 621 }
sesa514652 31:91a3c61d33e6 622 else if (Scan3[1] == Scan3[2])
sesa514652 29:1aef0ecf9840 623 {
sesa514652 29:1aef0ecf9840 624 printf("=");
sesa514652 29:1aef0ecf9840 625 Decide3[1]='=';
sesa514652 29:1aef0ecf9840 626 printf( "chosen2 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 627 }
sesa514652 29:1aef0ecf9840 628 else if (Scan3[1] < Scan3[2])
sesa514652 29:1aef0ecf9840 629 {
sesa514652 29:1aef0ecf9840 630 printf("-");
sesa514652 29:1aef0ecf9840 631 Decide3[1]='-';
sesa514652 29:1aef0ecf9840 632 printf( "chosen3 %c\n",Decide3[1]);
sesa514652 29:1aef0ecf9840 633 }
sesa514652 29:1aef0ecf9840 634
sesa514652 29:1aef0ecf9840 635 if (Scan3[2] > Scan3[3])
sesa514652 29:1aef0ecf9840 636 {
sesa514652 29:1aef0ecf9840 637 printf("+");
sesa514652 29:1aef0ecf9840 638 Decide3[2]= 'x';
sesa514652 29:1aef0ecf9840 639 printf( "chosen 1 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 640 }
sesa514652 31:91a3c61d33e6 641 else if (Scan3[2] == Scan3[3])
sesa514652 29:1aef0ecf9840 642 {
sesa514652 29:1aef0ecf9840 643 printf("=");
sesa514652 29:1aef0ecf9840 644 Decide3[2]='=';
sesa514652 29:1aef0ecf9840 645 printf( "chosen2 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 646 }
sesa514652 29:1aef0ecf9840 647 else if (Scan3[2] < Scan3[3])
sesa514652 29:1aef0ecf9840 648 {
sesa514652 29:1aef0ecf9840 649 printf("-");
sesa514652 29:1aef0ecf9840 650 Decide3[2]='-';
sesa514652 29:1aef0ecf9840 651 printf( "chosen3 %c\n",Decide3[2]);
sesa514652 29:1aef0ecf9840 652 }
sesa514652 29:1aef0ecf9840 653 if (Scan3[3] > Scan3[4])
sesa514652 29:1aef0ecf9840 654 {
sesa514652 29:1aef0ecf9840 655 printf("+");
sesa514652 29:1aef0ecf9840 656 Decide3[3]= 'x';
sesa514652 29:1aef0ecf9840 657 printf( "chosen 1 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 658 }
sesa514652 31:91a3c61d33e6 659 else if (Scan3[3] == Scan3[4])
sesa514652 29:1aef0ecf9840 660 {
sesa514652 29:1aef0ecf9840 661 printf("=");
sesa514652 29:1aef0ecf9840 662 Decide3[3]='=';
sesa514652 29:1aef0ecf9840 663 printf( "chosen2 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 664 }
sesa514652 29:1aef0ecf9840 665 else if (Scan3[3] < Scan3[4])
sesa514652 29:1aef0ecf9840 666 {
sesa514652 29:1aef0ecf9840 667 printf("-");
sesa514652 29:1aef0ecf9840 668 Decide3[3]='-';
sesa514652 29:1aef0ecf9840 669 printf( "chosen3 %c\n",Decide3[3]);
sesa514652 29:1aef0ecf9840 670 }
sesa514652 29:1aef0ecf9840 671
sesa514652 29:1aef0ecf9840 672 if (Scan4[0] > Scan4[1])
sesa514652 29:1aef0ecf9840 673 {
sesa514652 29:1aef0ecf9840 674 printf("+");
sesa514652 29:1aef0ecf9840 675 Decide4[0]= 'x';
sesa514652 29:1aef0ecf9840 676 printf( "chosen 1 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 677 }
sesa514652 31:91a3c61d33e6 678 else if (Scan4[0] == Scan4[1])
sesa514652 29:1aef0ecf9840 679 {
sesa514652 29:1aef0ecf9840 680 printf("=");
sesa514652 29:1aef0ecf9840 681 Decide4[0]='=';
sesa514652 29:1aef0ecf9840 682 printf( "chosen2 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 683 }
sesa514652 29:1aef0ecf9840 684 else if (Scan4[0] < Scan4[1])
sesa514652 29:1aef0ecf9840 685 {
sesa514652 29:1aef0ecf9840 686 printf("-");
sesa514652 29:1aef0ecf9840 687 Decide4[0]='-';
sesa514652 29:1aef0ecf9840 688 printf( "chosen3 %c\n",Decide4[0]);
sesa514652 29:1aef0ecf9840 689 }
sesa514652 29:1aef0ecf9840 690 if (Scan4[1] > Scan4[2])
sesa514652 29:1aef0ecf9840 691 {
sesa514652 29:1aef0ecf9840 692 printf("+");
sesa514652 29:1aef0ecf9840 693 Decide4[1]= 'x';
sesa514652 29:1aef0ecf9840 694 printf( "chosen 1 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 695 }
sesa514652 31:91a3c61d33e6 696 else if (Scan4[1] == Scan4[2])
sesa514652 29:1aef0ecf9840 697 {
sesa514652 29:1aef0ecf9840 698 printf("=");
sesa514652 29:1aef0ecf9840 699 Decide4[1]='=';
sesa514652 29:1aef0ecf9840 700 printf( "chosen2 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 701 }
sesa514652 29:1aef0ecf9840 702 else if (Scan4[1] < Scan4[2])
sesa514652 29:1aef0ecf9840 703 {
sesa514652 29:1aef0ecf9840 704 printf("-");
sesa514652 29:1aef0ecf9840 705 Decide4[1]='-';
sesa514652 29:1aef0ecf9840 706 printf( "chosen3 %c\n",Decide4[1]);
sesa514652 29:1aef0ecf9840 707 }
sesa514652 29:1aef0ecf9840 708
sesa514652 29:1aef0ecf9840 709 if (Scan4[2] > Scan4[3])
sesa514652 29:1aef0ecf9840 710 {
sesa514652 29:1aef0ecf9840 711 printf("+");
sesa514652 29:1aef0ecf9840 712 Decide4[2]= 'x';
sesa514652 29:1aef0ecf9840 713 printf( "chosen 1 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 714 }
sesa514652 31:91a3c61d33e6 715 else if (Scan4[2] == Scan4[3])
sesa514652 29:1aef0ecf9840 716 {
sesa514652 29:1aef0ecf9840 717 printf("=");
sesa514652 29:1aef0ecf9840 718 Decide4[2]='=';
sesa514652 29:1aef0ecf9840 719 printf( "chosen2 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 720 }
sesa514652 29:1aef0ecf9840 721 else if (Scan4[2] < Scan4[3])
sesa514652 29:1aef0ecf9840 722 {
sesa514652 29:1aef0ecf9840 723 printf("-");
sesa514652 29:1aef0ecf9840 724 Decide4[2]='-';
sesa514652 29:1aef0ecf9840 725 printf( "chosen3 %c\n",Decide4[2]);
sesa514652 29:1aef0ecf9840 726 }
sesa514652 29:1aef0ecf9840 727 if (Scan4[3] > Scan4[4])
sesa514652 29:1aef0ecf9840 728 {
sesa514652 29:1aef0ecf9840 729 printf("+");
sesa514652 29:1aef0ecf9840 730 Decide4[3]= 'x';
sesa514652 29:1aef0ecf9840 731 printf( "chosen 1 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 732 }
sesa514652 31:91a3c61d33e6 733 else if (Scan4[3] == Scan4[4])
sesa514652 29:1aef0ecf9840 734 {
sesa514652 29:1aef0ecf9840 735 printf("=");
sesa514652 29:1aef0ecf9840 736 Decide4[3]='=';
sesa514652 29:1aef0ecf9840 737 printf( "chosen2 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 738 }
sesa514652 29:1aef0ecf9840 739 else if (Scan4[3] < Scan4[4])
sesa514652 29:1aef0ecf9840 740 {
sesa514652 29:1aef0ecf9840 741 printf("-");
sesa514652 29:1aef0ecf9840 742 Decide4[3]='-';
sesa514652 29:1aef0ecf9840 743 printf( "chosen3 %c\n",Decide4[3]);
sesa514652 29:1aef0ecf9840 744 }
sesa514652 29:1aef0ecf9840 745 if (Scan5[0] > Scan5[1])
sesa514652 29:1aef0ecf9840 746 {
sesa514652 29:1aef0ecf9840 747 printf("+");
sesa514652 29:1aef0ecf9840 748 Decide5[0]= 'x';
sesa514652 29:1aef0ecf9840 749 printf( "chosen 1 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 750 }
sesa514652 31:91a3c61d33e6 751 else if (Scan5[0] == Scan5[1])
sesa514652 29:1aef0ecf9840 752 {
sesa514652 29:1aef0ecf9840 753 printf("=");
sesa514652 29:1aef0ecf9840 754 Decide5[0]='=';
sesa514652 29:1aef0ecf9840 755 printf( "chosen2 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 756 }
sesa514652 29:1aef0ecf9840 757 else if (Scan5[0] < Scan5[1])
sesa514652 29:1aef0ecf9840 758 {
sesa514652 29:1aef0ecf9840 759 printf("-");
sesa514652 29:1aef0ecf9840 760 Decide5[0]='-';
sesa514652 29:1aef0ecf9840 761 printf( "chosen3 %c\n",Decide5[0]);
sesa514652 29:1aef0ecf9840 762 }
sesa514652 29:1aef0ecf9840 763 if (Scan5[1] > Scan5[2])
sesa514652 29:1aef0ecf9840 764 {
sesa514652 29:1aef0ecf9840 765 printf("+");
sesa514652 29:1aef0ecf9840 766 Decide5[1]= 'x';
sesa514652 29:1aef0ecf9840 767 printf( "chosen 1 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 768 }
sesa514652 31:91a3c61d33e6 769 else if (Scan5[1] == Scan5[2])
sesa514652 29:1aef0ecf9840 770 {
sesa514652 29:1aef0ecf9840 771 printf("=");
sesa514652 29:1aef0ecf9840 772 Decide5[1]='=';
sesa514652 29:1aef0ecf9840 773 printf( "chosen2 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 774 }
sesa514652 29:1aef0ecf9840 775 else if (Scan5[1] < Scan5[2])
sesa514652 29:1aef0ecf9840 776 {
sesa514652 29:1aef0ecf9840 777 printf("-");
sesa514652 29:1aef0ecf9840 778 Decide5[1]='-';
sesa514652 29:1aef0ecf9840 779 printf( "chosen3 %c\n",Decide5[1]);
sesa514652 29:1aef0ecf9840 780 }
sesa514652 29:1aef0ecf9840 781
sesa514652 29:1aef0ecf9840 782 if (Scan5[2] > Scan5[3])
sesa514652 29:1aef0ecf9840 783 {
sesa514652 29:1aef0ecf9840 784 printf("+");
sesa514652 29:1aef0ecf9840 785 Decide5[2]= 'x';
sesa514652 29:1aef0ecf9840 786 printf( "chosen 1 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 787 }
sesa514652 31:91a3c61d33e6 788 else if (Scan5[2] == Scan5[3])
sesa514652 29:1aef0ecf9840 789 {
sesa514652 29:1aef0ecf9840 790 printf("=");
sesa514652 29:1aef0ecf9840 791 Decide5[2]='=';
sesa514652 29:1aef0ecf9840 792 printf( "chosen2 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 793 }
sesa514652 29:1aef0ecf9840 794 else if (Scan5[2] < Scan5[3])
sesa514652 29:1aef0ecf9840 795 {
sesa514652 29:1aef0ecf9840 796 printf("-");
sesa514652 29:1aef0ecf9840 797 Decide5[2]='-';
sesa514652 29:1aef0ecf9840 798 printf( "chosen3 %c\n",Decide5[2]);
sesa514652 29:1aef0ecf9840 799 }
sesa514652 29:1aef0ecf9840 800 if (Scan5[3] > Scan5[4])
sesa514652 29:1aef0ecf9840 801 {
sesa514652 29:1aef0ecf9840 802 printf("+");
sesa514652 29:1aef0ecf9840 803 Decide5[3]= 'x';
sesa514652 29:1aef0ecf9840 804 printf( "chosen 1 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 805 }
sesa514652 31:91a3c61d33e6 806 else if (Scan5[3] == Scan5[4])
sesa514652 29:1aef0ecf9840 807 {
sesa514652 29:1aef0ecf9840 808 printf("=");
sesa514652 29:1aef0ecf9840 809 Decide5[3]='=';
sesa514652 29:1aef0ecf9840 810 printf( "chosen2 %c\n",Decide5[3]);
sesa514652 29:1aef0ecf9840 811 }
sesa514652 29:1aef0ecf9840 812 else if (Scan5[3] < Scan5[4])
sesa514652 29:1aef0ecf9840 813 {
sesa514652 29:1aef0ecf9840 814 printf("-");
sesa514652 29:1aef0ecf9840 815 Decide5[3]='-';
sesa514652 29:1aef0ecf9840 816 printf( "chosen3 %c\n",Decide5[3]);
sesa514652 34:dfe7f5799582 817 } */
sesa514652 27:d48bf4e8f1a0 818
sesa514652 21:2e37f80e8b5b 819 lcd.refresh();
sesa514652 21:2e37f80e8b5b 820 wait_ms(50);
sesa514652 21:2e37f80e8b5b 821
sesa514652 21:2e37f80e8b5b 822 break;
sesa514652 28:aab0aa846cf6 823
sesa514652 22:82b01fdfc61f 824 //////////////////////////////////////////////////////////////////////////////////////////////////
sesa514652 28:aab0aa846cf6 825 /**
sesa514652 28:aab0aa846cf6 826 *.. When Button A is pressed this section of code is ran to collect data points of the object.
sesa514652 28:aab0aa846cf6 827 *..Scanning takes marks the LCD with locationof points which data has been collected for.
sesa514652 28:aab0aa846cf6 828 */
sesa514652 21:2e37f80e8b5b 829 case 1:
sesa514652 28:aab0aa846cf6 830 g_ButtonAPress =1;
sesa514652 33:3717bc4e2fa8 831 /*
sesa514652 33:3717bc4e2fa8 832 *..Section used for power saving, if the user has not continued after 5 scans
sesa514652 33:3717bc4e2fa8 833 */
sesa514652 38:71cfbdd2076d 834 if(LoopCountScan1==10){
sesa514652 33:3717bc4e2fa8 835 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 836 LoopCountScan1=0;
sesa514652 33:3717bc4e2fa8 837 break;}
sesa514652 33:3717bc4e2fa8 838 else;
sesa514652 31:91a3c61d33e6 839 inputScan1();
sesa514652 33:3717bc4e2fa8 840 break;
sesa514652 32:9c206f993cf5 841 /*
sesa514652 30:9d39318ef584 842 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 843 inputScan2();
sesa514652 31:91a3c61d33e6 844 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 845 inputScan3();
sesa514652 28:aab0aa846cf6 846
sesa514652 30:9d39318ef584 847 wait_ms(5); // required to stop Black screen issue}
sesa514652 31:91a3c61d33e6 848 inputScan4();
sesa514652 28:aab0aa846cf6 849
sesa514652 30:9d39318ef584 850 wait_ms(5);
sesa514652 31:91a3c61d33e6 851 inputScan5();
sesa514652 30:9d39318ef584 852
sesa514652 30:9d39318ef584 853
sesa514652 30:9d39318ef584 854
sesa514652 28:aab0aa846cf6 855 g_ButtonAPress=0;
sesa514652 32:9c206f993cf5 856 */
sesa514652 33:3717bc4e2fa8 857
sesa514652 22:82b01fdfc61f 858 ////////////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 859 case 2:
sesa514652 28:aab0aa846cf6 860 g_ButtonAPress= 2;
sesa514652 38:71cfbdd2076d 861 if(LoopCountScan2==10){
sesa514652 33:3717bc4e2fa8 862 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 863 LoopCountScan2=0;
sesa514652 33:3717bc4e2fa8 864 break;}
sesa514652 33:3717bc4e2fa8 865 else;
sesa514652 32:9c206f993cf5 866 /*int secondScan[10];
sesa514652 22:82b01fdfc61f 867
sesa514652 22:82b01fdfc61f 868 secondScan[5] = sensor.distance();
sesa514652 22:82b01fdfc61f 869 printf("Distance : %d cm", secondScan[5]);
sesa514652 22:82b01fdfc61f 870 lcd.clear();
sesa514652 22:82b01fdfc61f 871 lcd.printString("2nd Scan up down",0,0);
sesa514652 32:9c206f993cf5 872 lcd.drawLine(0,10,80,10,2); */
sesa514652 32:9c206f993cf5 873 inputScan2();
sesa514652 20:4e1f2917a857 874 break;
sesa514652 22:82b01fdfc61f 875 ////////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 876 case 3:
sesa514652 28:aab0aa846cf6 877 g_ButtonAPress= 3;
sesa514652 38:71cfbdd2076d 878 if(LoopCountScan3==10){
sesa514652 33:3717bc4e2fa8 879 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 880 LoopCountScan3=0;
sesa514652 33:3717bc4e2fa8 881 break;}
sesa514652 33:3717bc4e2fa8 882 else;
sesa514652 32:9c206f993cf5 883 /* lcd.clear();
sesa514652 20:4e1f2917a857 884 lcd.printString("Menu 3",0,0);
sesa514652 31:91a3c61d33e6 885 int us = sensor.distance();
sesa514652 21:2e37f80e8b5b 886 printf("Distance : %d cm",us);
sesa514652 20:4e1f2917a857 887 lcd.refresh();
sesa514652 32:9c206f993cf5 888 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 889 inputScan3();
sesa514652 20:4e1f2917a857 890 break;
sesa514652 32:9c206f993cf5 891
sesa514652 32:9c206f993cf5 892 /////////////////////////////////////////////////////////////////////////
sesa514652 32:9c206f993cf5 893
sesa514652 32:9c206f993cf5 894 case 4:
sesa514652 32:9c206f993cf5 895 g_ButtonAPress= 4;
sesa514652 38:71cfbdd2076d 896 if(LoopCountScan4==10){
sesa514652 33:3717bc4e2fa8 897 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 898 LoopCountScan4=0;
sesa514652 33:3717bc4e2fa8 899 break;}
sesa514652 33:3717bc4e2fa8 900 else;
sesa514652 32:9c206f993cf5 901 /* lcd.clear();
sesa514652 32:9c206f993cf5 902 lcd.printString("Menu 3",0,0);
sesa514652 32:9c206f993cf5 903 int us = sensor.distance();
sesa514652 32:9c206f993cf5 904 printf("Distance : %d cm",us);
sesa514652 32:9c206f993cf5 905 lcd.refresh();
sesa514652 32:9c206f993cf5 906 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 907 inputScan4();
sesa514652 32:9c206f993cf5 908 break;
sesa514652 32:9c206f993cf5 909 ///////////////////////////////////////////////////////////////////
sesa514652 32:9c206f993cf5 910 case 5:
sesa514652 32:9c206f993cf5 911 g_ButtonAPress= 5;
sesa514652 38:71cfbdd2076d 912 if(LoopCountScan5==10){
sesa514652 33:3717bc4e2fa8 913 g_ButtonAPress=0;
sesa514652 33:3717bc4e2fa8 914 LoopCountScan5=0;
sesa514652 33:3717bc4e2fa8 915 break;}
sesa514652 33:3717bc4e2fa8 916 else;
sesa514652 32:9c206f993cf5 917 /* lcd.clear();
sesa514652 32:9c206f993cf5 918 lcd.printString("Menu 3",0,0);
sesa514652 32:9c206f993cf5 919 int us = sensor.distance();
sesa514652 32:9c206f993cf5 920 printf("Distance : %d cm",us);
sesa514652 32:9c206f993cf5 921 lcd.refresh();
sesa514652 32:9c206f993cf5 922 wait_ms(50); //required to stop Black screen issue*/
sesa514652 32:9c206f993cf5 923 inputScan5();
sesa514652 32:9c206f993cf5 924 break;
sesa514652 32:9c206f993cf5 925 /////////////////////////////////////////////////////////////////
sesa514652 20:4e1f2917a857 926 }
sesa514652 23:f72175fb49ed 927
sesa514652 20:4e1f2917a857 928 /*
sesa514652 11:1dec05b7d1c1 929 int button_counter;
sesa514652 10:42e70b596099 930 if (g_buttonA_flag){
sesa514652 11:1dec05b7d1c1 931 button_counter = button_counter +1;
sesa514652 11:1dec05b7d1c1 932 //case (test)
sesa514652 10:42e70b596099 933 g_buttonA_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 934
sesa514652 10:42e70b596099 935 // send message over serial port - can observe in CoolTerm etc.
sesa514652 11:1dec05b7d1c1 936 printf("Button A pressed %f\n", button_counter);
sesa514652 10:42e70b596099 937 }
sesa514652 10:42e70b596099 938 if (g_buttonB_flag){
sesa514652 10:42e70b596099 939 g_buttonB_flag = 0; // if it has, clear the flag
sesa514652 8:770d168713cc 940
sesa514652 10:42e70b596099 941 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 942 printf("Button B pressed\n");
sesa514652 10:42e70b596099 943 }
sesa514652 10:42e70b596099 944 if (g_buttonX_flag){
sesa514652 10:42e70b596099 945 g_buttonX_flag = 0; // if it has, clear the flag
sesa514652 12:ceea378d5691 946 // swap direction when button has been pressed
sesa514652 12:ceea378d5691 947 // (could just use ! but want this to be explicit to aid understanding)
sesa514652 12:ceea378d5691 948 if (direction == UP) {
sesa514652 12:ceea378d5691 949 direction = DOWN;
sesa514652 12:ceea378d5691 950 }
sesa514652 12:ceea378d5691 951 else {
sesa514652 12:ceea378d5691 952 direction = UP;
sesa514652 12:ceea378d5691 953 }
sesa514652 10:42e70b596099 954
sesa514652 10:42e70b596099 955 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 956 printf("Button X pressed\n");
sesa514652 10:42e70b596099 957 lcd.clear();
sesa514652 10:42e70b596099 958 lcd.printString("Button Pressed!",0,0);
sesa514652 10:42e70b596099 959 lcd.refresh();
sesa514652 11:1dec05b7d1c1 960 wait(1);
sesa514652 10:42e70b596099 961 }
sesa514652 10:42e70b596099 962 if (g_buttonY_flag){
sesa514652 10:42e70b596099 963 g_buttonY_flag = 0; // if it has, clear the flag
sesa514652 10:42e70b596099 964
sesa514652 10:42e70b596099 965 // send message over serial port - can observe in CoolTerm etc.
sesa514652 10:42e70b596099 966 printf("Button Y pressed\n");
sesa514652 10:42e70b596099 967 }
sesa514652 5:9b2c976ca318 968 Buzzer.play(200,120);
sesa514652 5:9b2c976ca318 969 wait_ms(5);
sesa514652 5:9b2c976ca318 970 Buzzer.play(200,120);
sesa514652 1:757728321abd 971 long distanced = sensor.distance();
sesa514652 1:757728321abd 972 if (distanced >= 400 || distanced <= 2)
sesa514652 5:9b2c976ca318 973 {
sesa514652 1:757728321abd 974 printf("Out of range");
sesa514652 5:9b2c976ca318 975 //Calling dummy function 05/01/22
sesa514652 4:167ce930c9d5 976 int answer = cube(2);
sesa514652 5:9b2c976ca318 977 printf("%f\n",answer);
sesa514652 1:757728321abd 978 wait(1.0);
sesa514652 5:9b2c976ca318 979 }
sesa514652 5:9b2c976ca318 980 else
sesa514652 5:9b2c976ca318 981 {
sesa514652 5:9b2c976ca318 982 printf("Distance : %d cm",distanced);
sesa514652 5:9b2c976ca318 983 wait(1.0); // 1 sec
sesa514652 1:757728321abd 984 }
sesa514652 5:9b2c976ca318 985 lcd.drawCircle(WIDTH/2,HEIGHT/2,distanced,FILL_BLACK);
sesa514652 5:9b2c976ca318 986 //lcd.refresh must be used to update the lcd Display
sesa514652 5:9b2c976ca318 987 lcd.refresh();
sesa514652 5:9b2c976ca318 988 wait(5.0);
sesa514652 5:9b2c976ca318 989 //these are default settings so not strictly needed
sesa514652 0:1f799c7cce2b 990 lcd.normalMode(); // normal colour mode
sesa514652 5:9b2c976ca318 991 lcd.setBrightness(0.5); // put LED backlight on 50%
sesa514652 0:1f799c7cce2b 992 lcd.clear();
sesa514652 0:1f799c7cce2b 993 lcd.printString("Hello, World!",0,0);
sesa514652 0:1f799c7cce2b 994 Vector2D coord = joystick.get_coord();
sesa514652 0:1f799c7cce2b 995 lcd.refresh();
sesa514652 0:1f799c7cce2b 996 printf("Coord = %f,%f\n",coord.x,coord.y);
sesa514652 0:1f799c7cce2b 997 char buffer[14];
sesa514652 0:1f799c7cce2b 998 Vector2D mapped_coord = joystick.get_mapped_coord();
sesa514652 0:1f799c7cce2b 999 printf("Mapped coord = %f,%f\n",mapped_coord.x,mapped_coord.y);
sesa514652 0:1f799c7cce2b 1000
sesa514652 5:9b2c976ca318 1001 int length = sprintf(buffer,"T = %2f",coord.x);
sesa514652 5:9b2c976ca318 1002 //it is important the format specifier ensures the length will fit in the buffer
sesa514652 0:1f799c7cce2b 1003 if (length <= 14) // if string will fit on display (assuming printing at x=0)
sesa514652 5:9b2c976ca318 1004 lcd.printString(buffer,0,1); // display on screen
sesa514652 0:1f799c7cce2b 1005 lcd.refresh();
sesa514652 5:9b2c976ca318 1006 lcd.clear();
sesa514652 5:9b2c976ca318 1007 //times by 50 to try get the point moving across screen
sesa514652 0:1f799c7cce2b 1008 float x50 = mapped_coord.x*5;
sesa514652 0:1f799c7cce2b 1009 float y50 = mapped_coord.y*8;
sesa514652 5:9b2c976ca318 1010 //to see what the values are
sesa514652 5:9b2c976ca318 1011 printf(" *50 = %f,%f\n",x50,y50);
sesa514652 5:9b2c976ca318 1012 //example of how to draw circles
sesa514652 1:757728321abd 1013 lcd.printChar('o',WIDTH/2,HEIGHT/2);
sesa514652 5:9b2c976ca318 1014 lcd.refresh();
sesa514652 0:1f799c7cce2b 1015 float mag = joystick.get_mag();
sesa514652 0:1f799c7cce2b 1016 float angle = joystick.get_angle();
sesa514652 0:1f799c7cce2b 1017 printf("Mag = %f Angle = %f\n",mag,angle);
sesa514652 0:1f799c7cce2b 1018 Direction d = joystick.get_direction();
sesa514652 0:1f799c7cce2b 1019 printf("Direction = %i\n",d);
sesa514652 0:1f799c7cce2b 1020 if (joystick.button_pressed() ) {
sesa514652 0:1f799c7cce2b 1021 printf("Button Pressed\n");
sesa514652 9:cdd7d9a123f9 1022 wait(5);
sesa514652 0:1f799c7cce2b 1023 }
sesa514652 8:770d168713cc 1024
sesa514652 8:770d168713cc 1025 }
sesa514652 16:2646c1c4e62e 1026 }
sesa514652 20:4e1f2917a857 1027 */
sesa514652 23:f72175fb49ed 1028 }
sesa514652 32:9c206f993cf5 1029 }
sesa514652 18:bb36d96142dd 1030 int buttonCountA(){
sesa514652 28:aab0aa846cf6 1031 g_ButtonAPress++;
sesa514652 32:9c206f993cf5 1032 if (g_ButtonAPress>5){
sesa514652 28:aab0aa846cf6 1033 g_ButtonAPress= 0;
sesa514652 18:bb36d96142dd 1034 }
sesa514652 28:aab0aa846cf6 1035 return g_ButtonAPress;
sesa514652 18:bb36d96142dd 1036 }
sesa514652 18:bb36d96142dd 1037 int buttonCountB(){
sesa514652 28:aab0aa846cf6 1038 g_ButtonBPress++;
sesa514652 28:aab0aa846cf6 1039 if (g_ButtonBPress>3){
sesa514652 28:aab0aa846cf6 1040 g_ButtonBPress= 0;
sesa514652 18:bb36d96142dd 1041 }
sesa514652 28:aab0aa846cf6 1042 return g_ButtonBPress;
sesa514652 18:bb36d96142dd 1043 }
sesa514652 33:3717bc4e2fa8 1044 int NoContinueExitScan1(){
sesa514652 33:3717bc4e2fa8 1045 LoopCountScan1++;
sesa514652 33:3717bc4e2fa8 1046 if (LoopCountScan1>5){
sesa514652 33:3717bc4e2fa8 1047 LoopCountScan1= 0;
sesa514652 33:3717bc4e2fa8 1048 }
sesa514652 33:3717bc4e2fa8 1049 return LoopCountScan1;
sesa514652 33:3717bc4e2fa8 1050 }
sesa514652 33:3717bc4e2fa8 1051 int NoContinueExitScan2(){
sesa514652 33:3717bc4e2fa8 1052 LoopCountScan2++;
sesa514652 33:3717bc4e2fa8 1053 if (LoopCountScan2>5){
sesa514652 33:3717bc4e2fa8 1054 LoopCountScan2= 0;
sesa514652 33:3717bc4e2fa8 1055 }
sesa514652 33:3717bc4e2fa8 1056 return LoopCountScan2;
sesa514652 33:3717bc4e2fa8 1057 }
sesa514652 33:3717bc4e2fa8 1058 int NoContinueExitScan3(){
sesa514652 33:3717bc4e2fa8 1059 LoopCountScan3++;
sesa514652 33:3717bc4e2fa8 1060 if (LoopCountScan3>5){
sesa514652 33:3717bc4e2fa8 1061 LoopCountScan3= 0;
sesa514652 33:3717bc4e2fa8 1062 }
sesa514652 33:3717bc4e2fa8 1063 return LoopCountScan3;
sesa514652 33:3717bc4e2fa8 1064 }
sesa514652 33:3717bc4e2fa8 1065 int NoContinueExitScan4(){
sesa514652 33:3717bc4e2fa8 1066 LoopCountScan4++;
sesa514652 33:3717bc4e2fa8 1067 if (LoopCountScan4>5){
sesa514652 33:3717bc4e2fa8 1068 LoopCountScan4= 0;
sesa514652 33:3717bc4e2fa8 1069 }
sesa514652 33:3717bc4e2fa8 1070 return LoopCountScan4;
sesa514652 33:3717bc4e2fa8 1071 }
sesa514652 33:3717bc4e2fa8 1072 int NoContinueExitScan5(){
sesa514652 33:3717bc4e2fa8 1073 LoopCountScan5++;
sesa514652 33:3717bc4e2fa8 1074 if (LoopCountScan5>5){
sesa514652 33:3717bc4e2fa8 1075 LoopCountScan5= 0;
sesa514652 33:3717bc4e2fa8 1076 }
sesa514652 33:3717bc4e2fa8 1077 return LoopCountScan5;
sesa514652 33:3717bc4e2fa8 1078 }
sesa514652 33:3717bc4e2fa8 1079
sesa514652 15:234321e80678 1080
sesa514652 12:ceea378d5691 1081 //Button A event-triggered interrupt
sesa514652 10:42e70b596099 1082 void buttonA_isr()
sesa514652 10:42e70b596099 1083 {
sesa514652 12:ceea378d5691 1084
sesa514652 18:bb36d96142dd 1085 long distanced = sensor.distance();
sesa514652 18:bb36d96142dd 1086 buttonCountA();
sesa514652 18:bb36d96142dd 1087
sesa514652 16:2646c1c4e62e 1088
sesa514652 12:ceea378d5691 1089
sesa514652 12:ceea378d5691 1090 g_buttonA_flag = 1; // set flag in ISR
sesa514652 12:ceea378d5691 1091
sesa514652 28:aab0aa846cf6 1092 printf("press count = %i\n",g_ButtonAPress);
sesa514652 12:ceea378d5691 1093
sesa514652 12:ceea378d5691 1094 // lcd.clear();
sesa514652 15:234321e80678 1095 //lcd.printString("Button A Pressed",0,0);
sesa514652 12:ceea378d5691 1096
sesa514652 15:234321e80678 1097 // lcd.refresh(); // set flag in ISR
sesa514652 12:ceea378d5691 1098 }
sesa514652 12:ceea378d5691 1099
sesa514652 11:1dec05b7d1c1 1100
sesa514652 10:42e70b596099 1101 //Button B event-triggered interrupt
sesa514652 10:42e70b596099 1102 void buttonB_isr()
sesa514652 10:42e70b596099 1103 {
sesa514652 18:bb36d96142dd 1104 buttonCountB();
sesa514652 10:42e70b596099 1105 g_buttonB_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1106 lcd.clear();
sesa514652 11:1dec05b7d1c1 1107 lcd.printString("Button B Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1108 lcd.refresh(); // set flag in ISR
sesa514652 28:aab0aa846cf6 1109 printf("press count = %i\n",g_ButtonBPress);
sesa514652 10:42e70b596099 1110 }
sesa514652 10:42e70b596099 1111 //Button X event-triggered interrupt
sesa514652 10:42e70b596099 1112 void buttonX_isr()
sesa514652 10:42e70b596099 1113 {
sesa514652 10:42e70b596099 1114 g_buttonX_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1115 lcd.clear();
sesa514652 11:1dec05b7d1c1 1116 lcd.printString("Button X Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1117 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 1118 }
sesa514652 10:42e70b596099 1119 //Button Y event-triggered interrupt
sesa514652 10:42e70b596099 1120 void buttonY_isr()
sesa514652 10:42e70b596099 1121 {
sesa514652 10:42e70b596099 1122 g_buttonY_flag = 1; // set flag in ISR
sesa514652 37:323ec7d23454 1123 lcd.clear();
sesa514652 11:1dec05b7d1c1 1124 lcd.printString("Button Y Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1125 lcd.refresh(); // set flag in ISR
sesa514652 10:42e70b596099 1126 }
sesa514652 11:1dec05b7d1c1 1127 //Button Start event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1128 void buttonStart_isr()
sesa514652 11:1dec05b7d1c1 1129 {
sesa514652 11:1dec05b7d1c1 1130 g_buttonStart_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1131 lcd.clear();
sesa514652 37:323ec7d23454 1132 /////////////////////////////////////////////////
sesa514652 37:323ec7d23454 1133 int arr1[5] ;
sesa514652 37:323ec7d23454 1134 /*
sesa514652 37:323ec7d23454 1135 * For loop required to assign array values to that of the scan value
sesa514652 37:323ec7d23454 1136 */
sesa514652 37:323ec7d23454 1137 for(int i=0; i<5; i++){
sesa514652 37:323ec7d23454 1138 arr1[i] =Scan1[i];}
sesa514652 37:323ec7d23454 1139 int arr2[] = { 90, 90, 90, 90, 90 };
sesa514652 37:323ec7d23454 1140 int n = sizeof(arr1) / sizeof(int);
sesa514652 37:323ec7d23454 1141 int m = sizeof(arr2) / sizeof(int);
sesa514652 37:323ec7d23454 1142
sesa514652 37:323ec7d23454 1143
sesa514652 38:71cfbdd2076d 1144 // if(MatchMade(arr1, arr2, n, m))
sesa514652 38:71cfbdd2076d 1145 // printf("You are a wall");
sesa514652 38:71cfbdd2076d 1146 // else
sesa514652 38:71cfbdd2076d 1147 // printf("Not THis Object"); //////////////////////////////////
sesa514652 37:323ec7d23454 1148
sesa514652 37:323ec7d23454 1149
sesa514652 11:1dec05b7d1c1 1150 lcd.printString("Button Start Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1151 lcd.refresh(); // set flag in ISR
sesa514652 29:1aef0ecf9840 1152
sesa514652 11:1dec05b7d1c1 1153 }
sesa514652 11:1dec05b7d1c1 1154 //Button Back event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1155 void buttonBack_isr()
sesa514652 11:1dec05b7d1c1 1156 {
sesa514652 11:1dec05b7d1c1 1157 g_buttonBack_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1158 lcd.clear();
sesa514652 11:1dec05b7d1c1 1159 lcd.printString("Button Back Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1160 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 1161 }
sesa514652 11:1dec05b7d1c1 1162 //Button Left event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1163 void buttonLeft_isr()
sesa514652 11:1dec05b7d1c1 1164 {
sesa514652 11:1dec05b7d1c1 1165 g_buttonLeft_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1166 lcd.clear();
sesa514652 11:1dec05b7d1c1 1167 lcd.printString("Button Left Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1168 lcd.refresh(); // set flag in ISR
sesa514652 11:1dec05b7d1c1 1169 }
sesa514652 11:1dec05b7d1c1 1170 //Button Right event-triggered interrupt
sesa514652 11:1dec05b7d1c1 1171 void buttonRight_isr()
sesa514652 11:1dec05b7d1c1 1172 {
sesa514652 11:1dec05b7d1c1 1173 g_buttonRight_flag = 1; // set flag in ISR
sesa514652 11:1dec05b7d1c1 1174 lcd.clear();
sesa514652 31:91a3c61d33e6 1175 lcd.printString("Button Right Pressed",0,0);
sesa514652 11:1dec05b7d1c1 1176 lcd.refresh(); // set flag in ISR
sesa514652 31:91a3c61d33e6 1177 }
sesa514652 31:91a3c61d33e6 1178 void inputScan1()
sesa514652 31:91a3c61d33e6 1179 {
sesa514652 31:91a3c61d33e6 1180 lcd.clear();
sesa514652 31:91a3c61d33e6 1181 lcd.printString("First Scan",0,0);
sesa514652 31:91a3c61d33e6 1182 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1183 NoContinueExitScan1();
sesa514652 31:91a3c61d33e6 1184
sesa514652 31:91a3c61d33e6 1185 Buzzer.play(300,120); lcd.printString("X",0,1); lcd.refresh(); Scan1[0] = sensor.distance();
sesa514652 36:3e975536e8d7 1186 wait_ms(5);
sesa514652 38:71cfbdd2076d 1187 /* NO Longer Required Section
sesa514652 31:91a3c61d33e6 1188 Buzzer.play(200,120); lcd.printString("X",0,2);lcd.refresh(); Scan1[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1189 wait_ms(5);
sesa514652 31:91a3c61d33e6 1190 Buzzer.play(200,120); lcd.printString("X",0,3);lcd.refresh(); Scan1[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1191 wait_ms(5);
sesa514652 31:91a3c61d33e6 1192 Buzzer.play(200,120); lcd.printString("X",0,4);lcd.refresh(); Scan1[3] = sensor.distance();;
sesa514652 31:91a3c61d33e6 1193 wait_ms(5);
sesa514652 31:91a3c61d33e6 1194 Buzzer.play(200,120); lcd.printString("X",0,5);lcd.refresh(); Scan1[4] = sensor.distance();;
sesa514652 38:71cfbdd2076d 1195 wait_ms(5); */
sesa514652 36:3e975536e8d7 1196 lcd.printString("Scan 1 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1197 }
sesa514652 31:91a3c61d33e6 1198
sesa514652 31:91a3c61d33e6 1199 void inputScan2()
sesa514652 31:91a3c61d33e6 1200 {
sesa514652 31:91a3c61d33e6 1201 lcd.clear();
sesa514652 31:91a3c61d33e6 1202 lcd.printString("Second Scan",0,0);
sesa514652 31:91a3c61d33e6 1203 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1204 NoContinueExitScan2();
sesa514652 38:71cfbdd2076d 1205 lcd.printString("X",0,1); //No longer Required Line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1206 Buzzer.play(300,120); lcd.printString("X",15,1); lcd.refresh(); Scan1[1] = sensor.distance();
sesa514652 38:71cfbdd2076d 1207 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1208 Buzzer.play(200,120); lcd.printString("X",15,2);lcd.refresh(); Scan2[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1209 wait_ms(5);
sesa514652 31:91a3c61d33e6 1210 Buzzer.play(200,120); lcd.printString("X",15,3);lcd.refresh(); Scan2[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1211 wait_ms(5);
sesa514652 31:91a3c61d33e6 1212 Buzzer.play(200,120); lcd.printString("X",15,4);lcd.refresh(); Scan2[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1213 wait_ms(5);
sesa514652 38:71cfbdd2076d 1214 Buzzer.play(200,120); lcd.printString("X",15,5);lcd.refresh(); Scan2[4] = sensor.distance();*/
sesa514652 31:91a3c61d33e6 1215 lcd.printString("Scan 2 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1216
sesa514652 31:91a3c61d33e6 1217 }
sesa514652 31:91a3c61d33e6 1218 void inputScan3()
sesa514652 31:91a3c61d33e6 1219 {
sesa514652 38:71cfbdd2076d 1220 lcd.clear();
sesa514652 31:91a3c61d33e6 1221 lcd.printString("Third Scan",0,0);
sesa514652 31:91a3c61d33e6 1222 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1223 NoContinueExitScan3();
sesa514652 38:71cfbdd2076d 1224 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1225 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1226 Buzzer.play(300,120); lcd.printString("X",30,1); lcd.refresh(); Scan1[2] = sensor.distance();
sesa514652 38:71cfbdd2076d 1227 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1228 Buzzer.play(200,120); lcd.printString("X",30,2);lcd.refresh(); Scan3[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1229 wait_ms(5);
sesa514652 31:91a3c61d33e6 1230 Buzzer.play(200,120); lcd.printString("X",30,3);lcd.refresh(); Scan3[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1231 wait_ms(5);
sesa514652 31:91a3c61d33e6 1232 Buzzer.play(200,120); lcd.printString("X",30,4);lcd.refresh(); Scan3[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1233 wait_ms(5);
sesa514652 38:71cfbdd2076d 1234 Buzzer.play(200,120); lcd.printString("X",30,5);lcd.refresh(); Scan3[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1235 lcd.printString("Scan 3 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1236 }
sesa514652 31:91a3c61d33e6 1237 void inputScan4()
sesa514652 31:91a3c61d33e6 1238 {
sesa514652 33:3717bc4e2fa8 1239 lcd.clear();
sesa514652 33:3717bc4e2fa8 1240 lcd.printString("Fourth Scan",0,0);
sesa514652 33:3717bc4e2fa8 1241 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1242 NoContinueExitScan4();
sesa514652 38:71cfbdd2076d 1243 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1244 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1245 lcd.printString("X",30,1);//No Longer required line,lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1246 Buzzer.play(300,120); lcd.printString("X",45,1); lcd.refresh(); Scan1[3] = sensor.distance();
sesa514652 38:71cfbdd2076d 1247 wait_ms(5);/*
sesa514652 31:91a3c61d33e6 1248 Buzzer.play(200,120); lcd.printString("X",45,2);lcd.refresh(); Scan4[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1249 wait_ms(5);
sesa514652 31:91a3c61d33e6 1250 Buzzer.play(200,120); lcd.printString("X",45,3);lcd.refresh(); Scan4[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1251 wait_ms(5);
sesa514652 31:91a3c61d33e6 1252 Buzzer.play(200,120); lcd.printString("X",45,4);lcd.refresh(); Scan4[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1253 wait_ms(5);
sesa514652 38:71cfbdd2076d 1254 Buzzer.play(200,120); lcd.printString("X",45,5);lcd.refresh(); Scan4[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1255 lcd.printString("Scan 4 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1256 }
sesa514652 31:91a3c61d33e6 1257 void inputScan5()
sesa514652 31:91a3c61d33e6 1258 {
sesa514652 31:91a3c61d33e6 1259 lcd.clear();
sesa514652 31:91a3c61d33e6 1260 lcd.printString("Fifth Scan",0,0);
sesa514652 31:91a3c61d33e6 1261 lcd.refresh();
sesa514652 33:3717bc4e2fa8 1262 NoContinueExitScan5();
sesa514652 38:71cfbdd2076d 1263 lcd.printString("X",0,1);//No Longer required line,lcd.printString("X",0,2),lcd.printString("X",0,3),lcd.printString("X",0,4),lcd.printString("X",0,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1264 lcd.printString("X",15,1);//No Longer required line,lcd.printString("X",15,2),lcd.printString("X",15,3),lcd.printString("X",15,4),lcd.printString("X",15,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1265 lcd.printString("X",30,1);//No Longer required line,lcd.printString("X",30,2),lcd.printString("X",30,3),lcd.printString("X",30,4),lcd.printString("X",30,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1266 lcd.printString("X",45,1);//No Longer required line,lcd.printString("X",45,2),lcd.printString("X",45,3),lcd.printString("X",45,4),lcd.printString("X",45,5); lcd.refresh();
sesa514652 38:71cfbdd2076d 1267 Buzzer.play(300,120); lcd.printString("X",60,1); lcd.refresh(); Scan1[4] = sensor.distance();
sesa514652 38:71cfbdd2076d 1268 wait_ms(5); /*
sesa514652 31:91a3c61d33e6 1269 Buzzer.play(200,120); lcd.printString("X",60,2);lcd.refresh(); Scan5[1] = sensor.distance();
sesa514652 31:91a3c61d33e6 1270 wait_ms(5);
sesa514652 31:91a3c61d33e6 1271 Buzzer.play(200,120); lcd.printString("X",60,3);lcd.refresh(); Scan5[2] = sensor.distance();
sesa514652 31:91a3c61d33e6 1272 wait_ms(5);
sesa514652 31:91a3c61d33e6 1273 Buzzer.play(200,120); lcd.printString("X",60,4);lcd.refresh(); Scan5[3] = sensor.distance();
sesa514652 31:91a3c61d33e6 1274 wait_ms(5);
sesa514652 38:71cfbdd2076d 1275 Buzzer.play(200,120); lcd.printString("X",60,5);lcd.refresh(); Scan5[4] = sensor.distance(); */
sesa514652 31:91a3c61d33e6 1276 lcd.printString("Scan 5 Done",0,0); lcd.refresh();
sesa514652 31:91a3c61d33e6 1277 }