Coursework

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