Coursework

Committer:
sesa514652
Date:
Fri Jan 28 21:35:00 2022 +0000
Revision:
31:91a3c61d33e6
Parent:
30:9d39318ef584
Child:
32:9c206f993cf5
Scan Void creations

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