前回は、ギュッとつまむとたくさんLEDが光るオモチャをつくりました。今回は、呼びかけるとビックリして震えるアヒルをつくります!一緒につくって、お父さんお母さんやお友達を驚かせてみましょう!
今回つくるもの
前回は、ギュッとつまむとたくさんLEDが光るオモチャをつくりました。実は、あのオモチャのつくり方には、Arduinoの基本的な使い方もギュッと詰まっています。みなさんはオモチャをつくっているうちに、Arduinoの基本をマスターしてしまったというわけです!自信をもって、どんどん遊んでいきましょう。
今回は「呼びかけるとビックリして震えるアヒル」をつくります。このオモチャをつくる際、ハンダづけにもチャレンジします。危ないので、必ず保護者と一緒に工作してくださいね。
今回使うもの
今回は、以下のものを使います。
- Arduino Uno(1個)
- ブレッドボード(1個)
- ジャンパーワイヤー(適量)
- 高感度(こうかんど)マイクアンプキット(1個)
- 振動(しんどう)モーター(1個)
- トランジスタ(2SC1815)(1個)
- ダイオード(1N4007など)(1個)
- 抵抗(2.2kΩ×1本)
- アヒルの人形
もっていない部品は、ネットショップや電子部品専門店に売っているので、家族の人に頼んで買ってもらいましょう。アヒルの人形は百円ショップなどに売っています。ですが、これは家にある別の人形でも大丈夫です。できるだけ小さなものがオススメです。
今回はじめて出てきた部品もあるので、簡単に説明します。今回は少し難しい話もありますが、全部理解する必要はありません。使っていくうちにわかってくるので、今は「そんな部品があるんだな」と思っていれば大丈夫です。
高感度マイクアンプキットってなに?
高感度マイクアンプキットは、音量を測ることのできる部品です。(正確に言うと、周辺回路がまとめられているキットです。)
このキットは、ハンダづけをする必要があります。ハンダづけをするには、「ハンダごて」「ハンダ」「こて台」が必要です。これらはネットショップやホームセンターなどで売っています。ハンダづけは危ないので、必ず保護者と一緒にやってくださいね。
振動モーターってなに?
みなさんは、理科の授業などでモーターを見たことはあると思います。モーターは電気を流すと回転する部品ですが、実は回転しないモーターもあります。それが「振動モーター」です。
振動モーターはその名の通り、電気を流すとブルブルと振動します。スマートフォンがブルブルっと震える、バイブレーション機能などに使われています。振動モーターにもいくつか種類がありますが、今回は円盤型(えんばんがた)のものを使いました。
この振動モーターはリード線がついているのですが、とても細いのでそのままブレッドボードに挿すのは難しいと思います。「ジャンパーワイヤー」というものを使って、それをハンダづけするかワニ口クリップなどでつないで使ってくださいね。
トランジスタってなに?
トランジスタは、小さな信号を大きくする部品です。振動モーターはArduinoに直接つないでも、電流が足りないため、そのままでは動かすことができません。そのため、トランジスタを使ってArduinoから出る電流の量を増やして使います。
トランジスタには足が3本あります。丸まっている面を正面にした状態で、左から「ベース」「コレクタ」「エミッタ」と呼びます。
ダイオードってなに?
ダイオードは、電流をひとつの方向に流す部品です。トランジスタをオフにしても、モーターが惰性で動いてしまい、モーターから電力が生まれてしまいます。その電力は大きく、そのままだとトランジスタが壊れてしまうことがあります。そのため、ダイオードを使って、トランジスタのほうに電気が流れないようにします。
画像のように、白い帯があるほうがカソード、無いほうをアノードと呼びます。
組み立ててみよう
以下のように組み立ててみましょう。マイクアンプキットのピンは、画像の上のほうから「VCC」「GND」「OUT」の順に並んでいます。
プログラムを書いてみよう
Arduino IDEを立ち上げ、出てきた画面に以下のコードをコピーして貼り付けましょう。Arduinoを使いはじめたばかりなので、今はまだコードの意味がわからなくても大丈夫です。
//ピンを宣言します
const int micPin = A0;
const int motorPin = 9;
void setup() {
//ピンの設定をします
pinMode(motorPin, OUTPUT);
//シリアル通信を開始します
Serial.begin(9600);
}
void loop() {
//マイクの音量(電圧)を測り、micValueという場所(変数)に入れておきます
int micValue = analogRead(micPin);
//音量の変換作業を行います(ここで音量は0-50までに設定されます)
micValue = micValue - 512;
micValue = abs(micValue);
micValue = map(micValue, 0, 512, 0, 50);
//シリアルモニタに音量(電圧)を表示します
Serial.print(micValue);
Serial.println("");
//音量が30より大きければ、モーターを振動させます
if(micValue > 30){
digitalWrite(motorPin, HIGH);
delay(500);
digitalWrite(motorPin, LOW);
delay(500);
}
}
プログラムを書き込もう
コードをコピーしたら、コンパイルをします。チェックマークをクリックしましょう。
正しくコンパイルできていたら、左下に「コンパイルが完了しました」と表示されます。ArduinoとパソコンがUSBケーブルでつながっていることを確認し、矢印のボタンを押して書き込みましょう。
書き込みが終わったら、振動モーターをアヒルの裏側にセロハンテープで貼り付けて完成です! 大きな声で呼びかけてみましょう。すると、アヒルが震えます! 今回はアヒルでつくりましたが、好きなものに変えて試してみると楽しいですよ!
ビックリして震えるアヒル完成!
今回は呼びかけるとビックリして震えるアヒルをつくりました。センサーとマイコンを組み合わせると、こういったいろいろな楽しいものをつくることができます。次回からもいろいろなセンサーを使ったオモチャをつくるので、楽しみにしてくださいね!