test
Dependencies: SDFileSystem WavePlayer_HelloWorld mbed wave_player ADXL345_I2C
Fork of WavePlayer_HelloWorld by
main.cpp
- Committer:
- Hayato0o
- Date:
- 2017-05-08
- Revision:
- 3:bc43ad9e80b0
- Parent:
- 2:6e352047ba09
File content as of revision 3:bc43ad9e80b0:
// 2017/02/26 ver 0 // 2017/04/07 ver 1 // 美和ミク編みぐるみ用 #include "mbed.h" #include "SDFileSystem.h" #include "wave_player.h" #include "ADXL345_I2C.h" #define THU 30 //ADXL345 accelerometer(p5, p6, p7, p8); ADXL345_I2C accelerometer(p28, p27); Serial pc(USBTX, USBRX); Timeout fpr; SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card DigitalOut led1(LED1); DigitalOut spEn(p20); AnalogOut DACout(p18); wave_player waver(&DACout); FILE *wave_file; int wavNum = 0; void ampDen() { spEn = 0; } void ampEn() { spEn = 1; fpr.attach(&Den, 0.7); } void play_wav(void) { switch(wavNum) { case 0: wave_file=fopen("/sd/dai.wav","r"); fpr.attach(&En, 0.2); waver.play(wave_file); wavNum++; break; case 1: wave_file=fopen("/sd/nani.wav","r"); fpr.attach(&En, 0.2); waver.play(wave_file); wavNum++; break; case 2: wave_file=fopen("/sd/ure.wav","r"); fpr.attach(&En, 0.2); waver.play(wave_file); wavNum++; break; case 3: wave_file=fopen("/sd/ari.wav","r"); fpr.attach(&En, 0.2); waver.play(wave_file); wavNum++; break; case 4: wave_file=fopen("/sd/moto.wav","r"); fpr.attach(&En, 0.2); waver.play(wave_file); wavNum = 0; break; } fclose(wave_file); } int main() { int readings[3] = {0, 0, 0}; spEn = 0; //Go into standby mode to configure the device. accelerometer.setPowerControl(0x00); //Full resolution, +/-16g, 4mg/LSB. accelerometer.setDataFormatControl(0x0B); //3.2kHz data rate. accelerometer.setDataRate(ADXL345_3200HZ); //Measurement mode. accelerometer.setPowerControl(0x08); while(1) { accelerometer.getOutput(readings); //13-bit, sign extended values. pc.printf("%i, %i, %i\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); // X, YでTHU以上の加速度入力で反応 if((int16_t)readings[0] > THU) { play_wav(); } else if((int16_t)readings[1] > THU) { play_wav(); } wait(0.1); } }