こんにちは。プログラミング クラブ ネットワーク : PCN の 原です。

あっという間の夏休みでしたね。たくさん遊べましたか?宿題に追われましたか?

自分の時間が沢山ある夏休み、僕たちPCNも各地でプログラミング関係のイベントが盛りだくさんでした。僕の地元:福井県では、7/30(日)にプログラミング体験イベント「プログラミングフェス 2017」を、福井新聞社さんと一緒に開催しました。160人(午前・午後 各80人)の小中学生が集まってIchigoJamでのプログラミングを体験できる内容。中級クラスでは、paprikaのウデにも使われているサーボモーターを配線し、お寺の鐘つきロボットを作って遊びました。

プログラミングフェス2017 講座

プログラミングフェス2017 サブスクリーン

プログラミングフェス2017 鐘つきロボット製作中

改造 : paprikaに目をつけよう

前回までの内容で、いろんなプログラムも組んでみて、paprikaを楽しく遊べるようになりました。さて、自動起動も出来たことだし、もっと「自律的」に動かすには、どうするとよいでしょうか? 自律というのは、paprika自身が自分で動きを決めて動くということです。うまくできると、もっと楽しくなりそうですね。

自律を考える前にクイズです。今の paprika だと、「自分で動きを決めるため」にできない大事なことがあります。何だと思いますか?

答えは「外の世界を知ることができない」です。僕たち人間で言う、視覚・聴覚・触覚に相当する機能がないので、paprikaは、進んでいる先に壁があっても気づかず、音がしても振り向いてくれないのですね。今回からは、この部分を改良して、paprikaに「目」をつけて、自律的な動作を目指してみたいと思います。

電子工作

paprikaに「目」をつけるには、何をするといいでしょうか? 答えは、電子工作をやってみる、です。第12回で紹介した「改造のヒント」の中から、電子工作の部分に少しフォーカスして説明します。

電子工作では、「目」にあたる部分は、センサーと呼ばれるパーツとして用意されています。視覚に相当するものとしては距離センサーや光センサー、聴覚に相当するのは音センサー(マイク)などです。paprikaの背中には、IchigoJamという強力な味方コンピューターが乗っていて、これらセンサーと連携したプログラムを作ることができるようになっています。今回は「目」にあたるセンサーとして、市販の 赤外線LEDを使った距離センサー(測距センサー) をpaprikaに追加して使うことにします。

IchigoJam 自身も IC・トランジスタや抵抗 という電子パーツを組み合わせて作られています。(IchigoJam プリント基板ハーフキット Tからスタートすれば、自分でハンダ付けをして、自分のコンピューターを作ることもできますよ)。電子とは書いてはいますが、学校で習う豆電球・モーターと電池をつなぐ電気と、基本のところは同じです。

プラスとマイナスが、IchigoJam本体上の表記・配線と、どのように一致しているかを図で紹介します。

プラスとマイナス、VCCとGND の表記と配線

改造のイメージ

今回の挑戦のゴールは「赤外線LEDを使った距離センサー」をつなげて、壁にぶつからずに動き続けるPaprikaに改造する!ことです。

距離センサーとは、センサーの前にある物体までの距離を教えてくれる電子パーツです。

IchigoJamとセンサーをつなぐ時の、おおまかなポイントは次の通りです (それぞれ詳細は説明を端折りますので、詳しくは「電子工作入門」などをご参照ください)。

・センサーの動作に必要な電圧が3.3Vか5Vである
・センサーが検知した値がデジタルかアナログである

今回選んだ距離センサーは、検知した値を「アナログ」で教えてくれます。IchigoJam では拡張コネクタの 「IN2」端子が「アナログ入力」に対応しているので、そこにセンサーの出力を接続して、プログラミングで扱うという概要になります。

作成イメージ図

それでは、お店でパーツを入手して、配線を行っていきましょう。

使う電子パーツの紹介 と 購入

今回使う電子パーツなどの材料は、次の通りです。

