So-net無料ブログ作成
前の10件 | -

Mp3V5で順繰りアナウンス機能搭載? [ds-DCCデコーダ]

 さて、おしゃべりするNゲージ様の記事で、「★「ギガって凄い」ってこと ・・・あれ?みんな 気がついてない」と書いてありました。 そういえば忘れてました。
 でも、現在のSDカードだと何曲まで入れられるんでしょうかね?昔だと1フォルダ当たり256ファイルぐらいだったような気もしますが、Mp3V5デコーダのICだと、Mp3のファイルの作り方から類推すると4桁は入るんでしょうか?そして、今のDCCだとファンクションが29個しかないので、普通に考えて29種類程度の音しか入れられません。ということで、ワンマン電車とかバスにありがちな「ボタンを押すと案内アナウンスがでるアレ」を作ってみました。スケッチはこちらです。
 今回の実験環境は以下の通り、Mp3V5、スピーカー、D101です。コントローラがD101でなく、DSMainR5やDSBlueBoxでも良いですが、プッシュボタンの使い勝手的に、D101のほうが楽ちんです

re_DSC02229.jpg

 操作は
・F8のプッシュでアナウンスが順繰りに進んでいきます。
・F7はリセット機能です。1番目からの音(0051.mp3)に戻ります。
 音は、Mp3フォルダに0051~0099まで入れられるようにしました。動画の声は息子と一緒にYoutubeの江ノ電前面映像を眺めながらアナウンスを聞いて、息子が言いなおしています。よくわかりませんが著作権怖いですし。
 動画です。


(注意)
・E104から派生させていますので、ここ以外の部分はE104と同じです。
・F7,F8をアナウンスのために潰してしまっています。本当はCVで、On/Off出来るようにすべきかなあと思いつつ。まあ、この機能は現状突っ込みどころ満載ですので。
・集電不良対策でCV値にアナウンスの現在番号を書き込んでいますので、途中電源が途切れても、F8を押すと次のアナウンスが流れます。
・終点からの折り返し運転には対応していません。まあ、逆方向ってアナウンス違うし、どうしましょうかね?F6辺りに方向でも持たせて、順繰りアナウンスは2種類持たせるというのが現実的ですかね?
・(メモ)録音はTASCAMのDR-05を使用しています。音の編集はAudacityを使用しています。編集は、
Audacityで音を、駅ごとに分ける加工
1.トラック→ステレオからモノラルへ で、モノラルにする
2.エフェクト→正規化 で、音を大きくする。
3.前後の無音部分を消して、Mp3で保存する。
という作業をアナウンスごとにしております。

 いや、SmileDecoderR6n用にIMA ADPCM入れようとしてたのですが、どうも難しくって。
コメント(1) 

ケースを作ったが [S88]

 水曜日はフレックスを最大限に利用して3時に会社から帰ってFablab藤沢に行きました。残念ながら2月でFablab藤沢は終わりらしいです。かなり残念です。鉄橋(木だけど)をいっぱい作りたかったのですが。
 で、ケースを作りました。左からNuckyさんのs88-N Train Detector (16区間用)、私の S88 14port、YaasanさんのS88 Button Decoderです。
re_DSC02228.jpg

 遠目にはよさげに見えます。
 が、S88 14ポート系はもともとAK-P-01を使用しており、これと同じサイズでつくるつもりで、適当にS88 Masconの基板の形から起こしたら、残念なことになりました。S88 Masconは、ほかのS88 Nuckyさんのや私の14ポート版に比べて基板サイズが小さかったようです。NuckyさんのS88基板をいれたら、基板のほうが少々大きく、アクリルの下部パネルが割れてしまいました。
re_DSC02226.jpg

 まあ、今度はケースの寸法から値を取ってきて作り直さないとですね。(最初からそうしろよという話もありますが)
 もう一つ、妄想中のS88 8ch用のケースも作りました。こっちはまだ基板がないので、問題が起こるはずもなく、今のところ完璧です。
re_DSC02227.jpg

 来週も、時間があったらケース加工に行こうかと思っています。

