ありぎりす の徒然日記

アクセスカウンタ

zoom RSS RaspberryPiで鉄道模型を動かしてみる その8

<<   作成日時 : 2017/04/01 14:11   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前回はフォトレジスタを使って、車輌を駅で停車させました。

今回は、
効果音を鳴らす:
です。

雪に閉ざされる北海道の冬。
ウィンタースポーツが苦手な ありぎりす は、
半年間、屋内に引きこもり。

手慰みにこんなものを作りました。
画像


卓上スピーカーボックスとオーディオアンプです。

これをラズパイにつないで、効果音を鳴らそう
とゆう魂胆です。 v(^-^)

で、ラズパイのイヤホン出力と
アンプを接続して適当な音声ファイルを再生・・・
$ aplay xxx.wav

だけど、音が出ない・・・何で? (;_;)

そこでネット検索。
どうやら
$ sudo amixer cset numid=3 0
などとやればいいらしい。

実際にやってみたら・・・
音が鳴った。

次に効果音を無償提供してくれているサイトから
蒸気機関車の効果音をゲット。

これがMP3ファイルだったので、
再生アプリ(mplayer)をインストール。

$ sudo apt-get -y install mplayer


車輌の自動運転プログラムに効果音再生を
組み込んで・・・・

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <wiringPi.h>

#define GPIO24 24
#define GPIO19 19


int main(void) {
int i;
int speed;

if(wiringPiSetupGpio() == -1)
{
printf(" SetUp error \n");
return 1;
}

softPwmCreate(GPIO24, 0, 50);
softPwmCreate(GPIO19, 0, 50);

system("mplayer /home/pi/Music/effect/sl_kiteki1.mp3");

system("mplayer /home/pi//Music/effect/sl_start.mp3 &");

for (speed = 15; speed < 40; speed=speed + 5)
{
softPwmWrite(GPIO24, speed);
sleep(5);
}

system("mplayer /home/pi//Music/effect/sl_run.mp3 &");

sleep(15);

system("mplayer /home/pi//Music/effect/sl_run.mp3 &");

for (speed = 40; speed > 25; speed=speed - 5)
{
softPwmWrite(GPIO24, speed);
sleep(5);
}

system("mplayer /home/pi//Music/effect/sl_stop.mp3 &");

for (speed = 25; speed > 0; speed=speed - 5)
{
softPwmWrite(GPIO24, speed);
sleep(5);
}


softPwmWrite(GPIO24, 0);
softPwmWrite(GPIO19, 0);

softPwmStop(GPIO24);
softPwmStop(GPIO19);

return 0;
}


コンパイルして
$ gcc -o train07 train07.c -I/usr/local/include -L/usr/local/lib -lwiringPi
実行
$ sudo ./train07

やっぱり効果音があるとないとでは、
迫力とゆうか気分が違いますね。 d(^-^)

上記のプログラム、標準関数の”system”を使って
”mplayer”を実行しているのですが、
発車前の汽笛は再生終了を待って次の処理に
進むように”&”を使わないで、走行中の音は、
”&”を使ってバックグランド実行させているのが
ミソです。


参考:
 『Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ』

 『効果音ラボ』


関連ブログ一覧:

 『RaspberryPiで鉄道模型を動かしてみる その1
   まずは下準備 』


 『RaspberryPiで鉄道模型を動かしてみる その2
   車両を動かす(ON/OFF制御) 』


 『RaspberryPiで鉄道模型を動かしてみる その3
   PWMで速度制御 』


 『RaspberryPiで鉄道模型を動かしてみる その4
   DACで速度制御その1 』


 『RaspberryPiで鉄道模型を動かしてみる その5 追記あり
   DACで速度制御その2 』


 『RaspberryPiで鉄道模型を動かしてみる その6
   ポイントを動かす 』


 『RaspberryPiで鉄道模型を動かしてみる その7
   駅で停める 』


 『RaspberryPiで鉄道模型を動かしてみる その8
   効果音を鳴らす 』


 『RaspberryPiで鉄道模型を動かしてみる その9
   制御プログラムの話』

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
RaspberryPiで鉄道模型を動かしてみる その8 ありぎりす の徒然日記/BIGLOBEウェブリブログ
文字サイズ:       閉じる