Reverse Parking sensor

Dependencies:   N5110 SRF02 buzzer mbed

Fork of ParkingSENSOR by Renosi Momoh

Revision:
0:e1ae1b9889a3
Child:
1:775f6e8071a2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.h	Thu May 05 00:29:11 2016 +0000
@@ -0,0 +1,165 @@
+/**
+@file main.h
+@brief Header file containg functions, variables and prototypes
+@brief Revision 1.0
+@brief Reverse Parking sensor
+@date March 2015 **/
+
+
+#include "mbed.h"
+#include "N5110.h"
+#include "SRF02/SRF02.h"
+#include "buzzer.h"
+#include "SDFileSystem.h"
+
+/** INPUTS AND OUTPUTS  **/
+
+N5110 lcd (PTE26, PTA0, PTC4, PTD0, PTD2, PTD1, PTC3);
+/** @brief Connections for the LCD Display **/
+SRF02 sensor(I2C_SDA,I2C_SCL);
+/** @brief Ultrasonic distance sensor connected in I2C mode**/
+Beep buzzer(PTA2); 
+/** 
+@brief Piezo type buzzer that can produce notes and vary the frequency as well. Connected to Pwm signal 
+**/
+
+InterruptIn button(PTB18);
+/**
+@Brief Button connected to mbed with the use of InterruptIn class**/
+InterruptIn sw2(SW2);
+
+
+InterruptIn sw3(SW3);
+DigitalOut r_led(PTC2);
+
+SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd");
+ /** Defining pins for SD card file system **/
+Serial serial(USBTX, USBRX);  // for PC debugging purposes
+AnalogIn pot(PTB2);   /* Potentiometer middle pin connected to PTB3, other two ends connected to GND and 3.3V */
+
+
+
+/** Create objects for timeout using flipper **/
+Timeout flipper;
+Timeout flipper2;
+Ticker ticker;
+Ticker ticker2;
+Ticker ticker3;
+void button_isr();
+void init_serial(); /** function to activate onboard switches and LEDs **/
+void timer_isr();
+void timer2_isr();
+void timer1_isr();
+void mainProg();
+void inActiveState();
+/** 
+@namespace Main Function
+@brief The function containing the main menu to choose functions from 
+**/
+   
+void classicMode(); /**
+@Brief Allow the screen to refresh when the potentiometer is set to reflect output mode.
+**/
+
+void delete_file(char filename[]); // Function to call for deletion of file.
+
+/** Flags and Interrupt Service Routines **/
+
+volatile int g_timer_flag = 0; /** @Brief G flag makes things easier to distinguish as this is a global variable **/
+volatile int g_timer2_flag = 0;
+volatile int g_sw3_flag = 0;
+volatile int g_button_flag = 0;
+volatile int g_timer1_flag = 0;
+void sw2_isr();
+void sw3_isr();
+
+/** Misc **/
+float averageDistance(); 
+/**
+@namespace Average Distance
+@Brief This function allows us to take ten sensor readings and find the average to improve accuracy 
+**/
+float averageDistanceIn();
+
+int distance;
+float distanceIn;
+
+
+/** Functions **/
+
+void introTune();
+/**
+@namespace Introductory Tune  
+@brief Provides and audible indication that the system is on
+**/
+void beeping(); 
+/**
+@namespace Beeping function,
+@brief This function allows the sensor to detect the distance and make the speaker beep accordingly
+**/
+void sensingImage(); 
+/**
+@Brief This function shows the distance in bars depending on how close an object is
+**/
+void sensingImageIn();
+/**
+@namespace Shows the parking sensor distances in inches
+@brief Converts the distance into inches
+**/
+void classicMode1();
+void radarMode(); 
+/**
+Function allows the data to be saved on to an SD card including the time and distance
+**/
+void saveData();
+ /**
+ Function will be concurrent with readings and will be intrinsically tied to the actions of the SD card. 
+ **/
+void loadData(); /** 
+Creating a function to allow the data to be loaded when and show the records of all the distances and and times 
+**/
+void active(); 
+/** 
+@Brief Main functionality that essentially reads the distance from the sensor and conveys the information via The display and buzzer
+**/
+void radar();
+/**
+@namespace Radar
+@brief Fucntion calling radar mode so as to allow for use of interrupts 
+**/
+void sweepSpeed(); 
+/** @namespace Sweep Speed
+    @Brief Function that varies the rate at which the radar sweeps with the sensor distance 
+**/
+void sweep();
+/**@namespace Sweeping Functions
+   @Brief  Each of these functions will read the distance from the sensor and set the radar arrow speed across the screen appropriately
+**/
+void sweepOne();
+void sweepTwo();
+void sweepThree();
+void sweepFour();
+void sweepFive();
+void sweepSix();
+void sweepSeven();
+void sweepEight();
+void sweepNine();
+
+
+
+/** Variables **/
+
+     
+float i;  /**
+@brief Variable used to vary frequency of the buzzer
+ **/
+float t; 
+/** 
+@brief Variable used to vary frequency of the radar sweep 
+**/
+
+
+
+
+
+