ロボ研の藤田大悟です。卒業研究を担当しています。

研究も大詰めになってきました。音がなると、声がでてくる装置をつくりました。

回路はこちら。

IMG_1934

音スイッチ_fzz_-_Fritzing_-__ブレッドボード_ビュー_

コンデンサマイク

コンデンサ アンプの4,5ピン→10μF  マイク向け→1μF

トランジスタ 2SC1815

ダイオード 1N4004

アンプ LM386

抵抗220 1.1Ω(アンプ用) 2.2kΩ(リレー用)

電池 3V

リレー オムロン G6C−1117P−US DC3V

[button color=”” size=”” type=”” target=”” link=””]プログラミング[/button]

#include <rxduino.h> // がじぇるねの関数を使用するためのコマンド

//回路構成部。
const int LED = 13; // LEDのピン番号 ⇒「LEDが13ピンに接続」
const int ECM = 14; // マイク信号のピン番号 ⇒「ECMピンが14ピンに接続」

//変数定義
int sensVAL = 0; // センサの値の記録場所
int ECMlevel = 0; // センサ値のレベルの記録場所

//ピンモードの指定
void setup(){
pinMode(ECM, INPUT); // 可変抵抗のピンを入力モードに設定
pinMode(LED, OUTPUT); // LEDのピンを出力モードに切り替え
}
void loop(){
sensVAL = analogRead(ECM); // 「センサ(ECM)からの値を読み込む」プログラム

sensVAL = abs(sensVAL – 512); // 読み込んだ値を絶対値に変換するプログラム
ECMlevel = map(sensVAL, 50, 380, 0, 8); // センサの値(絶対値50~380の領域)を0~8の9段階に分割

if(ECMlevel > 5) { // センサの値がLv.5よりも大きければ…
digitalWrite(LED, HIGH); // LEDを点灯する
delay(3000);
}

else { // それ以外(センサの値がLv.5以下)のとき…
digitalWrite(LED, LOW); }// LEDを消灯する

delay(50);
}
//=======