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

Committer:
el13sr
Date:
Thu Apr 09 11:32:48 2015 +0000
Revision:
6:d6afc4026a1d
Parent:
4:0bd5c189f2f3
Child:
7:65bdd2d0d6ad
v0.5 - Added working modes and powered down ethernet.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el13sr 0:7d01de89a1ff 1 // Distance Sensor Project
el13sr 0:7d01de89a1ff 2 // Header File "main.h"
el13sr 0:7d01de89a1ff 3 // Designed By Sam Russell (200773195)
el13sr 0:7d01de89a1ff 4 // Date: 07/04/2015 || Version: 0.1
el13sr 0:7d01de89a1ff 5
el13sr 0:7d01de89a1ff 6 #include "mbed.h"
el13sr 0:7d01de89a1ff 7 #include "SRF02.h"
el13sr 0:7d01de89a1ff 8 #include "N5110.h"
el13sr 6:d6afc4026a1d 9 #include "PowerControl/PowerControl.h"
el13sr 6:d6afc4026a1d 10 #include "PowerControl/EthernetPowerControl.h"
el13sr 0:7d01de89a1ff 11
el13sr 0:7d01de89a1ff 12 //Inputs
el13sr 0:7d01de89a1ff 13 SRF02 SRF02(p28,p27); // SDA, SCL
el13sr 0:7d01de89a1ff 14 AnalogIn Switch(p16); //Power Control Switch
el13sr 0:7d01de89a1ff 15 InterruptIn Button(p17); //Logging Data? (Saving to mbed)
el13sr 0:7d01de89a1ff 16
el13sr 0:7d01de89a1ff 17 //Outputs
el13sr 1:387d5e6fa05f 18 AnalogOut logLED(p18); // Logging To Disk Indicator
el13sr 0:7d01de89a1ff 19 // vcc,sce,rst,dc,mosi,clk,led
el13sr 0:7d01de89a1ff 20 N5110 display(p7,p8,p9,p10,p11,p13,p26);
el13sr 6:d6afc4026a1d 21 PwmOut buzzer(p21); //Alert Buzzer
el13sr 0:7d01de89a1ff 22 PwmOut backlight(p26); //Backlight output pin.
el13sr 0:7d01de89a1ff 23 BusOut leds (LED1,LED2,LED3,LED4); //MBED onboard LEDs.
el13sr 0:7d01de89a1ff 24 Serial pc(USBTX,USBRX);
el13sr 0:7d01de89a1ff 25
el13sr 0:7d01de89a1ff 26 Ticker timer;
el13sr 0:7d01de89a1ff 27
el13sr 0:7d01de89a1ff 28 int timerflag = 0; //initialise timer flag to equal 0.
el13sr 4:0bd5c189f2f3 29 int distance = 0; //initialise distance to equal 0.
el13sr 0:7d01de89a1ff 30 int buttonFlag = 0; //initialise buttonFlag to be 0, which defines the state of the data logger.
el13sr 4:0bd5c189f2f3 31 int setTimeFlag = 0; //initialise setTimeFlag to equal 0.
el13sr 4:0bd5c189f2f3 32 int mode = 0; //initialise mode to equal 0 (normal mode)
el13sr 0:7d01de89a1ff 33 char rxString[16]; // buffer to store received string
el13sr 0:7d01de89a1ff 34
el13sr 4:0bd5c189f2f3 35 LocalFileSystem local("local"); // create local filesystem
el13sr 4:0bd5c189f2f3 36 void writeDataToFile(char* data, float Distancedata); //Creates the void which takes the two types of data into the function.
el13sr 4:0bd5c189f2f3 37
el13sr 4:0bd5c189f2f3 38 void barChart(); //Function to update the bar chart on the display.
el13sr 4:0bd5c189f2f3 39 void error(int code); //DEBUG: Error Function
el13sr 4:0bd5c189f2f3 40 void timerExpired(); //Function for when the timer expires.
el13sr 4:0bd5c189f2f3 41 float avgDist(); //Function to get the average distance.
el13sr 4:0bd5c189f2f3 42 void buttonPressed(); //Function to change mode once button is pressed.