Coursework

Revision:
38:71cfbdd2076d
Parent:
37:323ec7d23454
Child:
39:a31b49f3e65e
--- a/main.cpp	Wed Feb 02 20:55:23 2022 +0000
+++ b/main.cpp	Wed Feb 02 21:38:11 2022 +0000
@@ -8,7 +8,7 @@
 * Section of code to bring in the #includes
 */
 #include "mbed.h"
-#include "Joystick.h"
+//#include "Joystick.h" Not used in project
 #include "N5110.h"
 #include "hcsr04.h"
 #include "Piezo.h"
@@ -43,11 +43,13 @@
 *..array Ref starts at 0,
 */ 
 volatile     int Scan1[5];
+/* no longer required
 volatile     int Scan2[5];
 volatile     int Scan3[5];
 volatile     int Scan4[5];
 volatile     int Scan5[5];
-volatile     int wall[5];   
+volatile     int wall[5];  
+*/
 /**
 *... Section of code to assign names to IO pins on the K64f
 */
@@ -59,7 +61,7 @@
 InterruptIn buttonBack(PTB19);
 InterruptIn buttonLeft(PTB18);
 InterruptIn buttonRight(PTB3);
-Joystick joystick(PTB10,PTB11,PTC16);
+//Joystick joystick(PTB10,PTB11,PTC16); Not used in project
 HCSR04 sensor(D14, D15); 
 Piezo Buzzer(PTC10);
 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
@@ -152,6 +154,7 @@
 return false;
 return true;
 }*/
