![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Coursework
Diff: main.cpp
- 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