dsshieldauto
文書の過去の版を表示しています。
DSshieldAUTO
DSshieldAUTOは、DSshieldとArduinoUNOだけで、パソコンなしに小規模な自動運転を実現するためのソフトウェアソリューションです。 小さいジオラマの車両やギミックをDCCで自動制御して、手を離しながら模型やジオラマをお楽しみいただける仕組みを提供しています。
必要な物
- DCCポイントやDCC車両、レール、ジオラマなど皆様がお持ちのDCCデコーダ搭載物
- Arduino UNOもしくは互換機
- 必要に応じて、ボタンやS88デコーダ(在線検出器)、LEDなど。
- パソコン
- Arduino IDE(無料)
配線の仕方
スケッチの書き込み方法
- Arduino IDEをインストールする。Arduino UNO(互換機)のUSBドライバもインストールする。
- ボードをArduino UNOにして、ポートをArduino UNOとして認識したポートを指定する。空白はNG。
- Uploadボタン(→マーク)を押して書き込む
スケッチの作り方
全体の構成
スケッチの例
アドレス3車両のファンクション操作
タクトスイッチによるルート切り替え
/*****************************************************************/ /* User Program Area */ /*****************************************************************/ void user_init(void) { pinMode(8, INPUT); pinMode(11, INPUT); pinMode(12, INPUT); digitalWrite(8, HIGH);//内部プルアップON digitalWrite(11, HIGH);//内部プルアップON digitalWrite(12, HIGH);//内部プルアップON CMD_Power(1); Serial.println("Power On"); } void user_program(void) { //ボタンが押されたとき、digitalReadは0を返す。押さないときは1を返す。 if( digitalRead(8) == 0) { Serial.println("Route 1"); CMD_Turnout(ADDR_ACC_DCC + 2, 0); CMD_Wait(1000); } if( digitalRead(11) == 0) { Serial.println("Route 2"); CMD_Turnout(ADDR_ACC_DCC + 1, 1); CMD_Wait(1000); CMD_Turnout(ADDR_ACC_DCC + 2, 1); } if( digitalRead(12) == 0) { Serial.println("Route 3"); CMD_Turnout(ADDR_ACC_DCC + 1, 0); CMD_Wait(1000); CMD_Turnout(ADDR_ACC_DCC + 2, 1); } }
dsshieldauto.1516490002.txt.gz · 最終更新: 2018/01/21 08:13 by yaasan