コメント(0) 

ケースを作るか。 [S88]

 さて、ケースを設計してみました。S88 8ch用とS88 14ch用です。明日、会社から早く帰れて、Fablab藤沢の枠に空きがあったらアクリル板を加工してみようと思います。
case_a_1.png

コメント(0) 

S88 8ch(妄想中) [S88]

 久しぶりにBSCH(回路図エディタ)とかMBE(基板エディタ)とかいじっていたら楽しくなってしまって、8ch用を作ってみました。
 ArduinoNanoを使用します。ATMEGA168なら200円ぐらい、ATMEGA328でも250円ぐらいでAliExpressから買えますので、ATMEGA328PーPU+周辺回路を秋月で買うよりも安いです。USB I/Fまで付いているのに。
 で、8chのAnalog Inputがあるので、8chとも使って在線検出します。前はトランジスタを使用して、3chずつ在線検知用のLEDを点けていましたが、今回は8chとも個別に点灯させます。一応40mAまではソース、シンク駆動共に可能と書いてあるので、ソースで点灯させます。これで以前よりも消費電流が減るはずです。まあ、Nano本体にCH340(シリアル-USB変換IC)とか状態LED(Power、Tx,Rx,13pin)とかがあるので、減るんだか増えるんだかという感じかもですが。プログラムのソースは以前作った14ch用と似た感じになりそうです。(でも、PICで14chのとき最初ソース駆動にしたら、微妙にLED光量足りなかったっけ?)
 回路図は以下。
S88Control_8ch.PNG

 基板はこんな感じ。
mbe.png

 部品の種類が大幅に減って、
IC:ArduinoNano
CN1,2:RJ-45 LANコネクタ ×2
CN3-10:3.5mm4極ミニジャック ×8
R1-8:220Ω ×8
VR1-8:200kΩ ×8
C1:100uF
です。
部品をはめる場所が決まっているので、説明書がいらなそうです。

しかし、今 中国は春節ですね。
Elecrowのページを久しぶりに見たら、パネライズの方法が変わってしまい、
複数枚をどういう風に頼むのかがわからない・・・。枚数分普通に頼むのか?


コメント(2) 

また、レーザーカット [レーザーカッター]

 ふと、気づいたら約1か月更新していませんでしたね。
 やっと、会社の忙しい時期が終わりましたので、これからはちゃんと趣味を出来そうです。
 まあ、1月もKatoのキハ110(HO)の購入は1両編成で行くか2両編成にするかで悩み続けていました。結局2両編成を予約しておきました。あとは2万円以上する鉄道時計を買うかどうかで悩んでました。運転台に置かないと雰囲気出ないしなあと思って。他社だと懐中時計1万円台で電波時計のものがあるし、今更クオーツで2万円以上ってなんだとか思いながら。で、もちろん時計はまだ悩んでいます。まあ、悩んでいるときが一番楽しいですし。

 で、レーザーカッターです。Fablab藤沢に行って久しぶりにやってきました。4か月ぶりだったので、使い方が思い出せなくてスタッフの方に聞きまくりながらやることになりましたが・・・。
 今回も鉄橋です。写真だけ見ると前回との違いがほとんどわかりません。前回は2.5mm厚と3.5mm厚という二つの厚さの板を使って工作でしたが、今回は2.5mm厚にまとめました。強度は問題なさ麻宇那気がします。一部寸法を直し忘れていて横から板が突き出ていますが、これはこれで味があるような気もします。
re_DSC02224.jpg

 もう一つは、運転台用のスピードメーターの台です。以前にすべて手作業で作りましたが、数か月たつとMDFってやつはヨレてくるようで、もうちょっとちゃんとしたものを作りたいと思いつつ、手作業は嫌だと思い、作りました。写真の手前が以前作ったもの(ヨレている)で奥が今回のレーザーカッター品です。数か月でヨレなさそうな雰囲気を醸し出しています。(本当か?)
