(DA) Internet of Things and Smart Electronics- ELE3006M2122
/
18689004Coursework
Coursework
Diff: main.cpp
- Revision:
- 36:3e975536e8d7
- Parent:
- 35:36c7605dda06
- Child:
- 37:323ec7d23454
diff -r 36c7605dda06 -r 3e975536e8d7 main.cpp --- a/main.cpp Tue Feb 01 20:58:40 2022 +0000 +++ b/main.cpp Tue Feb 01 22:50:27 2022 +0000 @@ -1,7 +1,7 @@ /** *.....Kory Hamill *.....IOT Smart Electronics Coursework -*.....Acknowlegements Library Makers +*.....Acknowlegements Libary Makers *.....18689004 */ /** @@ -15,6 +15,7 @@ #include "string" #include "array" #include <iostream> +using namespace std; /** *...This Section of the code is used to bring in volatile Varible's, These can be wrote to throught the code. @@ -95,20 +96,7 @@ int NoContinueExit(); int buttonCountA(); int buttonCountB(); -void isArrEqual(); -/* -{ - if (lenA != lenB) - return false; -sort(A, A + lenA); - sort(B, B + lenB); - for (int i = 0; i < lenA; i++) - if (A[i] != B[i]) - return false; /* Elements are not same */ - - /* All elements are same */ -// return true; -//} + @@ -151,8 +139,39 @@ // return num*num; // }; */ + /* +bool Equal(int ar1[],int ar2[], int n, int m){ +if(n!=m) +return false; +sort(ar1,ar1 +n); +sort(ar2,ar2 +m); +for (int i=0;i<n; i++) +if(ar1[i]!=ar2[i]) +return false; +return true; +}*/ +bool areEqual(int arr1[], int arr2[], int n, int m) +{ + // If lengths of array are not equal means + // array are not equal + if (n != m) + return false; + + // Sort both arrays + sort(arr1, arr1 + n); + sort(arr2, arr2 + m); + + // Linearly compare elements + for (int i = 0; i < n; i++) + if (arr1[i] != arr2[i]) + return false; + + + // If all elements were same. + return true; +} +int main() { -int main() { /** *.. Intialise joystick and Lcd */ @@ -215,16 +234,34 @@ Object1.dubs = 23; Object1.namestruct = "name"; */ + +/* + int ar1[]= {2,3,4,5}; + int ar2[] = {2,3,4,5}; + int n = sizeof(ar1); + int m = sizeof(ar2); + if(Equal(ar1,ar2,n,m)){ + printf("TRUEEEEEEEEEEEEEEEEEEE\n");} + else {printf("Falseeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddd\n");} + + + + + */ + + + + + +printf("I SHOULD HAVE BEEN PRINTED !!!!!"); + while(1) { - - - int Decide[5]; - - int Decide2[5]; - int Decide3[5]; - int Decide4[5]; - int Decide5[5]; + char Decide[5]; + char Decide2[5]; + char Decide3[5]; + char Decide4[5]; + char Decide5[5]; /** *.. It was found Cout was not working as expected. @@ -253,7 +290,6 @@ printf("Scan1 3 : %d cm\n", Scan1[2]); printf("Scan1 4 : %d cm\n", Scan1[3]); printf("Scan1 5 : %d cm\n", Scan1[4]); - /* printf("Scan2 1 : %d cm\n", Scan2[0]); printf("Scan2 2 : %d cm\n", Scan2[1]); printf("Scan2 3 : %d cm\n", Scan2[2]); @@ -273,8 +309,7 @@ printf("Scan5 2 : %d cm\n", Scan5[1]); printf("Scan5 3 : %d cm\n", Scan5[2]); printf("Scan5 4 : %d cm\n", Scan5[3]); - printf("Scan5 5 : %d cm\n", Scan5[4]); - */ + printf("Scan5 5 : %d cm\n", Scan5[4]); printf("I always Get printed \n"); // cout << Scan1[2]; // cout << Scan1[6]; @@ -353,114 +388,29 @@ lcd.printString("New Scan",0,3); lcd.printString("Press B",0,4); lcd.printString("Kory 18689004",0,5); -/** -*..Setting loop counters back to zero so each will loop 5 times upon next press. -*/ LoopCountScan1 =0; LoopCountScan2 =0; LoopCountScan3 =0; LoopCountScan4 =0; LoopCountScan5 =0; + + + for(int i=0; i<5; i++){ - printf("hello Scan %i reading: %i The value of : %i \n",i,i, Scan1[i]); + printf("hello Scan: %i The value of : %i \n",i, Scan1[i]); if (Scan1[i]>95){ - Decide[i]= 1; - printf("no wall%i\n",Decide[i]);} + Decide[i]= '+'; + printf("no wall%c/n",Decide[i]);} else if (Scan1[i]<85){ - Decide[i]= 2; - printf("OBJECT ABOUT%i\n",Decide[i]);} + Decide[i]= '-'; + printf("OBJECT ABOUT%c/n",Decide[i]);} else if (Scan1[i]>85<95){ - Decide[i]= 3; - printf("No Object %i\n",Decide[i]);} - - - for(int i=0; i<5; i++){ - printf("hello Scan 2 reading: %i The value of : %i \n",i, Scan2[i]); - if (Scan2[i]>95){ - Decide2[i]= 1; - printf("no wall%i\n",Decide2[i]);} - else if (Scan2[i]<85){ - Decide2[i]= 2; - printf("OBJECT ABOUT%i\n",Decide2[i]);} - else if (Scan2[i]>85<95){ - Decide2[i]= 3; - printf("No Object %i\n",Decide2[i]); + Decide[i]= '='; + printf("No Object %c/n",Decide[i]);} } - } - for(int i=0; i<5; i++){ - - printf("hello Scan 3 reading: %i The value of : %i \n",i, Scan3[i]); - if (Scan3[i]>95){ - Decide3[i]= 1; - printf("no wall%i\n",Decide3[i]);} - else if (Scan3[i]<85){ - Decide3[i]= 2; - printf("OBJECT ABOUT%i\n",Decide3[i]);} - else if (Scan3[i]>85<95){ - Decide3[i]= 3; - printf("No Object %i\n",Decide3[i]);} - } - - for(int i=0; i<5; i++){ - printf("hello Scan 4 reading: %i The value of : %i \n",i, Scan4[i]); - if (Scan4[i]>95){ - Decide4[i]= 1; - printf("no wall%i\n",Decide4[i]);} - else if (Scan4[i]<85){ - Decide4[i]= 2; - printf("OBJECT ABOUT%i\n",Decide4[i]);} - else if (Scan4[i]>85<95){ - Decide4[i]= 3; - printf("No Object %i\n",Decide4[i]);} - } - - for(int i=0; i<5; i++){ - - printf("hello Scan 5 reading: %i The value of : %i \n",i, Scan5[i]); - if (Scan5[i]>95){ - Decide5[i]= 1; - printf("no wall%i\n",Decide5[i]);} - else if (Scan5[i]<85){ - Decide5[i]= 2; - printf("OBJECT ABOUT%i\n",Decide5[i]);} - else if (Scan5[i]>85<95){ - Decide5[i]= 3; - printf("No Object %i\n",Decide5[i]);} - - if(Scan1==Scan2) - { - printf("HWFG");} - else{ - printf("NHWFG");} - - /* - - if (Decide[1] == 1) - { - printf("we are on the wall\n");} - else{ - printf("no wall"); - }; - - */ - -//isArrEqual(Scan1, wall, 5, 5) - - // for(int j=0; j<WIDTH; j++){ - // if(j<5){ - // lcd.setPixel(j,Scan1[1],true); - // lcd.refresh();} - //else if (j>4<10){ - // lcd.setPixel(j,10,true); - //lcd.refresh();} - // else if (j>10<20){ - // lcd.setPixel(j,50,true); - ///lcd.refresh();} - } - /** IF Statement to decide on shape to draw *.. This section of code compares the each array element with the one proceding it and makes a logical decision if higher lower or equal. */ @@ -1045,7 +995,6 @@ */ } } - } int buttonCountA(){ g_ButtonAPress++; if (g_ButtonAPress>5){ @@ -1140,6 +1089,18 @@ { g_buttonY_flag = 1; // set flag in ISR lcd.clear(); + + ///////////////////////////////////////////////// + int arr1[] = { 3, 5, 2, 4, 2 }; + int Wall[] = { 90, 90, 90, 90, 90 }; + int n = sizeof(Scan1) / sizeof(int); + int m = sizeof(Wall) / sizeof(int); + + if (areEqual(arr1, Wall, n, m)) + printf("You are a wall"); + else + printf("Not THis Object"); ////////////////////////////////// + lcd.printString("Button Y Pressed",0,0); lcd.refresh(); // set flag in ISR } @@ -1184,7 +1145,7 @@ NoContinueExitScan1(); Buzzer.play(300,120); lcd.printString("X",0,1); lcd.refresh(); Scan1[0] = sensor.distance(); - wait_ms(5);/* + wait_ms(5); Buzzer.play(200,120); lcd.printString("X",0,2);lcd.refresh(); Scan1[1] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",0,3);lcd.refresh(); Scan1[2] = sensor.distance(); @@ -1192,8 +1153,8 @@ Buzzer.play(200,120); lcd.printString("X",0,4);lcd.refresh(); Scan1[3] = sensor.distance();; wait_ms(5); Buzzer.play(200,120); lcd.printString("X",0,5);lcd.refresh(); Scan1[4] = sensor.distance();; - wait_ms(5);*/ - lcd.printString("Scan 1 Done",0,0); lcd.refresh(); + wait_ms(5); + lcd.printString("Scan 1 Done",0,0); lcd.refresh(); } void inputScan2() @@ -1202,17 +1163,16 @@ lcd.printString("Second Scan",0,0); lcd.refresh(); NoContinueExitScan2(); - - 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(); - Buzzer.play(300,120); lcd.printString("X",15,1); lcd.refresh(); Scan1[1] = sensor.distance(); - wait_ms(5);/* + 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(); + Buzzer.play(300,120); lcd.printString("X",15,1); lcd.refresh(); Scan2[0] = sensor.distance(); + wait_ms(5); Buzzer.play(200,120); lcd.printString("X",15,2);lcd.refresh(); Scan2[1] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",15,3);lcd.refresh(); Scan2[2] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",15,4);lcd.refresh(); Scan2[3] = sensor.distance(); wait_ms(5); - Buzzer.play(200,120); lcd.printString("X",15,5);lcd.refresh(); Scan2[4] = sensor.distance(); */ + Buzzer.play(200,120); lcd.printString("X",15,5);lcd.refresh(); Scan2[4] = sensor.distance(); lcd.printString("Scan 2 Done",0,0); lcd.refresh(); } @@ -1222,17 +1182,17 @@ lcd.printString("Third Scan",0,0); lcd.refresh(); NoContinueExitScan3(); - 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(); - 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(); - Buzzer.play(300,120); lcd.printString("X",30,1); lcd.refresh(); Scan1[2] = sensor.distance(); - wait_ms(5);/* + 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(); + 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(); + Buzzer.play(300,120); lcd.printString("X",30,1); lcd.refresh(); Scan3[0] = sensor.distance(); + wait_ms(5); Buzzer.play(200,120); lcd.printString("X",30,2);lcd.refresh(); Scan3[1] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",30,3);lcd.refresh(); Scan3[2] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",30,4);lcd.refresh(); Scan3[3] = sensor.distance(); wait_ms(5); - Buzzer.play(200,120); lcd.printString("X",30,5);lcd.refresh(); Scan3[4] = sensor.distance();*/ + Buzzer.play(200,120); lcd.printString("X",30,5);lcd.refresh(); Scan3[4] = sensor.distance(); lcd.printString("Scan 3 Done",0,0); lcd.refresh(); } void inputScan4() @@ -1241,18 +1201,18 @@ lcd.printString("Fourth Scan",0,0); lcd.refresh(); NoContinueExitScan4(); - 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(); - 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(); - 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(); - Buzzer.play(300,120); lcd.printString("X",45,1); lcd.refresh(); Scan1[3] = sensor.distance(); - wait_ms(5);/* + 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(); + 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(); + 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(); + Buzzer.play(300,120); lcd.printString("X",45,1); lcd.refresh(); Scan4[0] = sensor.distance(); + wait_ms(5); Buzzer.play(200,120); lcd.printString("X",45,2);lcd.refresh(); Scan4[1] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",45,3);lcd.refresh(); Scan4[2] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",45,4);lcd.refresh(); Scan4[3] = sensor.distance(); wait_ms(5); - Buzzer.play(200,120); lcd.printString("X",45,5);lcd.refresh(); Scan4[4] = sensor.distance();*/ + Buzzer.play(200,120); lcd.printString("X",45,5);lcd.refresh(); Scan4[4] = sensor.distance(); lcd.printString("Scan 4 Done",0,0); lcd.refresh(); } void inputScan5() @@ -1261,18 +1221,18 @@ lcd.printString("Fifth Scan",0,0); lcd.refresh(); NoContinueExitScan5(); - 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(); - 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(); - 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(); - 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(); - Buzzer.play(300,120); lcd.printString("X",60,1); lcd.refresh(); Scan1[4] = sensor.distance(); - wait_ms(5);/* + 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(); + 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(); + 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(); + 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(); + Buzzer.play(300,120); lcd.printString("X",60,1); lcd.refresh(); Scan5[0] = sensor.distance(); + wait_ms(5); Buzzer.play(200,120); lcd.printString("X",60,2);lcd.refresh(); Scan5[1] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",60,3);lcd.refresh(); Scan5[2] = sensor.distance(); wait_ms(5); Buzzer.play(200,120); lcd.printString("X",60,4);lcd.refresh(); Scan5[3] = sensor.distance(); wait_ms(5); - Buzzer.play(200,120); lcd.printString("X",60,5);lcd.refresh(); Scan5[4] = sensor.distance(); */ + Buzzer.play(200,120); lcd.printString("X",60,5);lcd.refresh(); Scan5[4] = sensor.distance(); lcd.printString("Scan 5 Done",0,0); lcd.refresh(); } \ No newline at end of file