みなさん、こんにちは。
懐かしのMSX規格を現代に蘇らせたMSX0。本ブログでも以前ご紹介しました。
今回はMSX0に付属してきた様々なセンサーを手軽に試せる「Seeed Grove Beginner Kit for Arduino」を使って、温度と湿度を表示するサンプルプログラムを動かしてみたいと思います。
MSX0の初心者向け解説記事はあるようでなく、とりわけSeeed Grove Beginner Kit for Arduinoをどう使えばよいのかを丁寧に解説した記事は少ないので、記事にしてみました。
MSX0に興味を持ち始めたばかりの方は、ぜひ参考にしてみてください。
準備 – センサーをMSX0で使えるようにする
まず最初に行うのは、Beginner Kit for Arduinoに搭載されている各センサーを、キット中央にある制御ボード「Seeeduino Lotus」の制御下から切り離す作業です。
これを怠ると、センサーをMSX0に接続しても、センサーはSeeeduino Lotusとの通信を優先してしまい、MSX0から正しく値を読み取ることができません。もちろん、個々のセンサーを基板から物理的に切り離すという方法もありますが、後々Seeeduino Lotusでこれらのセンサーを活用する可能性も考えて、今回はプログラム的な方法で対処します。
手順は以下の通りです。
- Seeeduino LotusとPCを接続
Beginner Kit for Arduinoの中央にあるSeeeduino Lotusボードのmicro USB端子を使って、PCとUSB接続します。 - Arduino IDEを起動
PCでArduino IDEを立ち上げます。もしまだインストールしていない場合は、Arduinoの公式サイトからダウンロードしてインストールしておきましょう。 - 空のスケッチを書き込む
Arduino IDEが起動したら、特にスケッチ(プログラムコード)を編集する必要はありません。デフォルトで表示される空のスケッチのままでOKです。- メニューの「ツール」 > 「ボード」から「Arduino Uno」を選択します。次に、「ツール」 > 「ポート」で、Seeeduino Lotusが接続されているポートを確認し、選択します。最後に、ウィンドウ上部にある右向き矢印のアイコン(書き込みボタン)をクリックします。
これで、Seeeduino Lotusには「何もしないプログラム」が書き込まれ、接続されている各センサーはSeeeduino Lotusの制御下から解放されます。
MSX0と温度湿度センサーを接続する
次に、MSX0とBeginner Kit for Arduinoの温度湿度センサーを接続します。
Beginner Kit for Arduinoの右列真ん中にあるのが温度湿度センサーです。このセンサーとMSX0本体にある赤いGroveコネクタを、付属のGroveケーブルで接続します。
ここで一点注意点があります。購入したBeginner Kit for Arduinoのバージョンによって温度湿度センサーの種類が異なり、MSX0と接続するGroveコネクタの場所が異なります。
私が使用しているセンサーは黒色ケースのDHT20という種類のもので、この場合はMSX0の赤いGroveコネクタで問題なく動作しました。センサーが水色のケースだった場合はDHT11という種類で、MSX0のFaces II Bottom側にある水色のコネクタと接続が必要です。お使いのセンサーの種類を確認し、適切なポートに接続するようにしてください。
MSX0でサンプルプログラムを実行する
いよいよMSX0でプログラムを実行していきます。
- MSX0の電源を投入
MSX0の電源を入れます。 - システムメニュー画面に切り替え
起動後、画面を上下にスワイプして、システムメニュー画面(U1と表示されています)に切り替えます。 - サンプルディスクを選択 システムメニュー画面の左上にあるディスクのアイコンをタップします。
- 表示された画面で「-」または「+」ボタンをタップして、「SAMPLE.DSK」を選択します。「OK」をタップします。
- Basic画面に切り替え
再度画面をスワイプして、今度はMSX Basicの画面(U0と表示されています)に切り替えます。 - MSX Basicを起動しコマンドを実行
MSX Basicが起動したら、以下のコマンドを順番に入力し、それぞれEnterキーで実行します。(PCからリモートコントロールパネルを使って入力することも可能です。)load "DHT_KNJ.BAS"
run
load "DHT_KNJ.BAS"
は、SAMPLE.DSKの中から温度湿度センサー用のプログラム「DHT_KNJ.BAS」をメモリに読み込むコマンドです。run
は、読み込んだプログラムを実行するコマンドです。
動作確認
コマンドを実行すると、画面に現在の時刻と温度、湿度が表示されます。

お部屋の温度や湿度に近い値が表示されていれば、動作成功です!
プログラムの実行を止めたい場合は、キーボードの Ctrlキーを押しながらF12キー を押してください。リモートコントロールパネルでも同様です。
おわりに
今回は、MSX0とSeeed Grove Beginner Kit for Arduinoを使って、簡単に温度と湿度を測定し表示する方法をご紹介しました。昔懐かしいMSXで、現代のセンサーを手軽に扱えるのは非常に面白い体験ですね。
次回は、今回測定した温度と湿度のデータを、IoTプラットフォームである「Ambient」に送信して、グラフ化したりインターネット経由で確認したりするのに挑戦してみたいと思います。
本日も最後までお読みいただきありがとうございました。
それでは、よいMSXライフを!
ピンバック: レトロな魅力とIoTの融合 – MSX0について語る - ビューローみかみ
ピンバック: MSX0 x Ambient | BASICで手軽に温度・湿度データをクラウド送信! - ビューローみかみ