#include #include #include "WString.h" #include "util.h" #include "wave.h" AF_Wave card; File f; Wavefile wave; #define redled 9 void setup() { Serial.begin(9600); pinMode(0, INPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(redled, OUTPUT); if (!card.init_card()) { putstring_nl("Card init. failed!"); return; } if (!card.open_partition()) { putstring_nl("No partition!"); return; } if (!card.open_filesys()) { putstring_nl("Couldn't open filesys"); return; } if (!card.open_rootdir()) { putstring_nl("Couldn't open dir"); return; } putstring_nl("Files found:"); } char filename[10]; int i; int flexSensor = 0; void loop() { flexSensor = analogRead(0); Serial.println(flexSensor); if(flexSensor < 600) { playSound("ERROR.WAV"); } delay(1000); } void playSound(String wavename) { for (int i=0; i <= wavename.length(); i++){ filename[i] = wavename.charAt(i); } playcomplete(filename); } void playcomplete(char *name) { playfile(name); Serial.print(name); while (wave.isplaying); card.close_file(f);f } void playfile(char *name) { if (wave.isplaying) {// already playing something, so stop it! wave.stop(); // stop it card.close_file(f); } f = card.open_file(name); if (!f) { putstring("Couldn't open file "); Serial.print(name); return; } if (!wave.create(f)) { putstring_nl("Not a valid WAV"); return; } // ok time to play! wave.play(); }