プログラムサンプル

 
//pin select
int MOTOR =11;
int LED=10;

//サウンドのレベル用変数
int sound_level;

//サウンド感度調整ツマミ用変数
int analog0;

//モーターの回る時間調整ツマミ用変数
int analog1;

//LEDの明るさ用変数
int led_blight;


//forループ用変数
int j;

//セットアップ
void setup(){
//モーターピンをアウトプット(電気が出るように)
pinMode(MOTOR,OUTPUT);
//LEDピンもアウトプット(電気が出るように)
pinMode(LED,OUTPUT);
}



//メインループ
void loop(){

//サウンドレベルを読む(analog5ピン)
sound_level=analogRead(5);
//サウンド感度調整ツマミを読む(analog3ピン)
analog0=analogRead(3);


//もしも、サウンドレベルが感度調整ツマミより大きくなったら、
if(sound_level>analog0){

//モーターに電気を流す(回転)
digitalWrite(MOTOR,HIGH);

//LEDの明るさ変数を最大にする
led_blight=1023;

//モーターの回転時間調整ツマミを読む(alanog4ピン)
analog1=analogRead(4);

//モーターの回転調整の数値の回数だけ、delay(1)を繰り返す
for(j=0; j < analog1; j++){
delay(1);
}

//モーターの電気をとめる(回転停止)
digitalWrite(MOTOR,LOW);

//もう一度、モーター回転時間調整ツマミを読む
//その時間を今度は4で割る
analog1=analogRead(4)/4;

//回転時間調整ツマミを4で割った回数だけ、delay(1)を繰り返す
for(j=0; j < analog1; j++){
delay(1);
}

}
//そうじゃないとき(サウンドレベルが感度調整ツマミより大きくないとき)
else{
//LEDの明るさ変数に、0.99を掛け算して、徐々に減らす
//(じんわりと消えていくような場合のテクです)
led_blight*=0.99;
//モーターの電気をストップ(回転停止)
digitalWrite(MOTOR,LOW);
}

//LEDの明るさを実際にピンに反映させる
analogWrite(LED,1023-led_blight);
}