re_DSC02225.jpg

 そして、まだ移設していません。
 S88 Detector(6ch)用のケースを作ろうかなあと思いましたが、まだ作り始めていません。
 あとは、ArduinoNanoを使用するとAnalogInputを8ch使えるので、8chのS88 Detectorが出来そうなので、それを作ろうかなあと思い始めています。まあ、来週から中国は春節のようですので、今始めても、3月の半ば以降にならないと基板が出来てこないという悲しい感じにはなりそうですが。

コメント(0) 

DSMainR5のOLEDの話 その2 [DSmainR5]

 さて、だれも教えてくれなさそうなので、一昨年買ったAmazonで買ったOLED(1.3インチ)を使えるようにしていきたいと思います。
 説明書はこちらのようです。
 ということで、まずは、貧乏でいいのを組み立てて、I2Cでつないで。DSMainR5のスケッチをArduinoUnoとして、使ってみます。まあ、こうなります。
re_DSC02205.jpg

 スケッチをいろいろにらめっこしたり、いろんなところのサンプルを見た後、よくわかりませんが、Yaasan様が言うように2ドットXがずれているだけかなあと思い、
OzOLED.cppのvoid OzOLED::setCursorXY(byte X, byte Y)関数の中身でXを指定している
sendCommand(0x00 + (8*X & 0x0F)) ; //set column lower address

sendCommand(0x00 + (8*X & 0x0F)+2) ; //set column lower address
としたら、あっさり普通に表示されるようになりました。
深くは考えずにこれで解決とします。下記のようにちゃんと表示されています。
re_DSC02206.jpg

で、DSMainR5のNanoスケッチに入れて、ちゃんと表示されることを確認して、
re_DSC02207.jpg

ケースの前面を加工するために、どのくらいが表示領域かを確認するため、OLED表示を反転させます。
re_DSC02208.jpg

やり方は、
DSMeister.inoのvoid setup()関数内の
LCD.setNormalDisplay(); //Set display to Normal mode

LCD.setInverseDisplay();
と命令を差し替えます。
これに合わせて、ケースの加工のためにケースをマーキングしていきます。
re_DSC02209.jpg

で、ホットナイフで大まかに加工します。
re_DSC02210.jpg

OLEDで現物合わせし、もうちょっと加工します。
re_DSC02211.jpg

で、仮止め用に両面テープをOLEDに貼ります。
re_DSC02212.jpg

で、OLEDを前面ケースに貼って、お決まりのようにセメダインスーパーXを横から盛って、固まるまで数時間待ちます。
re_DSC02213.jpg

で、完成です。
まずは、OLEDを反転表示させたとき。
re_DSC02214.jpg

次に、通常表示。
re_DSC02215.jpg

表示窓は大きくなりましたが、個々の文字は小さくなりました。
文字をすべて16ポイントで表示するとかできたら、もっと見やすいですかねえ?
(そして文字数が少なくなって液晶と変わらなくなるとかいうオチ?)

なお、スマイラー様が1.3インチ用ケースをYaasan様が持っているんじゃないか?とコメントしてくれた時分、すでに、ケースは加工済みでした。

コメント(0) 

raspi zero wでカメラを動かしWifi経由で配信するメモ [その他]

 へのへのもへじさんがやっているraspiでカメラを私もやりました。なんか、Linuxってわからないので、大変です。
 私のほうは、Raspbian Jessie Liteというやつでやっています。
 いろいろな人のページを見ましたが、以下の感じです。
 Raspbian Jessie Liteをインストールします。
 このページの右下のLiteのZIPファイルです。
 で、SDカードをフォーマットします。
 こちらのページのやつが公式だそうで、それでやります。
 クイックフォーマットしておきました。
 RaspberryのZIPファイルは解凍したらImgファイルなので、SDカードに展開しないとです。
 win32diskimagerというソフトを使いました。
 で、SDカードにIMGファイルを展開します。
 
 私も、キーボードやディスプレーを使わない方法でインストールしました。
 こちらのページを参考にします。
 WindowsでSDカード内のconfig.txtとcmdline.txtを編集します。私はVisualStudioを使用しました。メモ帳だと、改行が変なので。
