Parking sensor project ELEC2645
Dependencies: N5110 SRF02 TMP102 mbed
main.h@0:7f408d2bc038, 2016-05-05 (annotated)
- Committer:
- el14adr
- Date:
- Thu May 05 14:58:40 2016 +0000
- Revision:
- 0:7f408d2bc038
Parking Sensor Project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el14adr | 0:7f408d2bc038 | 1 | /** |
el14adr | 0:7f408d2bc038 | 2 | @file main.h |
el14adr | 0:7f408d2bc038 | 3 | @brief Header file containing functions prototypes, defines and global variables. |
el14adr | 0:7f408d2bc038 | 4 | @brief Revision 1.0. |
el14adr | 0:7f408d2bc038 | 5 | @author Antonia Della Rocco |
el14adr | 0:7f408d2bc038 | 6 | @date May 2016 |
el14adr | 0:7f408d2bc038 | 7 | */ |
el14adr | 0:7f408d2bc038 | 8 | |
el14adr | 0:7f408d2bc038 | 9 | #ifndef MAIN_H |
el14adr | 0:7f408d2bc038 | 10 | #define MAIN_H |
el14adr | 0:7f408d2bc038 | 11 | |
el14adr | 0:7f408d2bc038 | 12 | #define PI 3.14159265359 |
el14adr | 0:7f408d2bc038 | 13 | |
el14adr | 0:7f408d2bc038 | 14 | // Access libraries for each device |
el14adr | 0:7f408d2bc038 | 15 | #include "mbed.h" |
el14adr | 0:7f408d2bc038 | 16 | #include "SRF02.h" |
el14adr | 0:7f408d2bc038 | 17 | #include "N5110.h" |
el14adr | 0:7f408d2bc038 | 18 | #include "TMP102.h" |
el14adr | 0:7f408d2bc038 | 19 | |
el14adr | 0:7f408d2bc038 | 20 | // Create objects for each device |
el14adr | 0:7f408d2bc038 | 21 | /** |
el14adr | 0:7f408d2bc038 | 22 | @namespace lcd |
el14adr | 0:7f408d2bc038 | 23 | @brief mbed connection pins for N5110 |
el14adr | 0:7f408d2bc038 | 24 | */ |
el14adr | 0:7f408d2bc038 | 25 | N5110 lcd(PTE26,PTA0,PTC4,PTD0,PTD2,PTD1,PTC3); |
el14adr | 0:7f408d2bc038 | 26 | |
el14adr | 0:7f408d2bc038 | 27 | /** |
el14adr | 0:7f408d2bc038 | 28 | @namespace srf02 |
el14adr | 0:7f408d2bc038 | 29 | @brief mbed connection pins for SRF02 |
el14adr | 0:7f408d2bc038 | 30 | */ |
el14adr | 0:7f408d2bc038 | 31 | SRF02 srf02(PTE25, PTE24); |
el14adr | 0:7f408d2bc038 | 32 | |
el14adr | 0:7f408d2bc038 | 33 | /** |
el14adr | 0:7f408d2bc038 | 34 | @namespace tmp102 |
el14adr | 0:7f408d2bc038 | 35 | @brief mbed connection pins for TMP102 |
el14adr | 0:7f408d2bc038 | 36 | */ |
el14adr | 0:7f408d2bc038 | 37 | TMP102 tmp102(PTE25, PTE24); |
el14adr | 0:7f408d2bc038 | 38 | |
el14adr | 0:7f408d2bc038 | 39 | // Create objects for each output components and initialise |
el14adr | 0:7f408d2bc038 | 40 | /** |
el14adr | 0:7f408d2bc038 | 41 | @namespace rLED |
el14adr | 0:7f408d2bc038 | 42 | @brief mbed pin for LEDs - rLED = active low (ON first), other LED active high therefore ON when rLED is OFF |
el14adr | 0:7f408d2bc038 | 43 | */ |
el14adr | 0:7f408d2bc038 | 44 | DigitalOut rLED(PTC2); |
el14adr | 0:7f408d2bc038 | 45 | |
el14adr | 0:7f408d2bc038 | 46 | /** |
el14adr | 0:7f408d2bc038 | 47 | @namespace buzzer |
el14adr | 0:7f408d2bc038 | 48 | @brief mbed connection pins for buzzer |
el14adr | 0:7f408d2bc038 | 49 | */ |
el14adr | 0:7f408d2bc038 | 50 | PwmOut buzzer(PTA2); |
el14adr | 0:7f408d2bc038 | 51 | |
el14adr | 0:7f408d2bc038 | 52 | // Create object for input component and initialise |
el14adr | 0:7f408d2bc038 | 53 | /** |
el14adr | 0:7f408d2bc038 | 54 | @namespace button |
el14adr | 0:7f408d2bc038 | 55 | @brief mbed connection pins for button |
el14adr | 0:7f408d2bc038 | 56 | */ |
el14adr | 0:7f408d2bc038 | 57 | InterruptIn button(PTB18); |
el14adr | 0:7f408d2bc038 | 58 | |
el14adr | 0:7f408d2bc038 | 59 | // Define global variables to be accessed in additional functions |
el14adr | 0:7f408d2bc038 | 60 | /** |
el14adr | 0:7f408d2bc038 | 61 | Global variable integer |
el14adr | 0:7f408d2bc038 | 62 | Calculated distance (averages - error) |
el14adr | 0:7f408d2bc038 | 63 | @param g_calcDistance |
el14adr | 0:7f408d2bc038 | 64 | */ |
el14adr | 0:7f408d2bc038 | 65 | volatile int g_calcDistance; // global variable for calculated distance |
el14adr | 0:7f408d2bc038 | 66 | |
el14adr | 0:7f408d2bc038 | 67 | /** |
el14adr | 0:7f408d2bc038 | 68 | Global variable float |
el14adr | 0:7f408d2bc038 | 69 | Calculated distance in inches |
el14adr | 0:7f408d2bc038 | 70 | @param g_calcDistanceInches |
el14adr | 0:7f408d2bc038 | 71 | */ |
el14adr | 0:7f408d2bc038 | 72 | volatile float g_calcDistanceInches; |
el14adr | 0:7f408d2bc038 | 73 | |
el14adr | 0:7f408d2bc038 | 74 | /** |
el14adr | 0:7f408d2bc038 | 75 | Global variable integer |
el14adr | 0:7f408d2bc038 | 76 | Unit display |
el14adr | 0:7f408d2bc038 | 77 | @param g_inches |
el14adr | 0:7f408d2bc038 | 78 | */ |
el14adr | 0:7f408d2bc038 | 79 | volatile int g_inches; |
el14adr | 0:7f408d2bc038 | 80 | |
el14adr | 0:7f408d2bc038 | 81 | // Name & create functions |
el14adr | 0:7f408d2bc038 | 82 | /** |
el14adr | 0:7f408d2bc038 | 83 | Introduction to project function |
el14adr | 0:7f408d2bc038 | 84 | @param intro() |
el14adr | 0:7f408d2bc038 | 85 | */ |
el14adr | 0:7f408d2bc038 | 86 | void intro(); |
el14adr | 0:7f408d2bc038 | 87 | |
el14adr | 0:7f408d2bc038 | 88 | /** |
el14adr | 0:7f408d2bc038 | 89 | Calculate/display distance function - also records/displays temperature |
el14adr | 0:7f408d2bc038 | 90 | @param getDistance() |
el14adr | 0:7f408d2bc038 | 91 | */ |
el14adr | 0:7f408d2bc038 | 92 | void getDistance(); |
el14adr | 0:7f408d2bc038 | 93 | |
el14adr | 0:7f408d2bc038 | 94 | /** |
el14adr | 0:7f408d2bc038 | 95 | Set leds to let user know in they are in safe range |
el14adr | 0:7f408d2bc038 | 96 | @param indicatorLEDS() |
el14adr | 0:7f408d2bc038 | 97 | */ |
el14adr | 0:7f408d2bc038 | 98 | void indicatorLEDS(); |
el14adr | 0:7f408d2bc038 | 99 | |
el14adr | 0:7f408d2bc038 | 100 | /** |
el14adr | 0:7f408d2bc038 | 101 | Button function switches display between inches and cm |
el14adr | 0:7f408d2bc038 | 102 | @param buttonUnits() |
el14adr | 0:7f408d2bc038 | 103 | */ |
el14adr | 0:7f408d2bc038 | 104 | void buttonUnits(); |
el14adr | 0:7f408d2bc038 | 105 | |
el14adr | 0:7f408d2bc038 | 106 | /** |
el14adr | 0:7f408d2bc038 | 107 | Buzzer function alerts user when objects are too close |
el14adr | 0:7f408d2bc038 | 108 | @param alertSound() |
el14adr | 0:7f408d2bc038 | 109 | */ |
el14adr | 0:7f408d2bc038 | 110 | void alertSound(); |
el14adr | 0:7f408d2bc038 | 111 | |
el14adr | 0:7f408d2bc038 | 112 | #endif |