Code controlling second MBED in speed detection system that plays speaker sounds and writes time stamp to microSD card. By Ibrahim Khan and Saad Khan.

Dependencies:   SDFileSystem mbed wave_player

By Ibrahim Khan and Saad Khan. Part of ECE4180 project.

Committer:
gotmilk
Date:
Fri Dec 09 07:41:53 2016 +0000
Revision:
0:10686b395bb9
initial commit of code running on second mbed in speed detection system

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gotmilk 0:10686b395bb9 1 #include "mbed.h"
gotmilk 0:10686b395bb9 2 #include "SDFileSystem.h"
gotmilk 0:10686b395bb9 3 #include "wave_player.h"
gotmilk 0:10686b395bb9 4
gotmilk 0:10686b395bb9 5 DigitalIn fast(p9);
gotmilk 0:10686b395bb9 6 DigitalIn turn(p10);
gotmilk 0:10686b395bb9 7 SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card
gotmilk 0:10686b395bb9 8 AnalogOut DACout(p18);
gotmilk 0:10686b395bb9 9 wave_player waver(&DACout);
gotmilk 0:10686b395bb9 10
gotmilk 0:10686b395bb9 11 int main() {
gotmilk 0:10686b395bb9 12 while(1) {
gotmilk 0:10686b395bb9 13 if (fast) {
gotmilk 0:10686b395bb9 14 time_t seconds = time(NULL);
gotmilk 0:10686b395bb9 15 FILE *wave_file;
gotmilk 0:10686b395bb9 16 // uLCD.cls();
gotmilk 0:10686b395bb9 17 wave_file=fopen("/sd/fast.wav","r");
gotmilk 0:10686b395bb9 18 waver.play(wave_file);
gotmilk 0:10686b395bb9 19 fclose(wave_file);
gotmilk 0:10686b395bb9 20 FILE *fp = fopen("/sd/speedlog.txt", "w");
gotmilk 0:10686b395bb9 21 //if(fp == NULL) {
gotmilk 0:10686b395bb9 22 // uLCD.printf("Could not open file for write\n\r");
gotmilk 0:10686b395bb9 23 //}
gotmilk 0:10686b395bb9 24 fprintf(fp, "Driver drove above limit on %s\n", ctime(&seconds));
gotmilk 0:10686b395bb9 25 fclose(fp);
gotmilk 0:10686b395bb9 26 }
gotmilk 0:10686b395bb9 27 else if (turn) {
gotmilk 0:10686b395bb9 28 time_t seconds = time(NULL);
gotmilk 0:10686b395bb9 29 FILE *wave_file;
gotmilk 0:10686b395bb9 30 //uLCD.cls();
gotmilk 0:10686b395bb9 31 wave_file=fopen("/sd/turn.wav","r");
gotmilk 0:10686b395bb9 32 waver.play(wave_file);
gotmilk 0:10686b395bb9 33 fclose(wave_file);
gotmilk 0:10686b395bb9 34 FILE *fp = fopen("/sd/speedlog.txt", "w");
gotmilk 0:10686b395bb9 35 //if(fp == NULL) {
gotmilk 0:10686b395bb9 36 // uLCD.printf("Could not open file for write\n");
gotmilk 0:10686b395bb9 37 //}
gotmilk 0:10686b395bb9 38 fprintf(fp, "Driver turned above g-limit on on %s\n", ctime(&seconds));
gotmilk 0:10686b395bb9 39 fclose(fp);
gotmilk 0:10686b395bb9 40 }
gotmilk 0:10686b395bb9 41 }
gotmilk 0:10686b395bb9 42 }