「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

and more...

Lab.以外の情報を紹介しています。

Scratchから手軽にセンサーなどのデバイスが利用できる

AkaDakoの紹介とプログラミング

2022-02-052022-02-27

USBケーブルでパソコンと接続するだけで、光センサーやLEDなどさまざまなデバイスを、Scratchから制御できるようにする低価格な拡張ボード「AkaDako」を紹介します。

発売日のお知らせ

TFabWorks AkaDakoの発売日が、2022年2月28日00:00に決まりました。Amazonでの在庫はTFabWorks製品一覧でご確認頂けます。

1.AkaDakoとは

TFabWorksのAkaDakoは、USBケーブルでパソコンと接続するだけで、光センサーやLEDなどさまざまなデバイスを、Scratchから制御できるようにする低価格な拡張ボードです。アプリを事前にインストールしたり、プログラムの転送やBluetoothのようなペアリング操作は一切必要ありません。AkaDakoとパソコンをUSBケーブルで接続するだけで、プログラミングを始められます。

図1-1.Scratchから手軽にセンサーなどのデバイスが利用できるAkaDako
図1-1.Scratchから手軽にセンサーなどのデバイスが利用できるAkaDako

AkaDakoで制御できるデバイスは、Seeed社が策定したGroveという規格に準拠したデバイス(以下、Groveデバイス)です。4線式ケーブル(黒赤白黄)を使って、AkaDakoの専用端子に接続します。専用端子には、アナログ用・デジタル用・I2C用があり、それぞれ最大2つのGroveデバイスを接続することができます。また、AkaDakoの円形部分には、ワニグチクリップが取り付けられるパッド端子もあります。

図1-2.AkaDakoのGrove端子とパッド端子
図1-2.AkaDakoのGrove端子とパッド端子

Groveデバイスには、光・温度・音・水分・距離などを計測するセンサー、LED・サーボモーターなどのアクチュエーターがあり、Seeed社から200種類以上のGroveデバイスが提供されています。ただし、すべてのGroveデバイスが使えるわけではないので、AkaDakoのウェブページ上で公開されている動作確認リストで事前にチェックしましょう。

2.Scratchでプログラミング

AkaDakoのプログラミング環境には、Scratchが採用され、プログラミングに必要な専用のブロックが拡張機能として提供されています。AkaDako用の短縮URL「http://145.jp/1」へアクセスすると利用を開始することができます。プログラミング環境の利用は無料です。

Xcratch

AkaDakoのプログラミング環境は、独自の拡張機能を読み込めるようにしたScratchモッド「Xcratch」です。モッド(mod)とは改造版という意味で、エクスクラッチと発音します。操作方法は、Scratch3と同じです。

短縮URL「http://145.jp/1」からXcratchにアクセスすると、あらかじめブロックパレットにAkaDako専用のブロックが追加されているので、すぐにプログラミングを始められます。

図2-1.Xcratchの画面とAkaDako専用ブロック
図2-1.Xcratchの画面とAkaDako専用ブロック

AkaDakoの接続を確認するプログラム

それでは、簡単なプログラムを作って、AkaDakoの接続を確認してみましょう。4つのブロックを追加して、次のようなプログラムを作ります。このプログラムは、AkaDakoの接続状態に応じて、吹き出し(「つながったよ」「うーん...」)を表示するものです。

図2-2.AkaDakoの接続を確認するプログラム
図2-2.AkaDakoの接続を確認するプログラム

AkaDakoとパソコンをUSBケーブルで接続します。USBケーブルは、充電専用ではなく、データー通信できることを確認しておきましょう。

プログラムを実行する(緑の旗を押す)と、AkaDakoへの接続要求が表示されます。一覧からAkaDakoを選択して、接続ボタンをクリックします。

図2-3.AkaDakoへの接続要求
図2-3.AkaDakoへの接続要求

ネコが「つながったよ」と言えば成功です。

図2-4.AkaDakoが接続された状態
図2-4.AkaDakoが接続された状態

つながったままの状態で、AkaDakoのUSBケーブルを抜きます。すると、すぐに接続が切れたことを認識して、ネコが「うーん...」と考えます。

図2-5.AkaDakoが切断された状態
図2-5.AkaDakoが切断された状態

AkaDakoの接続状態(接続中・切断中)は、ブロックパレットに表示されます。接続中は緑のチェックマーク、切断中はオレンジのエクスクラメーションマークです。マークをクリックすると、切断・接続の操作が行えます。

図2-6.AkaDakoの接続状態(接続中・切断中)を示すアイコン
図2-6.AkaDakoの接続状態(接続中・切断中)を示すアイコン

このように、AkaDakoの接続はとても簡単です。アプリを事前にインストールしたり、プログラムの転送やBluetoothのようなペアリング操作は一切必要ありません。AkaDakoとパソコンをUSBケーブルで接続するだけで、素早くプログラミングを始めることができます。

3.Groveデバイスを使う

AkaDakoの接続が簡単で、素早くプログラミングを始められることがわかりました。では、実際にGroveデバイスを接続して、プログラムから制御してみましょう。ここで使用するGroveデバイスは「Grove 光センサー v1.2」と「Grove LED(赤)」です。光センサーで明るさを測定して、暗くなったらLED(赤)を点灯するプログラムを作ります。

