AkaDakoの紹介とプログラミング
USBケーブルでパソコンと接続するだけで、光センサーやLEDなどさまざまなデバイスを、Scratchから制御できるようにする低価格な拡張ボード「AkaDako」を紹介します。
TFabWorks AkaDakoの発売日が、2022年2月28日00:00に決まりました。Amazonでの在庫はTFabWorks製品一覧でご確認頂けます。
1.AkaDakoとは
TFabWorksのAkaDakoは、USBケーブルでパソコンと接続するだけで、光センサーやLEDなどさまざまなデバイスを、Scratchから制御できるようにする低価格な拡張ボードです。アプリを事前にインストールしたり、プログラムの転送やBluetoothのようなペアリング操作は一切必要ありません。AkaDakoとパソコンをUSBケーブルで接続するだけで、プログラミングを始められます。
AkaDakoで制御できるデバイスは、Seeed社が策定したGroveという規格に準拠したデバイス(以下、Groveデバイス)です。4線式ケーブル(黒赤白黄)を使って、AkaDakoの専用端子に接続します。専用端子には、アナログ用・デジタル用・I2C用があり、それぞれ最大2つのGroveデバイスを接続することができます。また、AkaDakoの円形部分には、ワニグチクリップが取り付けられるパッド端子もあります。
Groveデバイスには、光・温度・音・水分・距離などを計測するセンサー、LED・サーボモーターなどのアクチュエーターがあり、Seeed社から200種類以上のGroveデバイスが提供されています。ただし、すべてのGroveデバイスが使えるわけではないので、AkaDakoのウェブページ上で公開されている動作確認リストで事前にチェックしましょう。
2.Scratchでプログラミング
AkaDakoのプログラミング環境には、Scratchが採用され、プログラミングに必要な専用のブロックが拡張機能として提供されています。AkaDako用の短縮URL「http://145.jp/1」へアクセスすると利用を開始することができます。プログラミング環境の利用は無料です。
AkaDakoのプログラミング環境は、独自の拡張機能を読み込めるようにしたScratchモッド「Xcratch」です。モッド(mod)とは改造版という意味で、エクスクラッチと発音します。操作方法は、Scratch3と同じです。
短縮URL「http://145.jp/1」からXcratchにアクセスすると、あらかじめブロックパレットにAkaDako専用のブロックが追加されているので、すぐにプログラミングを始められます。
AkaDakoの接続を確認するプログラム
それでは、簡単なプログラムを作って、AkaDakoの接続を確認してみましょう。4つのブロックを追加して、次のようなプログラムを作ります。このプログラムは、AkaDakoの接続状態に応じて、吹き出し(「つながったよ」「うーん...」)を表示するものです。
AkaDakoとパソコンをUSBケーブルで接続します。USBケーブルは、充電専用ではなく、データー通信できることを確認しておきましょう。
プログラムを実行する(緑の旗を押す)と、AkaDakoへの接続要求が表示されます。一覧からAkaDakoを選択して、接続ボタンをクリックします。
ネコが「つながったよ」と言えば成功です。
つながったままの状態で、AkaDakoのUSBケーブルを抜きます。すると、すぐに接続が切れたことを認識して、ネコが「うーん...」と考えます。
AkaDakoの接続状態(接続中・切断中)は、ブロックパレットに表示されます。接続中は緑のチェックマーク、切断中はオレンジのエクスクラメーションマークです。マークをクリックすると、切断・接続の操作が行えます。
このように、AkaDakoの接続はとても簡単です。アプリを事前にインストールしたり、プログラムの転送やBluetoothのようなペアリング操作は一切必要ありません。AkaDakoとパソコンをUSBケーブルで接続するだけで、素早くプログラミングを始めることができます。
3.Groveデバイスを使う
AkaDakoの接続が簡単で、素早くプログラミングを始められることがわかりました。では、実際にGroveデバイスを接続して、プログラムから制御してみましょう。ここで使用するGroveデバイスは「Grove 光センサー v1.2」と「Grove LED(赤)」です。光センサーで明るさを測定して、暗くなったらLED(赤)を点灯するプログラムを作ります。
使用するGroveデバイス
光センサーは、センサー受光部の明るさを計測して、値に変換するデバイスです。暗くなると小さな値、明るくなると大きな値になります。プログラムから値を読み取ることで、さまざまな制御に用います。通信方式はアナログです。
LED(赤)は、プログラムからオン・オフできるLEDです。通信方式はデジタルです。
Groveデバイスの接続
まず、2つのGroveデバイスをAkaDakoに接続します。接続には、Groveデバイスに付属している4線式ケーブル(黒赤白黄)を使用します。
AkaDakoには、アナログ用端子・デジタル用端子・I2C用端子がそれぞれ二つずつあり、使用するGroveデバイスの通信方式に合わせて接続します。光センサーの通信方式はアナログなので、AkaDakoのアナログAに接続します。LED(赤)の通信方式はデジタルなので、デジタルAに接続します。
光センサーをアナログB、LED(赤)をデジタルBに接続することもできます。その場合、後続のプログラム中で指定する接続先が異なります。
光センサーの動作を確認する
接続ができたら、まず、アナログA端子に接続した光センサーの動きを確認しましょう。光センサーは、明るさを値に変換するデバイスです。プログラムからどう見えるのでしょうか。
AkaDako専用ブロックの中から「アナログA(A1)の値」を探します。このブロックは、アナログA端子に接続されたGroveデバイスの値を読み取るものです。ブロックの左側にチェックを付けると、光センサーの値がステージ(ネコが表示されている場所)上に表示されます。
光センサーを手で覆ってみたり、部屋を暗くして、値が変化するようすを確認しましょう。暗くなると値が小さく、明るくなると大きくなることがわかります。
ステージ上に表示された値が0のまま変化しない場合、いくつか原因が考えられます。
ネコの吹き出しが「うーん...」の場合、XcratchとAkaDakoが正しく接続されていません。AkaDakoとパソコンがUSBケーブルで接続されていることを確認して、プログラムを実行しましょう。
吹き出しが「つながったよ」の場合、光センサーがアナログA端子に正しく接続されていること、チェックを付けたブロックが正しいことを確認しましょう。
LED(赤)の動作を確認する
次に、デジタルA端子に接続したLED(赤)の動きを確認しましょう。LED(赤)は、プログラムからオン・オフできるLEDでした。どのようにオン・オフするのでしょうか。
AkaDako専用ブロックの中から「デジタルA(A1)を0にする」を探します。このブロックは、デジタルA端子に接続されたGroveデバイスに対してオン・オフする(ハイレベル・ローレベルを出力する)ものです。スクリプトエリアに移動して0から1に変更します。
ブロック左端にあるAkaDakoのアイコン付近をクリックします。正しく動作すれば、LED(赤)が点灯します。ブロックの1を0にして、クリックすると消灯します。このように、LED(赤)に対して、1(ハイレベル)・0(ローレベル)を出力することで、オン・オフを制御できることがわかります。
暗くなったら点灯するプログラムを作る
個別のブロックを使って、光センサーとLED(赤)の動作を確認しました。これらのブロックを組み合わせて、暗くなったらLED(赤)が点灯するプログラムを作ります。
では、暗くなったらとはどういうことでしょうか?光センサーの動作を思い出してみましょう。暗くなると、アナログA(A1)の値が小さくなると言うことでしたね。これをプログラムで表現すると次のようになります。暗く(アナログA(A1)の値が20より小さく)なったら~、そうでなければ~というプログラムです。20という値は目安です。
暗く(アナログA(A1)の値が20より小さく)なったらLED(赤)を点灯、そうでなければ消灯します。これをプログラムで表現すると次のようになります。
AkaDakoがつながったときに、ずっと繰り返して動作するようにすれば完成です。
一度、止めるボタンをクリックしてから、プログラムを実行します。光センサーを手で覆ったり、部屋を暗くした時、LED(赤)が点灯すれば成功です。
プログラム中の20という数字を変えると、LED(赤)の動作にどのような変化が見られるか試してみましょう。ステージに表示されたアナログA(A1)の値を確認しながら、プログラムの動きを考えると、より理解が深まります。