ユーザ用ツール

サイト用ツール


dsshieldauto

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
dsshieldauto [2018/01/21 09:29] – [タクトスイッチによるルート切り替え] yaasandsshieldauto [2018/01/21 10:06] yaasan
行 1: 行 1:
 ====== DSshieldAUTO ====== ====== DSshieldAUTO ======
  
-DSshieldAUTOは、[[dsshield]]とArduinoUNOだけで、パソコンなしに小規模な自動運転を実現するためのソフトウェアソリューションです。 +DSshieldAUTO(AUTOスケッチ)は、[[dsshield]]とArduinoUNOだけで、パソコンなしに小規模な自動運転を実現するためのソフトウェアソリューションです。\\  
-小さいジオラマの車両やギミックをDCCで自動制御して、手を離しながら模型やジオラマをお楽しみいただける仕組みを提供しています。+小さいジオラマの車両やギミックを小さなArduinoUNO+[[dsshield]]によるコマンドステーション、DCCの自動制御ができます。手を離しながら模型やジオラマをお楽しみいただける仕組みを提供しています。ボリュームの入力でスピードを変えたり、ボタンで動き方を変えたり、いろいろな演出が出来ます。
  
 +
 +===== AUTOスケッチでできること =====
 +
 +  * パソコンなしで、DCC車両やポイントを気軽に動かせます。(最初のプログラミングするときだけ、パソコンを使用します)。ボタンやセンサーに応じて、車両やポイントを動かすことも出来ます。ArduinUNOにACアダプタをつなげるだけ。
 +  * DSシールドだけで完結。小規模な用途にも、数万円の高価なコマンドステーションは不要。
 +  * メルクリン(Marklin Motorola, MM1, MM2)やDCCの車両・ポイントに対応
 +  * 教育向け、研修向け、自分の技術向上、ジオラマのギミックのパワーアップなどに使用できます。
 +
 +
 +===== AUTOスケッチでできないこと =====
 +
 +  * 複雑な制御。並列で何個も複雑な条件で動く制御パターン。Arduinoで並列処理を書くのが難しいため。
 +  * 大電流を消費する環境。
 +  * 大きなレイアウト。
  
 ===== 必要な物 ===== ===== 必要な物 =====
行 42: 行 56:
 ==== 全体の構成 ==== ==== 全体の構成 ====
  
-Arduinoのスケッチは、setup()とloop()で大きく構成されます。一方で、AUTOスケッチでは、user_init()とuser_program()の2つで構成されます。setup()とloop()は、DCC制御で使用しておりますので、user_の関数にプログラミングしていただきます。なお、user_initはsetupからコールされています。user_programはloopからコールされています。ほとんど同じように使用することが出来ます。+Arduinoのスケッチは、setup()とloop()で大きく構成されます。一方で、AUTOスケッチでは、user_init()とuser_program()の2つで構成されます。\\ setup()とloop()は、DCC制御で使用しておりますので、user_の関数にプログラミングしていただきます。なお、user_initはsetupからコールされています。user_programはloopからコールされています。ほとんど同じように使用することが出来ます。
  
 +{{::dsauto_route6.png|}}
 ==== 使用できるピン ==== ==== 使用できるピン ====
 +
 +ピン・端子を使用するときは、pinModeをuser_init()の中で必ずピンの設定します。
 +
 +<code>
 +//D8ピンを出力にする。
 +pinMode(8, OUTPUT);
 +
 +//D7ピンを入力にする。
 +pinMode(7, INPUT);
 +
 +//A2ピンを入力にする。
 +pinMode(A2, INPUT);
 +</code>
 +
 +実際に使う場合には、以下のように使用します。
 +
 +<code>
 +//D8ピンをHIGH(1)で出力する。ピンには5Vが出力される。0VにしたいときはLOW(0)を指定する。
 +digitalWrite(8, HIGH);
 +
 +//D7ピンからピン状態を読み取る。D7が5Vのときは1がaSensorに入る。0Vのときは0が入る。
 +int aSensor = digitalRead(7);
 +
 +//A2ピンからアナログの状態を読み取る。A2ピンが5Vのとき1024が入る。2.5Vのとき512、0Vのときは0になる。
 +int aAnalog = analogRead(A2);
 +</code>
 +
 +DSシールドで解放されているピンは以下の通りです。この他は、S88や電圧チェック機能で使用されています。
 +なお、いかに記載はありませんが、5V、3.3V、GNDピンは自由に使用できます。
  
 |デジタル入出力ピン|D7,D8,D11,D12| 0V,5Vの信号読み取りや、出力を行えます。ボタンの入力、LEDの出力に使用できます。 | |デジタル入出力ピン|D7,D8,D11,D12| 0V,5Vの信号読み取りや、出力を行えます。ボタンの入力、LEDの出力に使用できます。 |
行 171: 行 215:
 {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSAUTO_RouteSCH-thumbnail2.png}} {{http://buin2gou.sakura.ne.jp/sblo_files/powerele/image/DSAUTO_RouteSCH-thumbnail2.png}}
  
 +Youtube動画:\\ 
 +{{youtube>JmZzkg3p--U?medium}}
  
dsshieldauto.txt · 最終更新: 2018/01/27 08:44 by yaasan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki