実践ロボットプログラミング LEGO Mindstorms NXTで目指せロボコン!

[著者]
藤吉弘亘・藤井隆司・鈴木裕利・石井成郎

ティップス

tips

EV3: 音をならしてみよう中・上級者向け

 「モータを回転させよう」では、簡単なモータを動作するプログラムを例として説明しました。次にファイルの読み出しとEV3本体の実行方法について説明したいと思います。 EV3対応のBricxCCのインストールと設定ができていない場合は こちら を参考に最初にインストールと設定を行ってください。
※ここで使用しますヘッダファイル(JissenPBL.h)およびEV3 BricxCCプログラムランチャー(run.rbf)は、 九州工業大学 花沢明俊先生が作成されたファイルを使用しております。 ファイル使用に当たり、快く了承していただき感謝いたします。 このヘッダファイルの著作権およびその他の権利は九州工業大学 花沢明俊先生にあります。

・サウンドの再生
 周波数を指定して音を鳴らす方法と音のファイルを再生するサンプルプログラムを作ります。
下記のサンプルプログラムを入力します。ファイル名は「Sound.c」とします。

// Sample Program "Sound.c"
#include "jissenPBL.h"

int main()
{
OutputInit();
SoundInit();

 PlayTone(440,1000); //frq(Hz),duration
 Wait(1000);

 PlayToneEx(330,400,100); //frq(Hz),duration,vol(100 only?)
 Wait(1000);

 PlayFileEx("/home/root/lms2012/prjs/Bravo.rsf",100,false); //Filename,vol,loop
 Wait(1000);

 PlayFile("/home/root/lms2012/prjs/Boo.rsf"); //Filename only
 Wait(1000);

 OnFwdEx(OUT_BC,70,0);
 Wait(1000);
 Off(OUT_BC);

}

 前述の「モータを回転させよう」で作成したMotor.prj と同様に、Sound.c 用のプロジェクトファイル(Sound.prj)も作成する必要があります。面倒であればMotor.prj をコピーしてSound.prj と名前を変更したものでもかまいません。
 音ファイルBravo.rsfBoo.rsf は LEGO MINDSTORMS EV3 ソフトウェアの中 (C:\Program Files(x86)\LEGO Software\LEGO MINDSTORMS EV3 Home Edition\Resources\BrickResources\Retail\Sounds\files\Communication)にあります(HomeでもEducationでも可)。 LEGO MINDSTORMS EV3 Home Edition は、LEGO MINDSTORMS ページからダウンロード可能です。

 あらかじめサウンドファイルをEV3に転送しておく必要があります。BricxCC の「Tools」から「Explorer」を選択します。


BricxCC

BricxCC Explorer ウィンドウの左側がEV3の中になります (デフォルトで /home/root/lms2012/prjs/ になります)。 2つのサウンドファイル(Bravo.rsf、Boo.rsf)をドラッグアンドドロップしてEV3の中にコピーします。

BricxCC

コンパイルと実行します。
「Compile」→「Compile and Run」を選択します。音がなったあとサウンドファイル再生、モータが回転します。

・EV3本体での実行
 今までは、BricxCC の「Compile and Run」を使用してプログラムの実行を行いましたが、EV3本体から直接プログラムを実行する方法を説明します。ここでは、九州工業大学 花沢先生が作成されたEV3 BricxCCプログラムランチャー(run.rbf)を使用します。
BricxCC の「Tools」から「Explorer」を選択してBricxCC Explorerを起動します。 Explorer ウィンドウ左側のEV3内部(デフォルトの位置)に右クリックして「Create folder」を選択し「Run」フォルダを作成します。作成した Run フォルダの中にダウンロードしたプログラムランチャー(run.rbf)をコピーします。

BricxCC

EV3上で実行したいファイル(Sound)の名前を「App」へ変更します(すでにAppがある場合は「右クリック」→「Delete」を選択して削除する)。

BricxCC

EV3本体のRun プロジェクトのRun を実行するとSound プログラムが実行されます。


BricxCC



 次はタッチセンサを使ってみましょう。

← モータを回転させよう |  タッチセンサを使う →

book

実践ロボットプログラミング
LEGO Mindstorms NXTで目指せロボコン!
本体価格: 2,300円/ISBN: 978-4-7649-0378-4
BUY NOW!!

教育用レゴ マインドストームNXT
次世代のロボット教材で、生徒や学生たちは
自分の手で実際に動かしながら、科学、技術と情報、
工学を楽しく、体験的に学習できます。
MORE

↑page top