#topicpat
#include <Tone.h> #include <math.h> Tone notePlayer; int val = 0; int maxv = 0; int minv = 1024; int note[]={ 262, 294, 330, 349, 393, 440, 494, 523}; int thre[]={minv,minv,minv,minv,minv,minv,minv,minv}; void setup(void) { notePlayer.begin(13); } void loop(void) { int i; val = analogRead(0); if ( minv > val ){ minv = val; } if ( maxv < val ){ maxv = val; } for( i = 0; i < 8; i++ ){ thre[i] = maxv - (int)((maxv-minv)*pow(((1.0*i+0.3)/7.5),0.1)); } // lesser : brighter if ( val > thre[0] ){ notePlayer.play(note[0],100); }else if ( val > thre[1] ){ notePlayer.play(note[1],100); }else if ( val > thre[2] ){ notePlayer.play(note[2],100); }else if ( val > thre[3] ){ notePlayer.play(note[3],100); }else if ( val > thre[4] ){ notePlayer.play(note[4],100); }else if ( val > thre[5] ){ notePlayer.play(note[5],100); }else if ( val > thre[6] ){ notePlayer.play(note[6],100); }else if ( val > thre[7] ){ notePlayer.play(note[7],100); } delay(200); }