an ultrasonic sensor used as a car sensor
Dependencies: N5110 PowerControl beep mbed sensor
main.h@2:9328053b2ba7, 2015-05-11 (annotated)
- 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?
User | Revision | Line number | New contents of line |
---|---|---|---|
sjaffal3 | 1:475a5b7258fa | 1 | /** |
sjaffal3 | 1:475a5b7258fa | 2 | @file main.h |
sjaffal3 | 1:475a5b7258fa | 3 | @brief Header file containing functions prototypes, defines and global variables. |
sjaffal3 | 1:475a5b7258fa | 4 | @brief Revision 1.0. |
sjaffal3 | 1:475a5b7258fa | 5 | @author Saleh Jaffal |
sjaffal3 | 1:475a5b7258fa | 6 | @date April 2015 |
sjaffal3 | 1:475a5b7258fa | 7 | */ |
sjaffal3 | 1:475a5b7258fa | 8 | |
sjaffal3 | 1:475a5b7258fa | 9 | #ifndef MAIN_H |
sjaffal3 | 1:475a5b7258fa | 10 | #define MAIN_H |
sjaffal3 | 2:9328053b2ba7 | 11 | //#include "beep.h" |
sjaffal3 | 1:475a5b7258fa | 12 | #include "mbed.h" |
sjaffal3 | 1:475a5b7258fa | 13 | #include "SRF02.h" |
sjaffal3 | 1:475a5b7258fa | 14 | #include "N5110.h" |
sjaffal3 | 2:9328053b2ba7 | 15 | #include "beep.h" ///@see a library I found to initiate the buzzer |
sjaffal3 | 1:475a5b7258fa | 16 | #include "PowerControl/PowerControl.h" |
sjaffal3 | 1:475a5b7258fa | 17 | #include "PowerControl/EthernetPowerControl.h" |
sjaffal3 | 1:475a5b7258fa | 18 | |
sjaffal3 | 1:475a5b7258fa | 19 | #define USR_POWERDOWN (0x104) |
sjaffal3 | 1:475a5b7258fa | 20 | N5110 lcd(p7,p8,p9,p10,p11,p13,p26); |
sjaffal3 | 1:475a5b7258fa | 21 | SRF02 sensor(p28, p27); |
sjaffal3 | 1:475a5b7258fa | 22 | /** |
sjaffal3 | 1:475a5b7258fa | 23 | @namespace buzzer |
sjaffal3 | 1:475a5b7258fa | 24 | @brief output for status buzzer |
sjaffal3 | 1:475a5b7258fa | 25 | */ |
sjaffal3 | 1:475a5b7258fa | 26 | Beep buzzer(p21); |
sjaffal3 | 1:475a5b7258fa | 27 | /** |
sjaffal3 | 1:475a5b7258fa | 28 | @namespace green1 |
sjaffal3 | 1:475a5b7258fa | 29 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 30 | */ |
sjaffal3 | 1:475a5b7258fa | 31 | PwmOut green1(p22); |
sjaffal3 | 1:475a5b7258fa | 32 | /** |
sjaffal3 | 1:475a5b7258fa | 33 | @namespace green2 |
sjaffal3 | 1:475a5b7258fa | 34 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 35 | */ |
sjaffal3 | 1:475a5b7258fa | 36 | PwmOut green2(p23); |
sjaffal3 | 1:475a5b7258fa | 37 | /** |
sjaffal3 | 1:475a5b7258fa | 38 | @namespace yellow1 |
sjaffal3 | 1:475a5b7258fa | 39 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 40 | */ |
sjaffal3 | 1:475a5b7258fa | 41 | PwmOut yellow1(p24); |
sjaffal3 | 1:475a5b7258fa | 42 | /** |
sjaffal3 | 1:475a5b7258fa | 43 | @namespace yellow2 |
sjaffal3 | 1:475a5b7258fa | 44 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 45 | */ |
sjaffal3 | 1:475a5b7258fa | 46 | PwmOut yellow2(p25); |
sjaffal3 | 1:475a5b7258fa | 47 | /** |
sjaffal3 | 1:475a5b7258fa | 48 | @namespace red1 |
sjaffal3 | 1:475a5b7258fa | 49 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 50 | */ |
sjaffal3 | 1:475a5b7258fa | 51 | DigitalOut red1(p29); |
sjaffal3 | 1:475a5b7258fa | 52 | /** |
sjaffal3 | 1:475a5b7258fa | 53 | @namespace red2 |
sjaffal3 | 1:475a5b7258fa | 54 | @brief GPIO output for status LED |
sjaffal3 | 1:475a5b7258fa | 55 | */ |
sjaffal3 | 1:475a5b7258fa | 56 | DigitalOut red2(p30); |
sjaffal3 | 1:475a5b7258fa | 57 | /** |
sjaffal3 | 1:475a5b7258fa | 58 | @namespace pot |
sjaffal3 | 1:475a5b7258fa | 59 | @brief GPIO input for lcd brightness |
sjaffal3 | 1:475a5b7258fa | 60 | */ |
sjaffal3 | 2:9328053b2ba7 | 61 | AnalogIn mypot(p20); |
sjaffal3 | 1:475a5b7258fa | 62 | /** |
sjaffal3 | 1:475a5b7258fa | 63 | @namespace button |
sjaffal3 | 1:475a5b7258fa | 64 | @brief GPIO input to switch values from the sensor |
sjaffal3 | 1:475a5b7258fa | 65 | */ |
sjaffal3 | 1:475a5b7258fa | 66 | InterruptIn button(p15); |
sjaffal3 | 1:475a5b7258fa | 67 | |
sjaffal3 | 1:475a5b7258fa | 68 | |
sjaffal3 | 1:475a5b7258fa | 69 | Serial pc(USBTX, USBRX); |
sjaffal3 | 1:475a5b7258fa | 70 | |
sjaffal3 | 1:475a5b7258fa | 71 | |
sjaffal3 | 1:475a5b7258fa | 72 | |
sjaffal3 | 2:9328053b2ba7 | 73 | void beepOff(); |
sjaffal3 | 2:9328053b2ba7 | 74 | |
sjaffal3 | 2:9328053b2ba7 | 75 | void beepOn(float t); |
sjaffal3 | 2:9328053b2ba7 | 76 | |
sjaffal3 | 2:9328053b2ba7 | 77 | /** |
sjaffal3 | 2:9328053b2ba7 | 78 | Shows the welcome message when the LCD is on |
sjaffal3 | 2:9328053b2ba7 | 79 | */ |
sjaffal3 | 2:9328053b2ba7 | 80 | void welcomeMessage(); |
sjaffal3 | 2:9328053b2ba7 | 81 | /** |
sjaffal3 | 2:9328053b2ba7 | 82 | gets the distance in cm by dividing |
sjaffal3 | 2:9328053b2ba7 | 83 | 10 read values by 10 |
sjaffal3 | 2:9328053b2ba7 | 84 | @returns the average distance in cm |
sjaffal3 | 2:9328053b2ba7 | 85 | */ |
sjaffal3 | 2:9328053b2ba7 | 86 | void getDistanceCm(); |
sjaffal3 | 2:9328053b2ba7 | 87 | /** |
sjaffal3 | 2:9328053b2ba7 | 88 | gets the distance in inches by dividing |
sjaffal3 | 2:9328053b2ba7 | 89 | 10 read values by 10 |
sjaffal3 | 2:9328053b2ba7 | 90 | @returns the average distance in inches |
sjaffal3 | 2:9328053b2ba7 | 91 | */ |
sjaffal3 | 2:9328053b2ba7 | 92 | void getDistanceIn(); |
sjaffal3 | 2:9328053b2ba7 | 93 | /** |
sjaffal3 | 2:9328053b2ba7 | 94 | gets the distance in us by dividing |
sjaffal3 | 2:9328053b2ba7 | 95 | 10 read values by 10 |
sjaffal3 | 2:9328053b2ba7 | 96 | @returns the average distance in us |
sjaffal3 | 2:9328053b2ba7 | 97 | */ |
sjaffal3 | 2:9328053b2ba7 | 98 | void getDistanceUs(); |
sjaffal3 | 2:9328053b2ba7 | 99 | |
sjaffal3 | 2:9328053b2ba7 | 100 | /** |
sjaffal3 | 2:9328053b2ba7 | 101 | when the button is pressed this |
sjaffal3 | 2:9328053b2ba7 | 102 | action is called |
sjaffal3 | 2:9328053b2ba7 | 103 | */ |
sjaffal3 | 2:9328053b2ba7 | 104 | void buttonPressed(); |
sjaffal3 | 2:9328053b2ba7 | 105 | /** |
sjaffal3 | 2:9328053b2ba7 | 106 | looks for where the range of the reading is |
sjaffal3 | 2:9328053b2ba7 | 107 | to set its conditions |
sjaffal3 | 2:9328053b2ba7 | 108 | */ |
sjaffal3 | 2:9328053b2ba7 | 109 | void compDist(); |
sjaffal3 | 2:9328053b2ba7 | 110 | /** |
sjaffal3 | 2:9328053b2ba7 | 111 | compares the cases of each distance |
sjaffal3 | 2:9328053b2ba7 | 112 | to set the Led's values and the buzzer |
sjaffal3 | 2:9328053b2ba7 | 113 | */ |
sjaffal3 | 2:9328053b2ba7 | 114 | void distanceA(); |
sjaffal3 | 2:9328053b2ba7 | 115 | |
sjaffal3 | 2:9328053b2ba7 | 116 | |
sjaffal3 | 2:9328053b2ba7 | 117 | int distanceCm; /*!< distanceCm set in ISR */ |
sjaffal3 | 2:9328053b2ba7 | 118 | int distanceIn; /*!< distanceIn set in ISR */ |
sjaffal3 | 2:9328053b2ba7 | 119 | int distanceUs; /*!< distanceUs set in ISR */ |
sjaffal3 | 2:9328053b2ba7 | 120 | int A; /*!< used to compare the cases after being set in compDist() */ |
sjaffal3 | 1:475a5b7258fa | 121 | |
sjaffal3 | 1:475a5b7258fa | 122 | /** |
sjaffal3 | 1:475a5b7258fa | 123 | All distances used to add |
sjaffal3 | 1:475a5b7258fa | 124 | the 10 readings from the sensor |
sjaffal3 | 1:475a5b7258fa | 125 | to get an average of 10 readings |
sjaffal3 | 1:475a5b7258fa | 126 | per second, so that it will cancel |
sjaffal3 | 1:475a5b7258fa | 127 | out the noise. |
sjaffal3 | 1:475a5b7258fa | 128 | */ |
sjaffal3 | 1:475a5b7258fa | 129 | int distance1; /*!< distance1 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 130 | int distance2; /*!< distance2 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 131 | int distance3; /*!< distance3 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 132 | int distance4; /*!< distance4 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 133 | int distance5; /*!< distance5 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 134 | int distance6; /*!< distance6 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 135 | int distance7; /*!< distance7 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 136 | int distance8; /*!< distance8 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 137 | int distance9; /*!< distance9 set in ISR */ |
sjaffal3 | 1:475a5b7258fa | 138 | int distance10; /*!< distance10 set in ISR */ |
sjaffal3 | 2:9328053b2ba7 | 139 | |
sjaffal3 | 2:9328053b2ba7 | 140 | float mypotVal; /*!< mypotVal is used to transfer the vlaue of the pot |
sjaffal3 | 2:9328053b2ba7 | 141 | to lcd brightness */ |
sjaffal3 | 1:475a5b7258fa | 142 | int i=0; |
sjaffal3 | 2:9328053b2ba7 | 143 | int sum; /*!< used to add all the distances together (ie distance 1, |
sjaffal3 | 2:9328053b2ba7 | 144 | distance 2, ...*/ |
sjaffal3 | 1:475a5b7258fa | 145 | #endif |