2012年7月アーカイブ

4 カメラを制御

3 画像取得プログラムの作成


 C1098-SSとC328の制御コマンドは図2のようにほとんど同じなので、C328のプログラムの一部をそのままC1098で利用することができます。しかし、C328のライブラリをそのまま使用すると、転送速度を初期値から変更した場合など使い勝手が悪い部分もあります。
 そこで、C328のライブラリを少しだけ修正しC1098-SS用のライブラリを作成しました。ちなみに、Cookbookで公開されているカメラ用ライブラリは、いずれもShinichiro Nakamura氏が作成されたものです。氏はほかにも有用なライブラリやプログラムを多数公開されており、筆者もありがたく利用させてもらっています。
課題10
 次の順番で列車1と列車2を交代で運行するプログラムを作成しましょう。

  列車1=> 出発=>センサ3反応 3秒停止 => 反転出発=> センサ1反応=> 停止
  => ポイント切り替え
  列車2=> 出発=>以後、繰り返し

mbedプログラミング
・新しく導入したアクティブ光センサはp9~p11に接続します。
DigitalIn Asens1(p9);
DigitalIn Asens2(p10);
DigitalIn Asens3(p11);Asensは反応した時にAsens1~3=XONとなります。

・この課題より、システム・スタート時はセンサ1とセンサ2の上に車両がいて、反応しているときにスタートする設定に変更しました。
  lcd.cls();
  lcd.locate(0,0);
  lcd.printf("Set Train on rail!!");
  lcd.locate(0,1);
  lcd.printf("==>Sns1:XON,Sns2:XON");

■■Publish
 下記URLにてPublishしています。
  http://mbed.org/users/takeuchi/programs/2ck0122_RMCS10/m5ne8o
レイアウトの準備
 写真のようにセンサ1~3、ポイント一つを設置したレイアウトを用意します。作例では橋脚を利用して立体的レイアウトに仕上げました。
 
0_image.jpg 手前がセンサ1,奥がセンサ2です。配線はレールの下などをうまく通して隠してください。
4 カメラを制御

2 シリアル・カメラとmbedを接続する

  それでは、カメラの使い方を学ぶため、最初は簡単な事例を紹介します。
  作成するプログラムは4種類の画像サイズで撮影し、画像データをSDカードに保存するというものです。
 http://mbed.org/users/sunifu/notebook/c1098-ss-jpeg-serical-camera/のページは、作成したプログラムで金沢の中心街を流れる犀川を4種類の画像サイズで撮影したものです。
 単線レイアウトを拡張して一端にポイントを設置し、2列車の交換運転を楽しみましょう。このレイアウトは小型アルミ・トランクに収納する予定です。

回路図
 CdS光センサは安価で設置が簡単なのが特徴です。しかし、周囲の明暗によってはうまく動作せず、ちょっとした影に反応してしまい、思わぬ誤動作を招きます。また、暗くした部屋では動作しません。そこで、この問題を解決するために赤外線LEDの発光を受光して動作するインタラプト型センサ=アクティブ光センサを利用して車両位置を検出します。
 アクティブ光センサユニットを接続するために新たな回路を設計製作し、mbedに接続します。

zu-1.jpg
 完成したmbed RMCS 2列車交換エンドレス・レイアウトを楽しみましょう。

119系
 飯田線をイメージして119系 JR東海色と登場時色=スカイブルーを配置しました。駅はトミーテック製です。

15_P1010187.jpg 20年ほど前、飯田線の各駅では貨物の扱いもあり、2~3面のホームがある駅がけっこうありましたが、今では片面のみの無人駅が増えています。そのかわり駅舎も近代的になりました。





カテゴリ


Copyright (C) 2006-2015 CQ Publishing Co.,Ltd. All Rights Reserved.