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

冬休みは、どんな予定がありますか? 僕の住んでいる福井県福井市では、12月から雪がチラホラ降り出しています。山は真っ白で、道路に10cm程度積もった雪の上を歩いて通勤・通学する日があったりします。コタツにミカン、そして、これまで温めてきたアイデアをプログラミングするのに最適な季節ではないでしょうか?

僕達PCNでは、この冬も小中学生対象のPCNこどもプログラミングコンテスト2017冬を開催しています! 現在応募受付中で、締切は1月7日(日)。今回から、ソフトウェア部門とロボット・電子工作部門をわけて募集することにしたので、小中学の違いもいれて、最優秀賞は4つ! もちろん全国の企業・団体様からの協賛賞も多数用意しました。

この機会に、あなたが胸に秘めているアイデアを、ソフトウェア or ハード+ソフトウェアの形にして応募してみてください。paprikaの場合は、ロボット・電子工作部門でOKですよ!

さて、こどもロボット「paprika」の紹介も今回で最後です。冬休みのプロコン作品づくりのヒントになる改造ポイントをたくさん紹介します。

改造のヒント1 : センサーを増やす

この連載の14回15回では、距離センサーを使ってpaprikaの目を1つ増やしました。これを使うことで、正面に物体がある・ないをpaprikaのプログラムで判断可能になりましたね。

でも、1つだと足りないなぁと感じることもあります。例えば、正面じゃなく右前方に物体がある場合。もし前方の左右に両目があれば判断できるのに。もしくは、後ろから別のpaprikaが近づいてきた時。後ろにも目があればわかるのに、といった場合です。そんな時、もう1つ目を追加することができます。

2つ目の距離センサーは、IchigoJamのCN4 (MapleSyrupのCN3) にある BTN コネクタに、2つ目のセンサーのINを接続します。BTNにつないだセンサーの値は ANA(0) を使うことで取得できます。(IN2に繋いだセンターの値を ANA(2) で取得するのと同じ)

  • 2つの距離センサー

    2つの距離センサー

  • BTNにセンサーを接続

    BTNにセンサーを接続

これで両目になったので、右前方にだけある物体も、うまく避ける判断が可能になりました。

  • 2つの距離センサーを同時に計測

    2つの距離センサーを同時に計測

※注 : 後述ヒント2 : 自動起動とは、同時に使えません

改造のヒント2 : いつでも自動起動

なんども試行錯誤して組み上げたpaprikaのプログラム。もうプログラムは完璧だから、電源入れる度に勝手に動き出してほしい! こんな人もいるかもしれませんね。毎回、ボタンを押しながら電源をいれるのは、意外に忘れがちですし、メンドウです。

そんな時には、BTNとGNDをジャンパワイヤーでつなぎます。これで、ボタンを押しながら電源を入れるのと同じ動きになります。いつ電源をいれても、SAVE0したプログラムが自動起動してくれます。

  • BTNとGNDをジャンパーワイヤーでつなぐ

    BTNとGNDをジャンパーワイヤーでつなぐ

とっても簡単な改造だけど、IchigoJamやpaprikaが初めての人に使ってもらう時には便利な技です。

※注 : ヒント1 : センサーを増やすとは、同時に使えません

改造のヒント3 : IchigoJam 拡張コネクタ

IchigoJamには拡張コネクタCN3、CN4、CN5の3種類が用意されていて、コンピューターと他のセンサーなどを接続できるようになっています。。それぞれのコネクタのピンには意味があり、意味はピンの横に小さな文字で、どんな事に使えるかが書いてあります。

  • IchigoJam 拡張コネクタ

    IchigoJam 拡張コネクタ

  • MapleSyrup 拡張コネクタ

    MapleSyrup 拡張コネクタ

ピンは大きく3つに分類できて、「出力系(OUT x)」「入力系(IN x)」「その他」となります。

まず「出力系」は、OUT1 とか OUT2 と書いてあるピンです。paprikaの場合、MapleSyrupを乗せることで、OUT1 - 4 と 5, 6 を paprikaのウデのサーボモーター2個、足のキャタピラ用モーター2個を制御します(MapleSyrupはキャタピタ用モーターを動作させるための拡張ボード。サーボモーターだけであれば、MapleSyrupがなくてもIchigoJamに直接接続することが可能)。そのため、paprikaが正常動作する場合、すべての出力系が埋まっているのが基本となっていて出力の拡張はできません。でももし、ウデを動かす必要がなければ、その分の配線を外して、別の用途に使うことは可能です。

次に「入力系」の、IN1とかIN2と書いてあるピンです。paprikaでは、入力系INポート4つ(IN1 , IN2, IN3, IN4)、またBTN(IN0相当, ヒント1、2で紹介) が未使用ですので、センサーやボタンを追加することもできます。

「『目をつけよう』で工作したように、距離センサーをつける」、「光センサーをつけて、暗くなったら動き出すpaprikaにする」、「ボタンを接続して、ウデを動かす専用ボタンとする」などの拡張が可能です。

「その他」に分類したピンの説明は多様なので今回は省略しますが、その中で比較的使いやすいものをひとつ紹介。I2C(アイ スクエアー シー)という規格に対応したデバイスをつないで操作することもできます。

CN5上にあるSDAとSCLを利用して、IchigoJam BASICで、それらを操作するための I2CW, I2CRコマンドを使うことで、複数のI2Cデバイスを接続して操作することができます。少し高度な使い方になりますが、温度センサーや時計、多くのLEDやモーターを制御するためのボードなど、豊富なデバイスが用意されていますので、ネットや書籍で勉強して、挑戦してみてください。

もっと改造する・学ぶには?

ここまでのヒントでも、まだ足りない。そんな時は、書籍で学ぶ、友達と学ぶ、詳しい人に相談する、インターネットで調べる。こんな取組をしてみると、もっともっと学んで改造することができます。キーワードとなるのは、「IchigoJam、プログラミング、電子工作、ロボット工作」などです。

今回は、詳しい人がいるお店の紹介をしておきます。3回で紹介した、次のお店には、ロボット工作やプログラミングに詳しい人が必ずいるので、相談にいくと良いですよ。

東京・秋葉原

・PCN秋葉原 BY ASSEMBLAGE
・秋月電子通商
・aitendo/

大阪・日本橋

・シリコンハウス、デジット by 共立電子産業(大阪・日本橋)

全国各地

・マルツ電波 (仙台、静岡、浜松、名古屋、石川、福井、京都、大阪、博多など)

家の近くのIchigoJamや電子工作の相談にのってくれそうなお店は、季刊誌の電子工作マガジンさんが掲載している全国のパーツショップリストを参考にして、探してみてください。(すべてのお店がIchigoJamやロボットの取扱がある訳ではないため、事前にお電話いただくと良いと思います)

paprikaの拡張性は、作る人の「もっと知りたい! 」という気持ちを受け止めてくれます。あなただけの、素敵なMy paprikaを作ってください!!