Arduino講座:その4

第4回Arduino講座

「音センサーとターボモータの接続」

今回は前回のターボモータ講座を少しだけ発展させて、音センサーを接続して動かしてみたいと思います。前回と同様にまずターボモータを接続してください。

続いて音センサーをArduinoに接続します。
写真が少し見にくいのですが、音センサーのAUDをA0ピン, GNDをGND, VCCを3.3Vに接続しています。モータと音センサーを両方接続するとこんな状態です。

次に以下を入力してください。

#include <Servo.h>
Servo myservo; //servo’s instance
void setup(){
myservo.attach(9); //attaching servo in to 9 pin
Serial.begin(9600);
}
void loop(){
// the values of sensors
int val=analogRead(A0);
Serial.println(analogRead(A0));
//by using “map()”, the sensor value(0~1023) will convert to degree(0~180)
int deg=map(val,0,1023 ,0,180);
//output to servo
myservo.write(deg);

delay(1000);

}

これで作動するはずです。
上記の状態は、音センサーが感知する音の大きさに反応してターボモータが0°〜180°の範囲内で動くようになっています。(このモータは180°、1.5kgまでの商品ですので、もしそれ以上の角度や力が必要な方は、別商品をご購入ください)
私のいる場所では音センサーが常時300前後、声を発した時で700程度でしたので、モータの動きをより繊細にする為に, int deg=map(val,0,1023 ,0,180); の値を、int deg=map(val,200,800 ,0,180); 等と調整してやりました。ご自身のセンサーの値をみて調整してみてください。
ちなみに値は、右上の虫眼鏡のようなマークをクリックすると見れます。
by Hiroshi Ito


Comments are closed.