Parking sensor project ELEC2645

Dependencies:   N5110 SRF02 TMP102 mbed

Committer:
el14adr
Date:
Thu May 05 14:58:40 2016 +0000
Revision:
0:7f408d2bc038
Parking Sensor Project

Who changed what in which revision?

UserRevisionLine numberNew 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