gurapomu
/
speaker_test
圧電スピーカーでテトリスの音楽を流します
main.cpp
- Committer:
- gurapomu
- Date:
- 2017-08-28
- Revision:
- 0:a864d5764edb
File content as of revision 0:a864d5764edb:
#define mC 261.626 #define mD 293.665 #define mE 329.628 #define mF 349.228 #define mG 391.995 #define mA 440.000 #define mB 493.883 #include "mbed.h" DigitalOut sp1(p5); Ticker timer; Ticker stop_tick; InterruptIn stop_s(p6), restart_s(p7); int i; int oto=0; void tick(void) { sp1.write(oto); oto=!oto; } void stop (){ wait(0.1); } void stop_start(){ stop_tick.attach_us(&stop, 1); } void restart(){ i = 65535; stop_tick.detach(); } int main() { float mm[]={659,2,493,1,523,1,587,2,523,1,493,1,440,2,440,1,523,1,659,2,587,1,523,1,493,3,523,1,587,2,659,2,523,2,440,2,440,2,0,3,587,2,698,1,880,2,783,1,698,1,659,2,0,1,523,1,659,2,587,1,523,1,493,2,493,1,523,1,587,2,659,2,523,2,440,2,440,2,0,2,659,2,493,1,523,1,587,2,523,1,493,1,440,2,440,1,523,1,659,2,587,1,523,1,493,3,523,1,587,2,659,2,523,2,440,2,440,2,0,3,587,2,698,1,880,2,783,1,698,1,659,2,0,1,523,1,659,2,587,1,523,1,493,2,493,1,523,1,587,2,659,2,523,2,440,2,440,2,0,2,329,4,261,4,293,4,246,4,261,4,220,4,207,4,246,4,329,4,261,4,293,4,246,4,261,2,329,2,440,4,415,8}; stop_s.mode(PullNone); stop_s.fall(&stop_start); restart_s.mode(PullNone); restart_s.fall(&restart); while(1){ for (i=0;i<sizeof(mm)/sizeof(float);i+=2) { timer.attach(&tick,1.0/mm[i]/2.0); wait(0.2*mm[i+1]); timer.detach(); sp1.write(0); } } }