an ultrasonic sensor used as a car sensor

Dependencies:   N5110 PowerControl beep mbed sensor

Committer:
sjaffal3
Date:
Mon May 11 19:49:17 2015 +0000
Revision:
2:9328053b2ba7
Parent:
1:475a5b7258fa
final code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sjaffal3 1:475a5b7258fa 1 /**
sjaffal3 1:475a5b7258fa 2 @file main.cpp
sjaffal3 0:be8f580f1b5b 3
sjaffal3 1:475a5b7258fa 4 @brief Program implementation
sjaffal3 0:be8f580f1b5b 5
sjaffal3 1:475a5b7258fa 6 */
sjaffal3 0:be8f580f1b5b 7
sjaffal3 1:475a5b7258fa 8 #include "main.h"
sjaffal3 0:be8f580f1b5b 9
sjaffal3 0:be8f580f1b5b 10
sjaffal3 2:9328053b2ba7 11
sjaffal3 0:be8f580f1b5b 12 int main()
sjaffal3 2:9328053b2ba7 13 {
sjaffal3 2:9328053b2ba7 14
sjaffal3 2:9328053b2ba7 15
sjaffal3 2:9328053b2ba7 16 PHY_PowerDown(); /// the Ethernet cable is powered down
sjaffal3 2:9328053b2ba7 17 lcd.init(); /// the LCD display is initialised when switch is on
sjaffal3 2:9328053b2ba7 18 welcomeMessage(); /// the welcome message will appear
sjaffal3 2:9328053b2ba7 19 button.rise(&buttonPressed); /// event generated on rising edge
sjaffal3 1:475a5b7258fa 20
sjaffal3 0:be8f580f1b5b 21
sjaffal3 0:be8f580f1b5b 22 while (1) {
sjaffal3 2:9328053b2ba7 23
sjaffal3 2:9328053b2ba7 24 mypotVal = mypot; ///sets a variable to change as the pot is changing
sjaffal3 2:9328053b2ba7 25 lcd.setBrightness(mypotVal); ///sets the brightness to the pot value
sjaffal3 2:9328053b2ba7 26 compDist(); ///compares the distance to set it in a specific range
sjaffal3 1:475a5b7258fa 27
sjaffal3 1:475a5b7258fa 28
sjaffal3 1:475a5b7258fa 29 }
sjaffal3 0:be8f580f1b5b 30
sjaffal3 0:be8f580f1b5b 31
sjaffal3 0:be8f580f1b5b 32 }
sjaffal3 0:be8f580f1b5b 33
sjaffal3 2:9328053b2ba7 34 void buttonPressed()
sjaffal3 1:475a5b7258fa 35 {
sjaffal3 2:9328053b2ba7 36 wait(0.2);
sjaffal3 1:475a5b7258fa 37
sjaffal3 2:9328053b2ba7 38 if (i>1) ///when button is pressed it will check if i >1
sjaffal3 2:9328053b2ba7 39 { i=0; /// if it is it will set it to 0
sjaffal3 1:475a5b7258fa 40 }
sjaffal3 2:9328053b2ba7 41 else
sjaffal3 2:9328053b2ba7 42 { i++; /// if not it will increment i by one
sjaffal3 1:475a5b7258fa 43 }
sjaffal3 2:9328053b2ba7 44
sjaffal3 2:9328053b2ba7 45 }
sjaffal3 1:475a5b7258fa 46
sjaffal3 2:9328053b2ba7 47
sjaffal3 2:9328053b2ba7 48
sjaffal3 2:9328053b2ba7 49 ///Print welcome message
sjaffal3 0:be8f580f1b5b 50 void welcomeMessage()
sjaffal3 0:be8f580f1b5b 51 {
sjaffal3 0:be8f580f1b5b 52
sjaffal3 2:9328053b2ba7 53
sjaffal3 2:9328053b2ba7 54 lcd.printString("University of ",5,0);
sjaffal3 2:9328053b2ba7 55 lcd.printString("Leeds",27,1);
sjaffal3 2:9328053b2ba7 56
sjaffal3 2:9328053b2ba7 57 lcd.refresh();
sjaffal3 2:9328053b2ba7 58
sjaffal3 2:9328053b2ba7 59 lcd.drawRect(59,36,5,11,0);///bottom left rectangle is set
sjaffal3 2:9328053b2ba7 60 lcd.drawRect(72,36,5,11,0);///bottom right rectangle is set
sjaffal3 2:9328053b2ba7 61 lcd.drawRect(64,34,8,13,0);///bottom middle rectangle is set
sjaffal3 2:9328053b2ba7 62
sjaffal3 2:9328053b2ba7 63 lcd.drawRect(60,33,16,3,0); /// is set over the bottom rectangles
sjaffal3 2:9328053b2ba7 64
sjaffal3 2:9328053b2ba7 65 lcd.drawCircle(68,40,2,0); /// circle is set on bottom middle box
sjaffal3 2:9328053b2ba7 66
sjaffal3 2:9328053b2ba7 67 lcd.drawRect(61,26,14,7,0);///big middle box is set over everything
sjaffal3 2:9328053b2ba7 68
sjaffal3 2:9328053b2ba7 69 lcd.drawRect(63,27,10,0.5,1);///top black rectangle is set
sjaffal3 2:9328053b2ba7 70
sjaffal3 2:9328053b2ba7 71 lcd.drawRect(64.5,28,1,0.5,1);///left middle black rect is set
sjaffal3 2:9328053b2ba7 72 lcd.drawRect(67.5,28,1,0.5,1);///middle black rect is set
sjaffal3 2:9328053b2ba7 73 lcd.drawRect(70,28,1,0.5,1);///right middle black rect is set
sjaffal3 2:9328053b2ba7 74 lcd.drawRect(64.5,28,0.5,3.5,1);///left bottom black rect is set
sjaffal3 2:9328053b2ba7 75 lcd.drawRect(67.5,28,0.5,3.5,1);///middle bottom black rect is set
sjaffal3 2:9328053b2ba7 76 lcd.drawRect(70,28,0.5,3.5,1);///right bottom black rect is set
sjaffal3 2:9328053b2ba7 77
sjaffal3 2:9328053b2ba7 78 lcd.drawRect(62,21,12,5,0);///rectangle is set over big middle box
sjaffal3 2:9328053b2ba7 79
sjaffal3 2:9328053b2ba7 80 lcd.drawRect(66,22,0.5,0.5,1);///left top black rect is set
sjaffal3 2:9328053b2ba7 81 lcd.drawRect(68,22,0.5,0.5,1);///top black rect is set
sjaffal3 2:9328053b2ba7 82 lcd.drawRect(70,22,0.5,0.5,1);///right top black rect is set
sjaffal3 2:9328053b2ba7 83 lcd.drawRect(66,22,0.5,2,1);///left bottom black rect is set
sjaffal3 2:9328053b2ba7 84 lcd.drawRect(68,22,0.5,2,1);///middle bottom black rect is set
sjaffal3 2:9328053b2ba7 85 lcd.drawRect(70,22,0.5,2,1);///right bottom black rect is set
sjaffal3 2:9328053b2ba7 86
sjaffal3 2:9328053b2ba7 87 lcd.drawRect(64,17,8,4,0);///rectangle under triangle is set
sjaffal3 2:9328053b2ba7 88
sjaffal3 2:9328053b2ba7 89 lcd.drawLine(64,17,68,13.5,1);///left line to complete triangle
sjaffal3 2:9328053b2ba7 90
sjaffal3 2:9328053b2ba7 91 lcd.drawLine(72,17,68,13.5,1);///right line to complete triangle
sjaffal3 2:9328053b2ba7 92
sjaffal3 2:9328053b2ba7 93
sjaffal3 2:9328053b2ba7 94
sjaffal3 2:9328053b2ba7 95 lcd.clearPixel(65, 36); ///clears intersecting lines from rectangle
sjaffal3 2:9328053b2ba7 96 lcd.clearPixel(66, 36);
sjaffal3 2:9328053b2ba7 97 lcd.clearPixel(67, 36);
sjaffal3 2:9328053b2ba7 98 lcd.clearPixel(68, 36);
sjaffal3 2:9328053b2ba7 99 lcd.clearPixel(69, 36);
sjaffal3 2:9328053b2ba7 100 lcd.clearPixel(70, 36);
sjaffal3 2:9328053b2ba7 101 lcd.clearPixel(71, 36);
sjaffal3 2:9328053b2ba7 102
sjaffal3 2:9328053b2ba7 103 lcd.refresh();
sjaffal3 2:9328053b2ba7 104
sjaffal3 2:9328053b2ba7 105
sjaffal3 2:9328053b2ba7 106
sjaffal3 2:9328053b2ba7 107 wait(3.0);
sjaffal3 2:9328053b2ba7 108 lcd.clear();
sjaffal3 2:9328053b2ba7 109
sjaffal3 2:9328053b2ba7 110
sjaffal3 2:9328053b2ba7 111
sjaffal3 2:9328053b2ba7 112 lcd.printString("Saleh Jaffal",8,2);
sjaffal3 2:9328053b2ba7 113 lcd.printString("200911007",15,3);
sjaffal3 2:9328053b2ba7 114
sjaffal3 2:9328053b2ba7 115 lcd.refresh();
sjaffal3 2:9328053b2ba7 116
sjaffal3 2:9328053b2ba7 117 lcd.drawRect(6,12,73,21,0);
sjaffal3 2:9328053b2ba7 118 lcd.drawRect(4,10,77,25,0);
sjaffal3 2:9328053b2ba7 119
sjaffal3 2:9328053b2ba7 120 lcd.refresh();
sjaffal3 2:9328053b2ba7 121
sjaffal3 2:9328053b2ba7 122
sjaffal3 2:9328053b2ba7 123
sjaffal3 2:9328053b2ba7 124 getDistanceCm(); ///gets the distance after the message
sjaffal3 1:475a5b7258fa 125 getDistanceIn();
sjaffal3 1:475a5b7258fa 126 getDistanceUs();
sjaffal3 2:9328053b2ba7 127
sjaffal3 2:9328053b2ba7 128
sjaffal3 2:9328053b2ba7 129
sjaffal3 0:be8f580f1b5b 130 }
sjaffal3 0:be8f580f1b5b 131
sjaffal3 1:475a5b7258fa 132 void getDistanceCm()
sjaffal3 0:be8f580f1b5b 133 {
sjaffal3 1:475a5b7258fa 134
sjaffal3 2:9328053b2ba7 135 distance1 = sensor.getDistanceCm(); ///adds up 10 distances read by the sensor
sjaffal3 2:9328053b2ba7 136 distance2 = sensor.getDistanceCm(); ///there is a 70 ms delay between each reading
sjaffal3 1:475a5b7258fa 137 distance3 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 138 distance4 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 139 distance5 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 140 distance6 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 141 distance7 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 142 distance8 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 143 distance9 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 144 distance10 = sensor.getDistanceCm();
sjaffal3 1:475a5b7258fa 145
sjaffal3 1:475a5b7258fa 146 sum = distance1+distance2+distance3+distance4+distance5+distance6+distance7+distance8+distance9+distance10;
sjaffal3 2:9328053b2ba7 147 ///all of them are added to the sum
sjaffal3 1:475a5b7258fa 148
sjaffal3 2:9328053b2ba7 149 distanceCm = sum/10; ///the sum is divided by 10 to get the average
sjaffal3 1:475a5b7258fa 150 }
sjaffal3 1:475a5b7258fa 151
sjaffal3 1:475a5b7258fa 152
sjaffal3 1:475a5b7258fa 153
sjaffal3 1:475a5b7258fa 154
sjaffal3 1:475a5b7258fa 155
sjaffal3 1:475a5b7258fa 156
sjaffal3 1:475a5b7258fa 157
sjaffal3 1:475a5b7258fa 158 void getDistanceIn()
sjaffal3 1:475a5b7258fa 159 {
sjaffal3 2:9328053b2ba7 160 distance1 = sensor.getDistanceIn(); ///adds up 10 distances read by the sensor
sjaffal3 2:9328053b2ba7 161 distance2 = sensor.getDistanceIn(); ///there is a 70 ms delay between each reading
sjaffal3 1:475a5b7258fa 162 distance3 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 163 distance4 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 164 distance5 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 165 distance6 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 166 distance7 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 167 distance8 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 168 distance9 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 169 distance10 = sensor.getDistanceIn();
sjaffal3 1:475a5b7258fa 170
sjaffal3 1:475a5b7258fa 171
sjaffal3 1:475a5b7258fa 172 sum = distance1+distance2+distance3+distance4+distance5+distance6+distance7+distance8+distance9+distance10;
sjaffal3 2:9328053b2ba7 173 ///all of them are added to the sum
sjaffal3 2:9328053b2ba7 174
sjaffal3 2:9328053b2ba7 175 distanceIn = sum/10; ///the sum is divided by 10 to get the average
sjaffal3 1:475a5b7258fa 176 }
sjaffal3 1:475a5b7258fa 177
sjaffal3 1:475a5b7258fa 178
sjaffal3 1:475a5b7258fa 179
sjaffal3 1:475a5b7258fa 180 void getDistanceUs()
sjaffal3 1:475a5b7258fa 181 {
sjaffal3 2:9328053b2ba7 182 distance1 = sensor.getDistanceUs(); ///adds up 10 distances read by the sensor
sjaffal3 2:9328053b2ba7 183 distance2 = sensor.getDistanceUs(); ///there is a 70 ms delay between each reading
sjaffal3 1:475a5b7258fa 184 distance3 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 185 distance4 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 186 distance5 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 187 distance6 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 188 distance7 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 189 distance8 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 190 distance9 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 191 distance10 = sensor.getDistanceUs();
sjaffal3 1:475a5b7258fa 192
sjaffal3 1:475a5b7258fa 193
sjaffal3 1:475a5b7258fa 194 sum = distance1+distance2+distance3+distance4+distance5+distance6+distance7+distance8+distance9+distance10;
sjaffal3 2:9328053b2ba7 195 ///all of them are added to the sum
sjaffal3 1:475a5b7258fa 196
sjaffal3 2:9328053b2ba7 197 distanceUs = sum/10; ///the sum is divided by 10 to get the average
sjaffal3 1:475a5b7258fa 198
sjaffal3 1:475a5b7258fa 199
sjaffal3 0:be8f580f1b5b 200 }
sjaffal3 0:be8f580f1b5b 201
sjaffal3 2:9328053b2ba7 202 void compDist() ///used to compare the distances
sjaffal3 2:9328053b2ba7 203 {
sjaffal3 2:9328053b2ba7 204
sjaffal3 2:9328053b2ba7 205 switch (i)
sjaffal3 2:9328053b2ba7 206 {
sjaffal3 2:9328053b2ba7 207
sjaffal3 2:9328053b2ba7 208 case 0:
sjaffal3 2:9328053b2ba7 209 {
sjaffal3 2:9328053b2ba7 210 getDistanceCm();
sjaffal3 2:9328053b2ba7 211 ///calls this action to show the reading
sjaffal3 2:9328053b2ba7 212 char buffer[14];
sjaffal3 2:9328053b2ba7 213 /// each character is 6 pixels wide, screen is 84 pixels (84/6 = 14)
sjaffal3 2:9328053b2ba7 214 int length = sprintf(buffer," %d cm",distanceCm);
sjaffal3 2:9328053b2ba7 215 /// print formatted data to buffer
sjaffal3 2:9328053b2ba7 216 if(length<=14);
sjaffal3 2:9328053b2ba7 217 /// if string will fit on display
sjaffal3 2:9328053b2ba7 218
sjaffal3 2:9328053b2ba7 219 lcd.clear(); /// clears LCD
sjaffal3 2:9328053b2ba7 220 lcd.drawRect(6,12,73,21,0);///sets 2 rectangles
sjaffal3 2:9328053b2ba7 221 lcd.drawRect(4,10,77,25,0);
sjaffal3 2:9328053b2ba7 222 lcd.printString("Distance =",8,2);///prints distance and the reading below it
sjaffal3 2:9328053b2ba7 223 lcd.printString(buffer,8,3);
sjaffal3 2:9328053b2ba7 224
sjaffal3 2:9328053b2ba7 225 lcd.refresh(); ///refreshes LCD screen
sjaffal3 2:9328053b2ba7 226
sjaffal3 2:9328053b2ba7 227
sjaffal3 2:9328053b2ba7 228
sjaffal3 2:9328053b2ba7 229 ///compares distances and sets them in their specified range
sjaffal3 2:9328053b2ba7 230 if (distanceCm >= 100) {
sjaffal3 2:9328053b2ba7 231 A=0; ///sets case
sjaffal3 2:9328053b2ba7 232 distanceA();
sjaffal3 2:9328053b2ba7 233 }
sjaffal3 2:9328053b2ba7 234 else if (distanceCm >= 80 && distanceCm <= 99) {
sjaffal3 2:9328053b2ba7 235 A=1; ///sets case
sjaffal3 2:9328053b2ba7 236 distanceA();
sjaffal3 2:9328053b2ba7 237 }
sjaffal3 2:9328053b2ba7 238 else if (distanceCm >= 60 && distanceCm <= 79) {
sjaffal3 2:9328053b2ba7 239 A=2; ///sets case
sjaffal3 2:9328053b2ba7 240 distanceA();
sjaffal3 2:9328053b2ba7 241 }
sjaffal3 2:9328053b2ba7 242 else if (distanceCm >= 40 && distanceCm <= 59) {
sjaffal3 2:9328053b2ba7 243 A=3; ///sets case
sjaffal3 2:9328053b2ba7 244 distanceA();
sjaffal3 2:9328053b2ba7 245 }
sjaffal3 2:9328053b2ba7 246 else if (distanceCm >= 20 && distanceCm <=39 ) {
sjaffal3 2:9328053b2ba7 247 A=4; ///sets case
sjaffal3 2:9328053b2ba7 248 distanceA();
sjaffal3 2:9328053b2ba7 249 }
sjaffal3 2:9328053b2ba7 250 else {
sjaffal3 2:9328053b2ba7 251 A=5; ///sets case
sjaffal3 2:9328053b2ba7 252 distanceA();
sjaffal3 2:9328053b2ba7 253 }
sjaffal3 1:475a5b7258fa 254
sjaffal3 2:9328053b2ba7 255 }
sjaffal3 2:9328053b2ba7 256 break;
sjaffal3 2:9328053b2ba7 257
sjaffal3 2:9328053b2ba7 258 case (1):
sjaffal3 2:9328053b2ba7 259 {
sjaffal3 1:475a5b7258fa 260
sjaffal3 2:9328053b2ba7 261 getDistanceIn();
sjaffal3 2:9328053b2ba7 262 ///calls this action to show the reading
sjaffal3 2:9328053b2ba7 263 char buffer[14];
sjaffal3 2:9328053b2ba7 264 /// each character is 6 pixels wide, screen is 84 pixels (84/6 = 14)
sjaffal3 2:9328053b2ba7 265 int length = sprintf(buffer," %d in",distanceIn);
sjaffal3 2:9328053b2ba7 266 /// print formatted data to buffer
sjaffal3 2:9328053b2ba7 267 if(length<=14);
sjaffal3 2:9328053b2ba7 268 /// if string will fit on display
sjaffal3 2:9328053b2ba7 269
sjaffal3 2:9328053b2ba7 270 lcd.clear(); /// clears LCD
sjaffal3 2:9328053b2ba7 271 lcd.drawRect(6,12,73,21,0);/// sets 2 rectangles
sjaffal3 2:9328053b2ba7 272 lcd.drawRect(4,10,77,25,0);
sjaffal3 2:9328053b2ba7 273 lcd.printString("Distance =",8,2);/// prints distance and the reading below it
sjaffal3 2:9328053b2ba7 274 lcd.printString(buffer,8,3);
sjaffal3 2:9328053b2ba7 275
sjaffal3 2:9328053b2ba7 276 lcd.refresh(); /// refreshes LCD screen
sjaffal3 2:9328053b2ba7 277
sjaffal3 2:9328053b2ba7 278 ///compares distances and sets them in their specified range
sjaffal3 1:475a5b7258fa 279
sjaffal3 2:9328053b2ba7 280 if (distanceIn >= 40) {
sjaffal3 2:9328053b2ba7 281 A=0; ///sets case
sjaffal3 2:9328053b2ba7 282 distanceA();
sjaffal3 2:9328053b2ba7 283 }
sjaffal3 2:9328053b2ba7 284 else if (distanceIn >= 32 && distanceIn <= 39) {
sjaffal3 2:9328053b2ba7 285 A=1; ///sets case
sjaffal3 2:9328053b2ba7 286 distanceA();
sjaffal3 2:9328053b2ba7 287 }
sjaffal3 2:9328053b2ba7 288 else if (distanceIn >= 24 && distanceIn <= 31) {
sjaffal3 2:9328053b2ba7 289 A=2; ///sets case
sjaffal3 2:9328053b2ba7 290 distanceA();
sjaffal3 2:9328053b2ba7 291 }
sjaffal3 2:9328053b2ba7 292 else if (distanceIn >= 16 && distanceIn <= 23) {
sjaffal3 2:9328053b2ba7 293 A=3; ///sets case
sjaffal3 2:9328053b2ba7 294 distanceA();
sjaffal3 2:9328053b2ba7 295 }
sjaffal3 2:9328053b2ba7 296 else if (distanceIn >= 8 && distanceIn <=15 ) {
sjaffal3 2:9328053b2ba7 297 A=4; ///sets case
sjaffal3 2:9328053b2ba7 298 distanceA();
sjaffal3 2:9328053b2ba7 299 }
sjaffal3 2:9328053b2ba7 300 else {
sjaffal3 2:9328053b2ba7 301 A=5; ///sets case
sjaffal3 2:9328053b2ba7 302 distanceA();
sjaffal3 2:9328053b2ba7 303 }
sjaffal3 2:9328053b2ba7 304 }
sjaffal3 2:9328053b2ba7 305 break;
sjaffal3 2:9328053b2ba7 306
sjaffal3 2:9328053b2ba7 307 case(2):
sjaffal3 2:9328053b2ba7 308 {
sjaffal3 2:9328053b2ba7 309 getDistanceUs();
sjaffal3 2:9328053b2ba7 310 ///calls this action to show the reading
sjaffal3 2:9328053b2ba7 311 char buffer[14];
sjaffal3 2:9328053b2ba7 312 /// each character is 6 pixels wide, screen is 84 pixels (84/6 = 14)
sjaffal3 2:9328053b2ba7 313 int length = sprintf(buffer," %d us",distanceUs);
sjaffal3 2:9328053b2ba7 314 /// print formatted data to buffer
sjaffal3 2:9328053b2ba7 315 if(length<=14);
sjaffal3 2:9328053b2ba7 316 /// if string will fit on display
sjaffal3 2:9328053b2ba7 317
sjaffal3 2:9328053b2ba7 318 lcd.clear(); /// clears LCD
sjaffal3 2:9328053b2ba7 319 lcd.drawRect(6,12,73,21,0);/// sets 2 rectangles
sjaffal3 2:9328053b2ba7 320 lcd.drawRect(4,10,77,25,0);
sjaffal3 2:9328053b2ba7 321 lcd.printString("Distance =",8,2);/// prints distance and the reading below it
sjaffal3 2:9328053b2ba7 322 lcd.printString(buffer,8,3);
sjaffal3 2:9328053b2ba7 323
sjaffal3 2:9328053b2ba7 324 lcd.refresh(); /// refreshes LCD screen
sjaffal3 2:9328053b2ba7 325
sjaffal3 2:9328053b2ba7 326
sjaffal3 2:9328053b2ba7 327 ///compares distances and sets them in their specified range
sjaffal3 1:475a5b7258fa 328
sjaffal3 2:9328053b2ba7 329 if (distanceUs >= 5900) {
sjaffal3 2:9328053b2ba7 330 A=0; ///sets case
sjaffal3 2:9328053b2ba7 331 distanceA();
sjaffal3 2:9328053b2ba7 332 }
sjaffal3 2:9328053b2ba7 333 else if (distanceUs >= 4680 && distanceUs <= 5899) {
sjaffal3 2:9328053b2ba7 334 A=1;///sets case
sjaffal3 2:9328053b2ba7 335 distanceA();
sjaffal3 2:9328053b2ba7 336 }
sjaffal3 2:9328053b2ba7 337 else if (distanceUs >= 3400 && distanceUs <= 4679) {
sjaffal3 2:9328053b2ba7 338 A=2;///sets case
sjaffal3 2:9328053b2ba7 339 distanceA();
sjaffal3 2:9328053b2ba7 340 }
sjaffal3 2:9328053b2ba7 341 else if (distanceUs >= 2430 && distanceUs <= 3339) {
sjaffal3 2:9328053b2ba7 342 A=3;///sets case
sjaffal3 2:9328053b2ba7 343 distanceA();
sjaffal3 2:9328053b2ba7 344 }
sjaffal3 2:9328053b2ba7 345 else if (distanceUs >= 1220 && distanceUs <=2429 ) {
sjaffal3 2:9328053b2ba7 346 A=4;///sets case
sjaffal3 2:9328053b2ba7 347 distanceA();
sjaffal3 2:9328053b2ba7 348 }
sjaffal3 2:9328053b2ba7 349 else {
sjaffal3 2:9328053b2ba7 350 A=5;///sets case
sjaffal3 2:9328053b2ba7 351 distanceA();
sjaffal3 2:9328053b2ba7 352 }
sjaffal3 2:9328053b2ba7 353
sjaffal3 2:9328053b2ba7 354 }
sjaffal3 2:9328053b2ba7 355 break;
sjaffal3 2:9328053b2ba7 356
sjaffal3 2:9328053b2ba7 357
sjaffal3 2:9328053b2ba7 358
sjaffal3 2:9328053b2ba7 359 }
sjaffal3 2:9328053b2ba7 360 }
sjaffal3 2:9328053b2ba7 361
sjaffal3 2:9328053b2ba7 362 void distanceA() //sets leds and buzzer for each case
sjaffal3 1:475a5b7258fa 363 {
sjaffal3 2:9328053b2ba7 364 switch (A){
sjaffal3 2:9328053b2ba7 365
sjaffal3 2:9328053b2ba7 366 case(0):
sjaffal3 2:9328053b2ba7 367 { //case 0 would have 1 LED on
sjaffal3 1:475a5b7258fa 368 green1=1;
sjaffal3 1:475a5b7258fa 369 green2=0;
sjaffal3 1:475a5b7258fa 370 yellow1=0;
sjaffal3 1:475a5b7258fa 371 yellow2=0;
sjaffal3 1:475a5b7258fa 372 red1=0;
sjaffal3 1:475a5b7258fa 373 red2=0;
sjaffal3 2:9328053b2ba7 374 lcd.printString("Out of range",0,0);
sjaffal3 2:9328053b2ba7 375 buzzer.beep(2000, 0.1); ///@see This code was from a library I found
sjaffal3 2:9328053b2ba7 376
sjaffal3 1:475a5b7258fa 377
sjaffal3 2:9328053b2ba7 378 }
sjaffal3 2:9328053b2ba7 379 break;
sjaffal3 2:9328053b2ba7 380
sjaffal3 2:9328053b2ba7 381 case(1):
sjaffal3 2:9328053b2ba7 382 { ///case 1 would have 2 LED's on
sjaffal3 1:475a5b7258fa 383 green1=1;
sjaffal3 1:475a5b7258fa 384 green2=1;
sjaffal3 1:475a5b7258fa 385 yellow1=0;
sjaffal3 1:475a5b7258fa 386 yellow2=0;
sjaffal3 1:475a5b7258fa 387 red1=0;
sjaffal3 1:475a5b7258fa 388 red2=0;
sjaffal3 2:9328053b2ba7 389 lcd.printString("In range",0,0);
sjaffal3 2:9328053b2ba7 390 buzzer.beep(2000, 0.1); ///@see This code was from a library I found
sjaffal3 1:475a5b7258fa 391 }
sjaffal3 2:9328053b2ba7 392 break;
sjaffal3 1:475a5b7258fa 393
sjaffal3 2:9328053b2ba7 394 case(2):
sjaffal3 2:9328053b2ba7 395 { //green1=1; ///case 2 would have 3 LED's on
sjaffal3 1:475a5b7258fa 396 green2=1;
sjaffal3 1:475a5b7258fa 397 yellow1=1;
sjaffal3 1:475a5b7258fa 398 yellow2=0;
sjaffal3 1:475a5b7258fa 399 red1=0;
sjaffal3 1:475a5b7258fa 400 red2=0;
sjaffal3 2:9328053b2ba7 401 lcd.printString("Take Care!",0,0);
sjaffal3 2:9328053b2ba7 402 buzzer.beep(2000, 0.2);
sjaffal3 1:475a5b7258fa 403 }
sjaffal3 2:9328053b2ba7 404 break;
sjaffal3 1:475a5b7258fa 405
sjaffal3 2:9328053b2ba7 406 case(3):
sjaffal3 1:475a5b7258fa 407 {
sjaffal3 2:9328053b2ba7 408 green1=1; ///case 3 would have 4 LED's on
sjaffal3 1:475a5b7258fa 409 green2=1;
sjaffal3 1:475a5b7258fa 410 yellow1=1;
sjaffal3 1:475a5b7258fa 411 yellow2=1;
sjaffal3 1:475a5b7258fa 412 red1=0;
sjaffal3 1:475a5b7258fa 413 red2=0;
sjaffal3 2:9328053b2ba7 414 lcd.printString("Closer!",0,0);
sjaffal3 2:9328053b2ba7 415 buzzer.beep(2000, 0.2); ///@see This code was from a library I found
sjaffal3 1:475a5b7258fa 416 }
sjaffal3 2:9328053b2ba7 417 break;
sjaffal3 1:475a5b7258fa 418
sjaffal3 2:9328053b2ba7 419 case(4):
sjaffal3 1:475a5b7258fa 420 {
sjaffal3 2:9328053b2ba7 421 green1=1; ///case 4 would have 5 LED's on
sjaffal3 1:475a5b7258fa 422 green2=1;
sjaffal3 1:475a5b7258fa 423 yellow1=1;
sjaffal3 1:475a5b7258fa 424 yellow2=1;
sjaffal3 1:475a5b7258fa 425 red1=1;
sjaffal3 1:475a5b7258fa 426 red2=0;
sjaffal3 2:9328053b2ba7 427 lcd.printString("VERY CLOSE!",0,0);
sjaffal3 2:9328053b2ba7 428 buzzer.beep(2000, 0.4); ///@see This code was from a library I found
sjaffal3 0:be8f580f1b5b 429 }
sjaffal3 2:9328053b2ba7 430 break;
sjaffal3 0:be8f580f1b5b 431
sjaffal3 2:9328053b2ba7 432 case(5):
sjaffal3 0:be8f580f1b5b 433 {
sjaffal3 2:9328053b2ba7 434 green1=1; ///case 5 would have 6 LED's on
sjaffal3 1:475a5b7258fa 435 green2=1;
sjaffal3 1:475a5b7258fa 436 yellow1=1;
sjaffal3 1:475a5b7258fa 437 yellow2=1;
sjaffal3 1:475a5b7258fa 438 red1=1;
sjaffal3 1:475a5b7258fa 439 red2=1;
sjaffal3 2:9328053b2ba7 440 lcd.printString("WATCH OUT!",0,0);
sjaffal3 2:9328053b2ba7 441 buzzer.beep(2000, 1.2); ///@see This code was from a library I found
sjaffal3 0:be8f580f1b5b 442 }
sjaffal3 2:9328053b2ba7 443 break;
sjaffal3 2:9328053b2ba7 444 }}