A program designed to get the distance from an SRF02 distance sensor and create an audible and visual indication of that distance with data logging capabilities.

Dependencies:   N5110 PowerControl SRF02 mbed

main.h

Committer:
el13sr
Date:
2015-04-09
Revision:
4:0bd5c189f2f3
Parent:
2:ebcfecb68cca
Child:
6:d6afc4026a1d

File content as of revision 4:0bd5c189f2f3:

// Distance Sensor Project
// Header File "main.h"
// Designed By Sam Russell (200773195)
// Date: 07/04/2015 || Version: 0.1

#include "mbed.h"
#include "SRF02.h"
#include "N5110.h"

//Inputs
SRF02 SRF02(p28,p27); // SDA, SCL
AnalogIn Switch(p16); //Power Control Switch
InterruptIn Button(p17); //Logging Data? (Saving to mbed)

//Outputs
AnalogOut logLED(p18); // Logging To Disk Indicator
//            vcc,sce,rst,dc,mosi,clk,led
N5110 display(p7,p8,p9,p10,p11,p13,p26);
PwmOut Buzzer(p21); //Alert Buzzer
PwmOut backlight(p26); //Backlight output pin.
BusOut leds (LED1,LED2,LED3,LED4); //MBED onboard LEDs.
Serial pc(USBTX,USBRX);

Ticker timer;

int timerflag = 0; //initialise timer flag to equal 0.
int distance = 0; //initialise distance to equal 0.
int buttonFlag = 0; //initialise buttonFlag to be 0, which defines the state of the data logger.
int setTimeFlag = 0; //initialise setTimeFlag to equal 0.
int mode = 0; //initialise mode to equal 0 (normal mode)
char rxString[16]; // buffer to store received string

LocalFileSystem local("local"); // create local filesystem
void writeDataToFile(char* data, float Distancedata); //Creates the void which takes the two types of data into the function.

void barChart(); //Function to update the bar chart on the display.
void error(int code); //DEBUG: Error Function
void timerExpired(); //Function for when the timer expires.
float avgDist(); //Function to get the average distance.
void buttonPressed(); //Function to change mode once button is pressed.