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@2:ebcfecb68cca, 2015-04-08 (annotated)
- Committer:
- el13sr
- Date:
- Wed Apr 08 20:10:26 2015 +0000
- Revision:
- 2:ebcfecb68cca
- Parent:
- 1:387d5e6fa05f
- Child:
- 4:0bd5c189f2f3
Print Distance & Print Chart
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:7d01de89a1ff | 9 | |
el13sr | 0:7d01de89a1ff | 10 | //Inputs |
el13sr | 0:7d01de89a1ff | 11 | SRF02 SRF02(p28,p27); // SDA, SCL |
el13sr | 0:7d01de89a1ff | 12 | AnalogIn Switch(p16); //Power Control Switch |
el13sr | 0:7d01de89a1ff | 13 | InterruptIn Button(p17); //Logging Data? (Saving to mbed) |
el13sr | 0:7d01de89a1ff | 14 | |
el13sr | 0:7d01de89a1ff | 15 | //Outputs |
el13sr | 1:387d5e6fa05f | 16 | AnalogOut logLED(p18); // Logging To Disk Indicator |
el13sr | 0:7d01de89a1ff | 17 | // vcc,sce,rst,dc,mosi,clk,led |
el13sr | 0:7d01de89a1ff | 18 | N5110 display(p7,p8,p9,p10,p11,p13,p26); |
el13sr | 0:7d01de89a1ff | 19 | PwmOut Buzzer(p21); //Alert Buzzer |
el13sr | 0:7d01de89a1ff | 20 | PwmOut backlight(p26); //Backlight output pin. |
el13sr | 0:7d01de89a1ff | 21 | BusOut leds (LED1,LED2,LED3,LED4); //MBED onboard LEDs. |
el13sr | 0:7d01de89a1ff | 22 | Serial pc(USBTX,USBRX); |
el13sr | 0:7d01de89a1ff | 23 | |
el13sr | 0:7d01de89a1ff | 24 | LocalFileSystem local("local"); // create local filesystem |
el13sr | 1:387d5e6fa05f | 25 | void writeDataToFile(char* data, float Distancedata); //Creates the void which takes the two types of data into the function. |
el13sr | 0:7d01de89a1ff | 26 | |
el13sr | 0:7d01de89a1ff | 27 | Ticker timer; |
el13sr | 0:7d01de89a1ff | 28 | |
el13sr | 0:7d01de89a1ff | 29 | int timerflag = 0; //initialise timer flag to equal 0. |
el13sr | 2:ebcfecb68cca | 30 | int distance = 0; |
el13sr | 0:7d01de89a1ff | 31 | int buttonFlag = 0; //initialise buttonFlag to be 0, which defines the state of the data logger. |
el13sr | 0:7d01de89a1ff | 32 | char rxString[16]; // buffer to store received string |
el13sr | 0:7d01de89a1ff | 33 | int light =0; |
el13sr | 1:387d5e6fa05f | 34 | int setTimeFlag = 0; |
el13sr | 0:7d01de89a1ff | 35 | |
el13sr | 0:7d01de89a1ff | 36 | void modeSwitch(); |
el13sr | 0:7d01de89a1ff | 37 | void error(int code); |
el13sr | 0:7d01de89a1ff | 38 | void timerExpired(); |
el13sr | 0:7d01de89a1ff | 39 | float avgDist(); |
el13sr | 0:7d01de89a1ff | 40 | void buttonISR(); |