ボクだけの「エア彼女」をMP3プレーヤーシールドで自作しよう!:アイデア・ハック!! Arduinoで遊ぼう(12)(3/3 ページ)
頭の中のアイデアを「Arduino(アルドゥイーノ)」で実現!! 筆者と一緒にモノづくりの喜びや難しさを体験・体感してみよう。今回は、MP3プレーヤーシールドを使って、疲れて帰宅したあなたを優しく迎えてくれる「エア彼女」を作るぞ!!
照度センサーを使って「エア彼女」を作成しよう
MP3プレーヤーシールドとサンプルスケッチの使い方を理解したところで、照度センサーを使って、音声を再生するスケッチを作成しましょう(スケッチ4)。
#include <SPI.h>
#include <SdFat.h>
#include <SdFatUtil.h>
#include <SFEMP3Shield.h>
//-----------------------
//定数の定義
//-----------------------
SdFat sd; //SdFatオブジェクトを宣言
SFEMP3Shield MP3player; //MP3プレーヤーオブジェクトを宣言
const int sensorPin = A0; //照度センサーの入力信号 接続ピン
//モード指定
const int OFF = 0;
const int ON = 1;
int MODE = OFF;
void setup() {
pinMode(sensorPin, INPUT); //センサーピンをインプットに設定
sd.begin(SD_SEL, SPI_HALF_SPEED); //SdFat開始
MP3player.begin(); //MP3プレーヤー開始
Serial.begin(9600); //シリアル通信開始
}
void loop() {
//センサー値を読み取る
int sensorValue = analogRead(sensorPin);
//シリアルモニターにセンサー値を出力
Serial.print("NJL7502L:");
Serial.println(sensorValue);
//モードがONの時
if (MODE == ON) {
if(sensorValue > 500){ //センサー値が500より大きければ
MP3player.playTrack(1); //track001.mp3を再生
MODE = OFF; //モードをオフにする
}
//モードがOFFの時
} else {
if(sensorValue <= 500){ //センサー値が500以下なら
MODE = ON; //モードをオンにする
}
}
}
照度センサーは「A0」に接続してあります。「MODE」のON/OFFは、暗い時には音声を再生せずに、明るくなったときにだけ再生するためです。一度、再生したらMODEをOFFに戻し、再び“暗い”→“明るい”状態になるまで待機となります。
センサー値の取得は、連載第3回「厳しい残暑を『熱中症対策センサー』で乗り切ろう!」で扱いました。今回は、LEDを光らせる代わりに、MP3player.playTrackで音声を再生しているワケです。なお、シリアルモニターの使い方は、連載第5回「秋の夜長をロマンチックに――『フルカラーLED調光ランプ』を作ろう!」で紹介しています。
今回作成したエア彼女のスケッチは、以下からダウンロードできます。ただし、ライブラリは同梱しておりません。なぜなら、記事公開後に、ライブラリが更新される可能性もあるからです。
必要なライブラリは、記事内で紹介したWebサイトより各自ダウンロードし、利用規約を理解した上でご使用ください。
MP3プレーヤーシールドのおかげで、カンタンに音声を再生できました! Arduinoでは、他にもさまざまなシールドが発売されています。シールドを活用すると、複雑な回路を組むことなく、作りたいモノを実現できます。
シールドを使うと、Arduinoの可能性が何倍にも膨らみますね。ぜひ、いろいろなシールドにチャレンジしてみてください。
本連載は、これで最終回となります。Arduinoを使ってモノ作りの楽しさと喜びに触れていただけたらうれしく思います。連載を通じて、筆者も自分のアイデアを形にする面白さを体験できました。
まだまだ初心者マークを外せない筆者でありますが、いつの日かバージョンアップして皆さんと再会したいです。長期間のご愛読ありがとうございました(連載完)。
Copyright © ITmedia, Inc. All Rights Reserved.