+/* Problems with this and Being exact and repeatable 
 bool MatchMade(int arr1[], int arr2[], int n, int m)
 {
     // If lengths of array are not equal means
@@ -171,14 +174,15 @@
  
     // If all elements were same.
     return true;
-}
+    */
+
 int main() {
        
 
 /**
 *.. Intialise joystick and Lcd
 */
-       joystick.init();
+     //  joystick.init(); not used in project
             lcd.init();
   lcd.setContrast(0.5);
 /**
@@ -258,13 +262,7 @@
     
 printf("I SHOULD HAVE BEEN PRINTED !!!!!");
 
-    while(1) {
-
-         char Decide[5];
-         char Decide2[5];
-         char Decide3[5];
-         char Decide4[5];
-         char Decide5[5];      
+    while(1) {  
     
 /**
 *.. It was found Cout was not working as expected.
@@ -293,6 +291,7 @@
    printf("Scan1 3 :  %d cm\n", Scan1[2]);
      printf("Scan1 4 :  %d cm\n", Scan1[3]);
       printf("Scan1 5 :  %d cm\n", Scan1[4]);
+      /* NO longer Reuired Section
 printf("Scan2 1 :  %d cm\n", Scan2[0]);
   printf("Scan2 2 :  %d cm\n", Scan2[1]);
    printf("Scan2 3 :  %d cm\n", Scan2[2]);
@@ -312,7 +311,8 @@
   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];
@@ -390,7 +390,7 @@
      lcd.printString("Press A",0,2);
      lcd.printString("New Scan",0,3);
      lcd.printString("Press B",0,4);
-     lcd.printString("Kory 18689004",0,5);
+     lcd.printString("Decicde",0,5);
      LoopCountScan1 =0;
      LoopCountScan2 =0;
      LoopCountScan3 =0;
@@ -399,7 +399,9 @@
      
 
         
-           
+ /* Code Section No longer required
+ *
+          
 for(int i=0;  i<5; i++){
      
      printf("hello Scan: %i The value of : %i \n",i, Scan1[i]);
@@ -413,10 +415,13 @@
              Decide[i]= '=';
              printf("No Object %c/n",Decide[i]);}
              }
-             
-             for (int i=0; i<5; i++){
- int box[5]= {90,90,90,90,90};
+ */            
+ for (int i=0; i<5; i++){
+ int box[5]= {90,10,10,90,90};// compared to the wall if the box is present this sequence should be recorded
+ int carton[5] = {10,10,10,10,10}; // compared to the carton if the box is present this sequence should be recorded
  int isBox[5];
+ int isCarton[5];
+ 
    isBox[i] =abs(Scan1[i]-box[i]);
    printf("DeBUGGING isBOX : %i\n", isBox[i]);
     if (isBox[i]<=5){
@@ -424,10 +429,18 @@
 else if (isBox[i]>5){
 isBox[i]=1;}
 printf("DeBUGGING isBOX : %i\n", isBox[i]);
-int total = accumulate(begin(isBox), end(isBox), 0, plus<int>());
-printf("DEBUGGING total %i\n", total);}
+int boxTotal = accumulate(begin(isBox), end(isBox), 0, plus<int>());
+printf("DEBUGGING BOX total %i\n", boxTotal);
 
-
+  isCarton[i] =abs(Scan1[i]-carton[i]);
+   printf("DeBUGGING isCarton : %i\n", isCarton[i]);
+    if (isCarton[i]<=5){
+    isCarton[i]=0;}
+else if (isCarton[i]>5){
+isCarton[i]=1;}
+printf("DeBUGGING isCarton : %i\n", isCarton[i]);
+int cartonTotal = accumulate(begin(isCarton), end(isCarton), 0, plus<int>());
+printf("DEBUGGING CARTON total %i\n", cartonTotal);}
 
      
 /**  IF Statement to decide on shape to draw
@@ -818,7 +831,7 @@
  /*
  *..Section used for power saving, if the user has not continued after 5 scans
  */ 
-    if(LoopCountScan1==5){
+    if(LoopCountScan1==10){
         g_ButtonAPress=0;
         LoopCountScan1=0;
         break;}
@@ -845,7 +858,7 @@
 ////////////////////////////////////////////////////////////////////////////        
      case 2: 
     g_ButtonAPress= 2;
-        if(LoopCountScan2==5){
+        if(LoopCountScan2==10){
         g_ButtonAPress=0;
         LoopCountScan2=0;
         break;}
@@ -862,7 +875,7 @@
 ////////////////////////////////////////////////////////////////////     
      case 3:
               g_ButtonAPress= 3;
-                  if(LoopCountScan3==5){
+                  if(LoopCountScan3==10){
         g_ButtonAPress=0;
         LoopCountScan3=0;
         break;}
@@ -880,7 +893,7 @@
  
      case 4:
               g_ButtonAPress= 4;
-                  if(LoopCountScan4==5){
+                  if(LoopCountScan4==10){
         g_ButtonAPress=0;
         LoopCountScan4=0;
         break;}
@@ -896,7 +909,7 @@
      ///////////////////////////////////////////////////////////////////
           case 5:
               g_ButtonAPress= 5;
-                  if(LoopCountScan5==5){
+                  if(LoopCountScan5==10){
         g_ButtonAPress=0;
         LoopCountScan5=0;
         break;}
@@ -1128,10 +1141,10 @@
     int m = sizeof(arr2) / sizeof(int);
  
  
-    if(MatchMade(arr1, arr2, n, m))
-    printf("You are a wall");
-    else
-        printf("Not THis Object"); //////////////////////////////////
+   // if(MatchMade(arr1, arr2, n, m))
+   // printf("You are a wall");
+   // else
+     //   printf("Not THis Object"); //////////////////////////////////
         
         
         lcd.printString("Button Start Pressed",0,0);
@@ -1171,6 +1184,7 @@
       
        Buzzer.play(300,120);  lcd.printString("X",0,1); lcd.refresh();       Scan1[0] = sensor.distance();
         wait_ms(5);
+        /* NO Longer Required Section 
          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();
@@ -1178,7 +1192,7 @@
          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);
+        wait_ms(5); */
          lcd.printString("Scan 1 Done",0,0); lcd.refresh();
          }
          
@@ -1188,36 +1202,36 @@
          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();       Scan2[0] = sensor.distance();
-         wait_ms(5);
+         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();
+         Buzzer.play(300,120);  lcd.printString("X",15,1); lcd.refresh();       Scan1[1] = 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();
 
     }
 void inputScan3()
 {
-        lcd.clear();
+         lcd.clear();
          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();       Scan3[0] = sensor.distance();
-        wait_ms(5);
+         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();
+         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();
+         Buzzer.play(300,120);  lcd.printString("X",30,1); lcd.refresh();       Scan1[2] = 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()
@@ -1226,18 +1240,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();       Scan4[0] = sensor.distance();
-         wait_ms(5);
+         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();
+         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();
+         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();        
+         Buzzer.play(300,120);  lcd.printString("X",45,1); lcd.refresh();       Scan1[3] = 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()
@@ -1246,18 +1260,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();       Scan5[0] = sensor.distance();
-         wait_ms(5);
+         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();
+         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();
+         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();
+         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(); 
+         Buzzer.play(300,120);  lcd.printString("X",60,1); lcd.refresh();       Scan1[4] = 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