2005/C4/課題5右
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2005/C4]]
* 演奏ロボットと演奏に合わせて踊るロボット [#n3a3c3b5]
~ 片方のRCXはタイヤが二個付いていて、こいつはStarWarsのR2D2役です。
~ もう片方のRCXは音楽をならすだけです。
*全体の動作 [#z6b05c55]
~ R2D2側が赤外線で信号を送ると、もう一方(演奏側)が音楽の演奏を開始します。
~ 演奏の間、R2D2が無駄に動き続けながら、R2D2風の声を出します。
~ 演奏側の演奏が終了したら、演奏側が信号を送り、R2D2側が停止します。
* 音楽をならすプログラムの作り方 [#l5ac44a2]
** 鳴らしたい音の周波数を調べる [#j19628b3]
~ Wave編集ソフトを使います。
~ 自分が使いたい曲を口笛で演奏し、それを編集ソフトで録音します。
~ 録音したソフトで口笛波形を拡大し、それをもとに周波数を計算します。
** 具体的な計算方法 [#c75ca800]
~ Wave編集ソフトで、口笛波形の中から、10個の波をマウスで選択します。
~ 選択した範囲の秒数が、編集ソフトの下の方に書いてあるのでそれを見ます。
~ ''(選んだ10個の波の平均周波数)=(10個)/(選択した範囲の秒数)''
~ この計算式で周波数を計算できます。
** つかえるWave編集ソフト [#iea249fd]
~ 編集ソフトは、AudacityとかでOKだと思います。
~ Audacityは、Macやwindowsで使えるフリーウェアです。
*製作 [#be8ae8d0]
~機械:ひろし & だいすけ
~プログラム:ひろし
* プログラム1 : R2D2側 [#e144497b]
task main(){
ClearMessage();
Wait(100);
SendMessage(1);
until(Message()==100){
PlayTone(1500,80);
PlayTone(1600,10);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(50);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(70);
Off(OUT_A+OUT_C);
Wait(20);
PlayTone(1650,30);
PlayTone(1690,80);
}
}
* プログラム2 : 演奏側 [#n385d9a9]
task main(){
ClearMessage();
until(Message()!=0){
Wait(1);
}
PlayTone(980,80);
Wait(80+10);
PlayTone(980,80);
Wait(80+10);
PlayTone(980,80);
Wait(80+10);
PlayTone(793,70);
Wait(70+10);
PlayTone(1124,20);
Wait(20+5);
PlayTone(988,100);
Wait(100+5);
PlayTone(793,80);
Wait(80+10);
PlayTone(1124,20);
Wait(20+5);
PlayTone(988,100);
Wait(100+100);
//
PlayTone(1415,80);
Wait(80+10);
PlayTone(1415,80);
Wait(80+10);
PlayTone(1415,80);
Wait(80+10);
PlayTone(1550,90);
Wait(90+10);
PlayTone(1193,30);
Wait(30+5);
PlayTone(967,80);
Wait(80+20);
PlayTone(772,80);
Wait(80+10);
PlayTone(1210,30);
Wait(30+30);
PlayTone(964,130);
Wait(130+30);
SendMessage(100);
}
* コメント欄 [#rf6e038f]
どうぞ
#comment
終了行:
[[2005/C4]]
* 演奏ロボットと演奏に合わせて踊るロボット [#n3a3c3b5]
~ 片方のRCXはタイヤが二個付いていて、こいつはStarWarsのR2D2役です。
~ もう片方のRCXは音楽をならすだけです。
*全体の動作 [#z6b05c55]
~ R2D2側が赤外線で信号を送ると、もう一方(演奏側)が音楽の演奏を開始します。
~ 演奏の間、R2D2が無駄に動き続けながら、R2D2風の声を出します。
~ 演奏側の演奏が終了したら、演奏側が信号を送り、R2D2側が停止します。
* 音楽をならすプログラムの作り方 [#l5ac44a2]
** 鳴らしたい音の周波数を調べる [#j19628b3]
~ Wave編集ソフトを使います。
~ 自分が使いたい曲を口笛で演奏し、それを編集ソフトで録音します。
~ 録音したソフトで口笛波形を拡大し、それをもとに周波数を計算します。
** 具体的な計算方法 [#c75ca800]
~ Wave編集ソフトで、口笛波形の中から、10個の波をマウスで選択します。
~ 選択した範囲の秒数が、編集ソフトの下の方に書いてあるのでそれを見ます。
~ ''(選んだ10個の波の平均周波数)=(10個)/(選択した範囲の秒数)''
~ この計算式で周波数を計算できます。
** つかえるWave編集ソフト [#iea249fd]
~ 編集ソフトは、AudacityとかでOKだと思います。
~ Audacityは、Macやwindowsで使えるフリーウェアです。
*製作 [#be8ae8d0]
~機械:ひろし & だいすけ
~プログラム:ひろし
* プログラム1 : R2D2側 [#e144497b]
task main(){
ClearMessage();
Wait(100);
SendMessage(1);
until(Message()==100){
PlayTone(1500,80);
PlayTone(1600,10);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(50);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(70);
Off(OUT_A+OUT_C);
Wait(20);
PlayTone(1650,30);
PlayTone(1690,80);
}
}
* プログラム2 : 演奏側 [#n385d9a9]
task main(){
ClearMessage();
until(Message()!=0){
Wait(1);
}
PlayTone(980,80);
Wait(80+10);
PlayTone(980,80);
Wait(80+10);
PlayTone(980,80);
Wait(80+10);
PlayTone(793,70);
Wait(70+10);
PlayTone(1124,20);
Wait(20+5);
PlayTone(988,100);
Wait(100+5);
PlayTone(793,80);
Wait(80+10);
PlayTone(1124,20);
Wait(20+5);
PlayTone(988,100);
Wait(100+100);
//
PlayTone(1415,80);
Wait(80+10);
PlayTone(1415,80);
Wait(80+10);
PlayTone(1415,80);
Wait(80+10);
PlayTone(1550,90);
Wait(90+10);
PlayTone(1193,30);
Wait(30+5);
PlayTone(967,80);
Wait(80+20);
PlayTone(772,80);
Wait(80+10);
PlayTone(1210,30);
Wait(30+30);
PlayTone(964,130);
Wait(130+30);
SendMessage(100);
}
* コメント欄 [#rf6e038f]
どうぞ
#comment
ページ名: