dsshieldauto
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
dsshieldauto [2018/01/21 09:27] – [主な命令] yaasan | dsshieldauto [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からコールされています。ほとんど同じように使用することが出来ます。 |
+ | {{:: | ||
==== 使用できるピン ==== | ==== 使用できるピン ==== | ||
+ | |||
+ | ピン・端子を使用するときは、pinModeをuser_init()の中で必ずピンの設定します。 | ||
+ | |||
+ | < | ||
+ | // | ||
+ | pinMode(8, OUTPUT); | ||
+ | |||
+ | // | ||
+ | pinMode(7, INPUT); | ||
+ | |||
+ | // | ||
+ | pinMode(A2, INPUT); | ||
+ | </ | ||
+ | |||
+ | 実際に使う場合には、以下のように使用します。 | ||
+ | |||
+ | < | ||
+ | // | ||
+ | digitalWrite(8, | ||
+ | |||
+ | // | ||
+ | int aSensor = digitalRead(7); | ||
+ | |||
+ | // | ||
+ | int aAnalog = analogRead(A2); | ||
+ | </ | ||
+ | |||
+ | DSシールドで解放されているピンは以下の通りです。この他は、S88や電圧チェック機能で使用されています。 | ||
+ | なお、いかに記載はありませんが、5V、3.3V、GNDピンは自由に使用できます。 | ||
|デジタル入出力ピン|D7, | |デジタル入出力ピン|D7, | ||
行 78: | 行 122: | ||
/* User Program Area */ | /* User Program Area */ | ||
/ | / | ||
+ | |||
+ | void user_init(void) | ||
+ | { | ||
+ | |||
+ | } | ||
void user_program(void) | void user_program(void) | ||
行 118: | 行 167: | ||
void user_init(void) | void user_init(void) | ||
{ | { | ||
- | |||
pinMode(8, INPUT); | pinMode(8, INPUT); | ||
pinMode(11, | pinMode(11, | ||
行 167: | 行 215: | ||
{{http:// | {{http:// | ||
+ | Youtube動画: | ||
+ | {{youtube> | ||
dsshieldauto.txt · 最終更新: 2018/01/27 08:44 by yaasan