デジタル鉄道模型フォーラムDCC・メルクリン等のデジタル鉄道模型の話題でコミュニケーションできる場です。登録・利用は無料です。
デスクトップステーション(DesktopStation)のページはこちら
・無料の日本型超高品質DCCサウンドデータをWebで配布中!
・鉄道模型をスマホで簡単制御!国産で革新的なコマンドステーション DSair2はこちらから。

2019年02月16日

DSbasicで運転支援機能

DSair2にS88を付けなくても、DSbasicで色々遊べます!BASICでこんな運転支援機能を付けてみました。

r2j TEST13cが必要です。

・スロット1(メータ画面の4つの機関車アドレスの左上部分のこと)の速度を監視
・速度が512(50%)を超えると、車内メロディが鳴る
・速度が100以下になると、駅アナウンスが鳴る

言い忘れていましたが、DSairのBASIC機能の特徴は以下です。たぶん、これは他のWi-Fiコマンドステーションではあり得ない機能なはずです。

・BASIC機能は並列処理のため、通常の運転操作と同時に動かせます。
・他のスマホで同じタイミングでBASIC処理しても問題無く動作します。

DSbasic_21.png

BASICプログラムは以下の通りです。whileは永久ループにして、速度をずっと監視するようにしました。
プログラムを止めるには、RUNボタンをもう一回押すと強制停止になります。

--------------------------------------------------
screen(7)

print "Announce supporter"
print "Addr:";getslotaddr(0)
print "Speed:";getslotspd(0)

state=0
currentspd = getslotspd(0)

while 1

sleep(1000)
if currentspd<>getslotspd(0) then
print "Current Speed is ";getslotspd(0)
currentspd = getslotspd(0)
end if

if state=0 then
if getslotspd(0)>512 then
state = 1
print "Next Station"
mp3play "JR車内メロディ_03.mp3"
end if
end if

if state=1 then
if getslotspd(0)<100 then
state = 0
print "Stop at Station"
mp3play "47-長谷川浩大 _ 氷川台B線.mp3"
end if
end if
wend
end
--------------------------------------------------

DSair2の奥の手が、このBASIC機能だと思ってます。他のコマンドステーションでは出来ないことの多くが、DSair2でできるようになります。次の正式版で、BASICを前面に出して、いろいろな遊び方を提案していきたいと考えております。ユーザーの作成したBASICのプログラムも、共有できる場をデジタル鉄道模型フォーラムなどで設けたいです。
posted by yaasan at 12:44 | Comment(0) | 鉄道模型

プログラミング学習のためのDCC&DSair2

2020年、小学校でプログラミングに関する授業を行う必要があると言うことで、教育界隈では、非常に大変な状況にあるとお聞きしております。この結論として、私がDCC&DSbasicが最適!と勧めることは断じてありません。私も長年、いろいろと相談に乗ってきて、先生方の苦労もよく理解しているつもりです。また、PCで色々動かす=プログラミング、というわけではないので、小学校のプログラミング授業というテーマは、そんな簡単で単純な話では片付きません。

商業的なプログラミング教育ビジネスを見ると、レゴのマインドストームと、Scratchあたりがメジャーかなと思います。前者は、プログラミングしてプレゼンするという、表現力を重視した内容に見えますし、後者ですと、ゲーム感覚で学べるという点に重きを置いているように思います。

個人的には、あんまりプログラマーという言い方が好きでは無いのですが(IT土方みたいな見方をされるケースもあるので)、ITエンジニアを育成する、という立場で言うと、どっちも、なんだかなーとは思います。表現力を鍛えるという面では方向性としては間違ってないのですが、そもそもの目的(プログラミング的思考をはぐくむ)に合っていないと思うわけです。

プログラミング的思考ってなんだ、と思うに、そもそもプログラミングが目的化してるのがおかしいと思います。プログラミングは、あくまでも表現手段に過ぎません。

・「鉄道模型を自動運転してリアルに動く姿を眺めながら、酒を飲みたい」
・「鉄道模型を運転するときに、アナウンスとかの操作を自動でやってもらいたい。自分は運転に集中したい」

という目的があったときに、「プログラミングして、解決しよう」と思うわけです。
プログラミング自体は、順序処理・分岐・繰り返しの3要素で成り立ってますから(コンピュータの心臓部の演算器の動きを見ればその機能しか無いのは自明ですが)、この3要素を使って、自分の行いたい動きを表現していくわけです。つまりは、プログラミング的思考とは、この3要素を駆使して表現する方法を学ぶ、と言うことになるのだと思います。

小学校のプログラミング授業では、実際のコーディングよりも、この3つのルールを使う、PCやスマートデバイスを使わないものの方が良いんじゃ無いかな、と思ったりもしてます。実際のコーディングは、アルファベットもきちんと習う、中学生以降の方が学びやすいのではないでしょうか。

DSbasicにおいては、大人向けやプログラミング知識のある若年層に向けて設計したものです。
S88デコーダがあれば自動運転、無くても運転状態を読み取って、アナウンスを流したり(まもなく〜駅)とか、停車して1分経つと自動で発車ベルが鳴るなど、運転支援を実現することができます。

さらにDSbasicが動作中でも、運転操作に制約はありません。また他のスマホが繋がっていても構いません。他のスマホがDSbasicを動かしていても構いません。

まだまだ、便利な関数は追加予定ですので、ただの自動運転だけでなく、自分だけのオリジナルの遊び方を自在に表現できる、表現手段として、ご活用頂ければ幸いです。それをSDカードに入れておけば、色々な人が気軽に、触れることが出来ます。

DSbasicは、そんな新しい表現手段を、DCCと鉄道模型というフィールドに提供して参ります。
posted by yaasan at 10:11 | Comment(0) | 鉄道模型