使用するGroveデバイス

光センサーは、センサー受光部の明るさを計測して、値に変換するデバイスです。暗くなると小さな値、明るくなると大きな値になります。プログラムから値を読み取ることで、さまざまな制御に用います。通信方式はアナログです。

図3-1.Grove 光センサー v1.2
図3-1.Grove 光センサー v1.2

LED(赤)は、プログラムからオン・オフできるLEDです。通信方式はデジタルです。

図3-2.Grove LED(赤)
図3-2.Grove LED(赤)

Groveデバイスの接続

まず、2つのGroveデバイスをAkaDakoに接続します。接続には、Groveデバイスに付属している4線式ケーブル(黒赤白黄)を使用します。

AkaDakoには、アナログ用端子・デジタル用端子・I2C用端子がそれぞれ二つずつあり、使用するGroveデバイスの通信方式に合わせて接続します。光センサーの通信方式はアナログなので、AkaDakoのアナログAに接続します。LED(赤)の通信方式はデジタルなので、デジタルAに接続します。

図3-3.光センサーとLED(赤)の接続
図3-3.光センサーとLED(赤)の接続
Groveデバイスの接続先

光センサーをアナログB、LED(赤)をデジタルBに接続することもできます。その場合、後続のプログラム中で指定する接続先が異なります。

光センサーの動作を確認する

接続ができたら、まず、アナログA端子に接続した光センサーの動きを確認しましょう。光センサーは、明るさを値に変換するデバイスです。プログラムからどう見えるのでしょうか。

AkaDako専用ブロックの中から「アナログA(A1)の値」を探します。このブロックは、アナログA端子に接続されたGroveデバイスの値を読み取るものです。ブロックの左側にチェックを付けると、光センサーの値がステージ(ネコが表示されている場所)上に表示されます。

図3-4.光センサーの動作を確認する
図3-4.光センサーの動作を確認する

光センサーを手で覆ってみたり、部屋を暗くして、値が変化するようすを確認しましょう。暗くなると値が小さく、明るくなると大きくなることがわかります。

値が0のまま

ステージ上に表示された値が0のまま変化しない場合、いくつか原因が考えられます。

ネコの吹き出しが「うーん...」の場合、XcratchとAkaDakoが正しく接続されていません。AkaDakoとパソコンがUSBケーブルで接続されていることを確認して、プログラムを実行しましょう。

吹き出しが「つながったよ」の場合、光センサーがアナログA端子に正しく接続されていること、チェックを付けたブロックが正しいことを確認しましょう。

LED(赤)の動作を確認する

次に、デジタルA端子に接続したLED(赤)の動きを確認しましょう。LED(赤)は、プログラムからオン・オフできるLEDでした。どのようにオン・オフするのでしょうか。

AkaDako専用ブロックの中から「デジタルA(A1)を0にする」を探します。このブロックは、デジタルA端子に接続されたGroveデバイスに対してオン・オフする(ハイレベル・ローレベルを出力する)ものです。スクリプトエリアに移動して0から1に変更します。

図3-5.LED(赤)の動作を確認する
図3-5.LED(赤)の動作を確認する

ブロック左端にあるAkaDakoのアイコン付近をクリックします。正しく動作すれば、LED(赤)が点灯します。ブロックの1を0にして、クリックすると消灯します。このように、LED(赤)に対して、1(ハイレベル)・0(ローレベル)を出力することで、オン・オフを制御できることがわかります。

暗くなったら点灯するプログラムを作る

個別のブロックを使って、光センサーとLED(赤)の動作を確認しました。これらのブロックを組み合わせて、暗くなったらLED(赤)が点灯するプログラムを作ります。

では、暗くなったらとはどういうことでしょうか?光センサーの動作を思い出してみましょう。暗くなると、アナログA(A1)の値が小さくなると言うことでしたね。これをプログラムで表現すると次のようになります。暗く(アナログA(A1)の値が20より小さく)なったら~、そうでなければ~というプログラムです。20という値は目安です。

図3-6.暗くなったら点灯するプログラム(1)
図3-6.暗くなったら点灯するプログラム(1)

暗く(アナログA(A1)の値が20より小さく)なったらLED(赤)を点灯、そうでなければ消灯します。これをプログラムで表現すると次のようになります。

図3-7.暗くなったら点灯するプログラム(2)
図3-7.暗くなったら点灯するプログラム(2)

AkaDakoがつながったときに、ずっと繰り返して動作するようにすれば完成です。

図3-8.暗くなったら点灯するプログラム(完成)
図3-8.暗くなったら点灯するプログラム(完成)

一度、止めるボタンをクリックしてから、プログラムを実行します。光センサーを手で覆ったり、部屋を暗くした時、LED(赤)が点灯すれば成功です。

プログラム中の20という数字を変えると、LED(赤)の動作にどのような変化が見られるか試してみましょう。ステージに表示されたアナログA(A1)の値を確認しながら、プログラムの動きを考えると、より理解が深まります。

図3-9.暗くなったら点灯するプログラム(実行)
図3-9.暗くなったら点灯するプログラム(実行)

おすすめ

Grove 光センサー V1.2

Grove 光センサー V1.2

Grove LED(赤)

Grove LED(赤)

Grove LED(青)

Grove LED(青)

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動