・測距センサー(距離センサー) :シャープ GP2Y0A21YK
・ジャンパワイヤー 10~20cm程度のオス-オス x 赤、黒、白 各色1本
・ブレッドボード (配線を試してみる時に利用)
・マジックテープ 少量 (距離センサー を Paprikaに止めるのに使用)
・セラミック コンデンサ 10μF (ノイズ防止用。IchigoJam Uの方のみ)

ブレッドボードは、同種のものがあれば大きさはどんなものでもOKです。電子パーツ同士の配線を簡易的に行えるので、入門時には最適。ひとつ持っておくと、他にも使える場面が多いです。

なお、兄弟機ソビーゴでは、距離センサーとして「シャープ GP2Y0E02A」が推奨されています。(ソビーゴはGP2Y0E02Aが配置しやすいボディになっています。Paprikaユーザーの方は、どちらでも入手が簡単な方をどうぞ) なので、こちらのセンサーについても、少し紹介します。

※セラミック コンデンサの用途は、IchigoJam U 向けに、後ほど紹介します。Tの方は、なくても大丈夫です。

電子パーツの購入

第3回で紹介したIchigoJamを購入できる各ショップに、電子パーツは販売されています。注意点として、電子パーツは種類が豊富なため、同じ商品が見つからなかったり、微妙な商品名の違いがあったりする点があります。わからない時には、お店の人に聞く・メールするなりして、一緒に探してもらいましょう。

今回は、手軽に確認できるネットショップ2店舗で買う場合のパーツリストを記載します。大人の人に相談して、購入してもらってください。

大阪 日本橋にも店舗のある共立電子の店 エレショップでPaprika向けに揃えてみます。配線のためにセンサー用のハーネスを一緒に買うことを忘れずに!

PSD測距センサ ( GP2Y0A21YKF6 )
PSD測距センサ用ハーネス( PSD-8NS )
ブレッドボード用ジャンパ線15cm×10本( PJA-1510)
 ※Paprika の MapleSyrup にも3本は同梱あり
カラフルブレッドボード 黄( BBJ-6014 )

次に、東京・秋葉原に店舗もある秋月電子通商さんで、ソビーゴ向け(Paprikaでも可能)の材料を揃えてみます。こちらは、前出のセンサーよりもさらに小型です。

シャープ測距モジュール GP2Y0E02A
ブレッドボード・ジャンパーコード(オス-オス)(10cm)20本セット
 ※GP2Y0E02Aの場合は、4本同じ長さのものを使うので購入しておきましょう
ミニブレッドボード BB-601(スケルトン)

ブレッドボードで簡単配線

電子工作でお試し配線を行いたい時には、ブレッドボードを使います。これの便利な点は、電子パーツや配線を、穴に差し込むだけで接続できること。間違ったなら差し直せばOK、というのが手軽で嬉しいです。ただし、抜けやすいので接続が決まればハンダ付けなどに変更するのがベストです。

ブレッドボードの特性の説明

コラム : 測距センサーの違い

今回紹介している測距センサーは、2種類あります。両方を取り扱っている、秋月電子通商さんのページの情報を元に比較してみましょう。

測定できる距離の範囲が異なるというのが一番の違いかと思います。使っている素子が異なるので内部の回路も異なり、必要な電源・電圧も異なりますね。大きさも、写真でみると違いがあります。

いずれも、IchigoJam/paprikaで利用することができますので、次回以降の詳細を確認して使ってみましょう。

2種類のセンサーを並べて比べる

ちなみに、方式の違いに興味が有る方は、オムロンさんのページの説明がわかりやすかったです。

では、次回は配線をしていきましょう。

著者紹介

原 秀一(はら ひでかず)
サーバー・ネットワークが得意なWebシステム系のITプロフェッショナル。福井工業高等専門学校 電子情報工学科、福井大学 情報工学科を卒業。学生時代はプログラミングから逃げ腰だったが、クラウド時代になり35歳から本格的にプログラミングを再開。IchigoJam等を用いたプログラミングを広める団体PCN(プログラミング クラブ ネットワーク)を友人と共に主宰し、主にアフリカ担当としても活動中。