sshというファイルも作っておきます。(じゃないとTeraTermからの接続でエラーが出てつながらない。ここは、はまりました)
で、Windowsから通信するための怪しいドライバをいくつか入れて、SDカードをRaspiに挿して、起動します。
 あとはTeratermもインストールしてRaspiと通信します。
 パスワードはraspberryなのだがrasberryだと勘違いしていて、はまりました。
 TeraTermでログイン出来たら、こちらのページを参考に、Wifiの設定をします。

 wifiの設定まで終わったら、Wifi経由でTaraTermでつながるようになります。
 で、

$ sudo apt-get update
$ sudo apt-get upgrade
とやって、とりあえずraspiの中身をなんとな最新にしておきます。これをやらないと、カメラの配信部分で、makeがうまくいきませんでした。

 で、こちらのページを参考にカメラの設定をしますが、メニュー構造がかなり変わってしまっています。
 私がやった感じでは、
$ sudo raspi-config
 とやり、
5 interfacing option を選び
P1 CameraをYesにします。
で、再起動します。

次にこちらのページを参考に、カメラの配信の設定をします。
”配信方法1-mjpg-streamer"のところをそのままやっていきます。で、
注意ですが、git は最初インストールされていないので先に
$ sudo apt-get install git
とやってgitをインストールしないと引っかかります。

ここまでやったらmjpg-streamer-experimentalフォルダで
$ ./mjpg_streamer -o "./output_http.so -w ./www" -i "./input_raspicam.so -x 1280 -y 720 -fps 30 -q 10"
とやれば、カメラから配信され、
PCのChromeブラウザで
http://XXX.XXX.XXX.XXX:8080/?action=stream
とやってやると、普通に動画は見れました。xxxはIPアドレス。
Androidのスマホからも普通にChromeで動画を見れました。
IPアドレスは
ifconfigのコマンドで見れます。

よくわかりませんが、さっきのこちらのページを参考にsambaを立ち上げておくと、
ブラウザから
http://raspberrypi:8080/?action=stream
で動画が見られるようになりましたが、なぜかは良くわかりません。
(その後また見れなくなったりでよくわからん)

なんか、この調子でいけば、Tomixのカメラカー状態まではできそうなことが分かりましたが、
これにDCCのギミックとかを入れていけるのか?、とかなり不安になる意味不明さです。
大体、インストールの手順が難しすぎる気がしますし。

で、まあ、単なるWebカメラですが、
このレイアウトの手前にRaspiZeroWを付けました。
re_DSC02203.jpg

カメラ自体はこんな感じで、USBも刺さっていますが、これは5V供給しているだけです。
re_DSC02204.jpg

で、まあ動画ですが、電車に載せないと、あまり面白くもなんともないですね・・・。





コメント(2) 

DSMainR5のOLEDの話 [DSmainR5]

DSMainR5でOLED対応したとのことで、そういえばうちにも昔買ったOLEDあったなあと思いながら試してみました。(そして失敗しました。)
 いちおう、その話をしておきます。
 まずは、スケッチをダウンロードしてきて、R5用に
MSensor.cppの157行目を
aCurrent = (aCurrent * 125) / 427;
から
aCurrent = (aCurrent * 125) >> 8;
に変更します。
で、スケッチをNanoにして書き込みます。

ハードですが、改造前はバックライト付きLCDなので、こんな感じ。
re_DSC02197.jpg

前面パネルを外すと(ここまでが大変で、ボリュームを高級品にしていたせいで、つまみを取るのにインチサイズのアーレンキーが必要で、部屋中を探しまわって一時間浪費・・・。)
液晶が取れないように合成ゴム系接着剤で補強接着していました。
re_DSC02199.jpg

で、カッターで切って、爪で剥がして、きれいにしました。
re_DSC02200.jpg


 そして、I2CのOLEDをはめて、12V電源を入れたら、こんな感じです。なんか、左側が切れていて、右側はバグっている・・・。
re_DSC02202.jpg

 で、パネルにはめてみたら、こんな感じで、画面がはみ出ている!
