Takumi Okamoto
/
changeFreq_adin
AD変換の値を音を出力する
main.cpp
- Committer:
- MrBearing
- Date:
- 2011-07-13
- Revision:
- 0:90daceb61231
File content as of revision 0:90daceb61231:
#include "mbed.h" #define PI 3.142 #define AMP 0.8 #define SIGNAL_OUTPUT_FREQ 25//usec // coz twice zone of human audibility AnalogOut signal(p18); AnalogIn adin(p17); Ticker t_wave; float freq; float wave_value; void sawtoothWave(){ wave_value+=freq*SIGNAL_OUTPUT_FREQ/1000000; if(wave_value > 1.0) wave_value = 0.0; float output = AMP*wave_value; signal = output; } float theata; void sinWave(){ theata += 2*PI*SIGNAL_OUTPUT_FREQ*freq/1000000; if(theata > 2*PI) theata = 0.0; float output = AMP*( sin(theata)+0.5 ); signal = output; } int main() { wave_value = 0.0; freq = 1000; t_wave.attach_us(&sinWave , SIGNAL_OUTPUT_FREQ); while(1){ freq = 5000*adin.read(); } }