re_DSC02203.jpg

 改造されている方の記事を見ても、液晶の窓を加工したとの記述はない。ということで、秋月のOLEDを確認したら、0.96インチと書いてあり、なんか大きさが30mm角無い。私のを測ってみたら縦約35㎜角ぐらいあり、アマゾンでのお買い物履歴から確認したら、どうやら1.3インチの物を買っていたようです。

 さて、画面の左端が切れてて、右端が白い原因でも探るか?と思ってデータシート眺めてみましたが、ちょっとわかりませんでした・・・。
コメント(4) 

SmileDecoderR6n用の音(サウンドオプション) [ds-DCCデコーダ]

 12月になごでん様からR6n用にスマイルデコーダのサウンドオプション使えるようにしたいとの話がありました。で、やっととりあえず作りました。
 実験環境はこんな感じです。デコーダ開発ボードにアンプ基板386と秋月の大きなスピーカーをつないで実験です。なお、対策はしたのに、16kHzのピークが周波数解析で聞こえたので、ちょっとどうしようかという感じではあります。
re_DSC02196.jpg

 動画はこんな感じです。


 スケッチはこちらです。MP3V5_SO1でSOはSoundOptionの略です。
 音ファイルは、スマイルデコーダのサウンドオプションあたりを眺めて作ってください。
 音のスケッチへの統合は、VVVF_sound.cppの最初のあたりで、いまのところ4つ並べています。
#include "E233_Alert1.h"
#define WAV_DATA1 E233_alert1_data
#define  WAV_LENGTH1 E233_alert1_length

を自分のオリジナルに差し替えれば自分の好きな音を鳴らせます。
ただし、容量はかなり小さいのでお気を付けください。
あと、サンプリング周波数は8kHzにしています。
227行目の
if(flg == 0x03) //4回に1回だけ値を変更32kHZ→8kHz

if(flg == 0x01)
とすると、16kHz
if(flg == 0x07)
にすると4kHzとかに変えられます。

ファンクションの割り当ては現在F3~F6としていますが、
MP3V5_SO1.inoの522行目の
VVVF_Cont(gFuncBits[3] | (gFuncBits[4] << 1) | (gFuncBits[5] << 2) | (gFuncBits[6] << 3));
を変えてやれば、ほかのファンクションに割り当てできます。

以上です。




コメント(2) 

航空科学博物館に行った [その他]

 昨日は子供と久しぶりに遠出しました。
 成田空港の近くの航空科学博物館です。
 外にこんな感じに飛行機が並んでて、中にはB747のエンジンとかが展示されていました。
re_IMG_20180105_120425.jpg

 なんか、どこかで見たミサイルの名前のような飛行機もありました。
re_IMG_20180105_123353.jpg

 懐かしのYS11です。昔、子供のころ離島に住んでいたこともあり、毎年これに乗って東京に出かけましたが、雲を通過するごとに激しく揺れるし、プロペラの音はうるさいし、スピードは遅いし、良くない思い出がいっぱいだったりします。とはいえ、とても懐かしいなあと思いながら写真をいっぱい撮っておきました。
re_IMG_20180105_123859.jpg

 館内はB747でいっぱいでしたが、着陸する飛行機にはB747はあまりありませんでした。一応大韓航空機が飛んできたので、撮っときました。
re_IMG_20180105_132937.jpg

 フライトレーダー24とかいうスマホのアプリで、全世界の飛行機の位置がリアルタイムで見られるので、次に着陸するのがどの飛行機で、どっちの滑走路というのが分かるので、とても便利です。そして、一日中見てても飽きません。電車でこういうのないのかなあと思います。

 飛行機を押したり引っ張ったりする車は初めて間近で見ました。車高がとっても低かったです。
re_IMG_20180105_135417.jpg

 博物館よりも、近くのひこうきの丘のほうが間近で飛行機を見られました。
re_IMG_20180105_141600.jpg

 せっかくだからA380を見たかったです。(調べずに行ったので見られませんでした。)
コメント(2) 
前の10件 | -