21世紀型の学び

冬休みの自由研究的に電子工作を一から学びました。電子工作が少しできるようになった以上に、21世紀型の学びとはこういうものなのかと学ぶことについての学びを得られました。

 

電子工作の世界に足を踏み入れることになった理由

 

昨年末に生まれて初めて秋葉原に電子部品を買いに行きました。そういうことになったいきさつはこうです。

 

  1. 和紙を使った作品をつくるイベントを仕事で企画することになった
  2. どうすればより面白い企画になるかを考えた末、電子工作を組み合せることにした
  3. 電子工作で何がどこまでできるのかを理解するために、TechShopで開催された電子工作入門編「Arduinoで電子工作をはじめよう!」講座を受講した
  4. イベントから生まれた作品は公共の場所に期間展示することになっていたので、電子工作で作品展示を見た人数をカウントしたいと思った
  5. 受講した電子工作入門講座の講師をつとめた有山さんに人数カウントについて相談したら、自作を条件にハンズオンで教えてくれることになった
  6. 有山さんに制作に必要な部品や購入できるお店のアドバイスをもらって、部品の買い出しに行った

  

正直に告白すると、5.の相談した時、有山さんが作ってくれるんじゃないかと甘い期待を抱いていました。今にして思えば、ここが運命の分かれ目でした。有山さんが「いいよ、そんなの朝飯前だ。作ってあげるよ」と言っていたら、私が電子工作の世界に足を踏み入れることはなかったでしょう。

 

実際のところ、どれくらい難しいのかはその時点ではあまりわかっていませんでした。Arduinoという名前だけは以前から聞いたことがあったけれど、こんなに小さくて安価なコンピュータが一般的に手に入り、開発環境がフリーで公開されていて、自作できる環境がここまで整っていることは入門講座を受講して初めて知りました。入門講座では、Lチカと呼ばれるArduinoを使った電子工作のはじめの一歩を動かしました。入門講座を受講して、プログラムは書けそうかもと思ったけれど、物理が苦手だった私に回路図の配線ができるイメージはもてませんでした。

 

f:id:n-iwayama:20170115200158j:plain

           ArduinoでLEDライトを光らせるLチカ

 

でも、どうしても人数カウントはとりたかったので、「自分で作ります。わからないことがあったら教えてください」と有山さんに伝えました。どんな電子部品を買えばいいか、どこで買えるのかを有山さんに親切に教えてもらって、いざ秋葉原の秋月商店に向かいました。

 

秋月商店に行ってみてびっくりしました。せまい店内には所せましと何種類もの電子部品が並べられていました。店内で動く範囲はせまいのですが、膨大な種類の陳列商品の中からお目当ての品をどうやって探せばいいのかと途方にくれました。焦電センサーと距離センサーはなんとか自力で見つけたものの、SDカードシールドは分類カテゴリー名がわからず自力での発見をあきらめ、お店の人に聞きました。

 

もうひとつお店に行って驚いたのは、お客さんがいっぱいいたことです。その店に売っていたのは電子部品なので、基本的に自作する人しか来ないはずです。今やありとあらゆるものが商品として売られている時代に、自分でモノづくりをする人がこんなにもたくさんいるんだとお店に行って初めて知りました。しかも、私が行った時間帯のお客さんは男性ばかりでした。この手のモノづくりは男性の方が多いのは、その昔、中学校の技術家庭では、男子は技術、女子は家庭と分かれていたことを考えるとわかる気がします。

 

インターネット以後の学び

 

秋葉原で所望の電子部品は買ったものの、部品に添付されていたのは、部品の技術仕様と回路図が書かれた資料1枚だけでした。電気製品についてくる詳細なマニュアルとは大違いで、添付されていた資料は、私にとっては何の情報にもならないに等しいものでした。

 

f:id:n-iwayama:20170115200426j:plain

                 焦電センサー

 

f:id:n-iwayama:20170115200452j:plain

            焦電センサーの添付資料

 

インターネット以前であれば、先生から教えてもらうか、教科書的なものやマニュアルで学ぶかが主流でした。今回の場合、そのどちらも不可だったわけです。そこでどうしたかというと、インターネットで検索しました。本当に今はどんな情報でもネット上にあるものです。私が購入したセンサーをArduinoにつなぐ回路図もセンサーからの値を取得するプログラム例も見つかりました。検索結果の回路図の画像を参考にして自分で回路をつなぎ、プログラム例を参考にしてプログラムを書きました。そうしたら、ちゃんと動いて、センサーから値が取得できました。

 

第一弾で購入した、焦電センサー、距離センサー、SDカードシールドの3種類の電子部品をArduinoに接続して動作を確認することは、インターネット検索を駆使して、思っていたほどに難しくなくできました。

 

ここまでできたら、時刻情報も取得して、人が来たタイムスタンプつきでカウントできるようにしたいと欲が出てきました。そのためには、RTCモジュールという現在時刻を取得する電子部品が追加で必要になります。こちらもインターネットで色々調べてみると、種類が複数あるし、第一弾で購入したものとはちょっと違って、ハンダ付けが必要になりそうな感じでした。「あー、ハンダ付けまではちょっと手が出せないなあ」と思って、ここでまた有山さんにハンダ付けなしで動かせる部品を教えてほしいと相談しました。またもや有山さんが親切に部品とお店を教えてくれました。

 

年始休暇が明けてから、今度は秋葉原のaitendoというお店に電子部品を買いに行きました。ところが残念なことに、お目当ての電子部品は在庫切れでした。次の納入時期を店員さんに尋ねると、2~3週間先になるとのことでした。

 

aitendoの店員さんは全員が女性でした。しかもアジア系の外国人。店内での様子を観察すると、店員さんがもっているスキルは、日本語での会話、レジでの精算、商品IDから陳列場所を探す、部品を袋に詰めるであることがわかりました。おそらく、「Arduinoで制御できるハンダ付けなしのRTCモジュールはありますか?」と聞いても店員さんは答えられなかったのではないかと想像します。店員さんには扱っている商品の専門知識は要求しない、aitendoはそういうお店だと思えました。

 

冬休み中の時間があるうちに一通り試しておきたかった私は、「今、秋葉原のaitendoにきてるけど、教えてもらった部品が在庫切れ。他にハンダ付けなしで使えるRTCモジュールを教えてほしい」とメッセージで有山さんに連絡しました。今この場で部品を手に入れたいと思いましたが、自力でのネット検索では部品購入の知識が足りないことはお店に来る前にわかっていたので、有山さんに連絡しました。有山さんとは数ヶ月前に知り合ったばかりです。電話でなければ連絡がとれないのであれば有山さんへの連絡は断念していたと思いますが、メッセージでの連絡は相手に選択権があるので連絡しやすいというハードルの低さがありました。これもインターネット以後だからこそできたことです。幸いなことに、有山さんから返信をもらうことができて、aitendoでRTCモジュール部品を無事にゲットしました。

 

つくりながら学ぶ

 

人数をカウントをしたいと有山さんに相談した時に、「焦電センサー」か「距離センサー」を使ってみればよいと教えてもらいました。焦電センサーは、別名で「人感センサー」と呼ばれています。そうです、人がくると自動で電気がつき、いなくなると消灯する時に使われているあのセンサーです。距離センサーはその名の通り、センサーからの距離の測定値を返すものです。この2つのセンサーを教えてもらった時、人数をカウントするなら人感センサーで決まりじゃないか、距離センサーはその機能からすると用途に適していないんじゃないかと思いました。でも、何度も秋葉原に買いに行くのも面倒だったので、それぞれ1個ずつ購入しました。

 

まずは焦電センサーをArduinoにつなげて、センサーからの値をとってみました。自分で動いてセンサーの感知範囲に入ってみると、仕様にある通りセンサーから返ってくる値が大きくなりました。ここまでは予想通りでした。感知範囲内でちょっと動くと、やっぱりセンサーからの値が大きくなりました。感知範囲内から出る方向に動いても、センサーからの値が大きくなりました。人感センサーという名前と、人感センサー付きの照明の動きの経験から、感知範囲内に人がいる場合といない場合の区別をセンサーからの情報でとれると思い込んでいた私の予想は見事に裏切られました。

 

焦電センサーは、感知範囲内で物体が動いた場合と、感知範囲内で何も動きがない場合の区別をセンサー値で返すものでした。人感センサーつきの照明器具の場合にはこのセンサーが適しているわけです。

(a)感知範囲内で物体の動きを検知したら照明を点灯する

(b)感知範囲内で物体の動きを検知してから、一定時間内に感知範囲内で物体の動きの検知がなければ照明を消灯する

 

(a)によって、部屋に人が入ってくれば自動点灯でき、部屋の中で動いている限り、点灯したままになります。

(b)によって、部屋から人が出ていってから一定時間が経過すると、自動消灯できます。

 

私がやりたかったのは、ある範囲内に入ってきた人数をカウントすることだったのですが、焦電センサーでは、「感知範囲内に人が入って来た時」、「感知範囲内で人が動いた時」、「感知範囲内から人が出て行った時」のいずれの場合かを区別できません。焦電センサーは私のやりたいことに使うのは適していないと判断しました。

 

次に、距離センサーをArduinoにつなげて、センサーからの値をとってみました。距離センサーの前に立つと、センサーから返ってくる値が大きくなりました。立つ位置を距離センサーから遠ざけると、それに応じてセンサーからの値が小さくなりました。距離センサーからの距離を測れる範囲に制限があるので、その範囲を超えると、センサーから返ってくる値はほとんど同じ値に変わりました。

 

距離センサーは、距離センサーのほぼ真正面の感知範囲内で、物体がある場合と、物体がない場合の区別をセンサー値で返すことができました。距離センサーのほぼ真正面の位置という制約はつきますが、ある範囲内に入ってきた人の人数カウントができそうだという感触を得ました。

 

有山さんから聞いた時には、距離センサーなんて関係あるのかなと思っていましたが、実際に動かしてみて、距離センサーの現実世界での動きを確認して、ようやくその意味を理解しました。やっぱり、やってみないとわからないものです。

 

焦電センサーも距離センサーも、その動作確認はできましたが、何の問題もなくできたというわけではありません。PC上で書いたプログラムをArduinoに書き込もうとしたのにできなかったり、センサーからの値が何をやっても同じ値しかとれなかったりと、それなりに問題はおこりました。何しろ、特に回路図なんかは何だかわからないままに、見よう見まねでつないで動かしてみるということをやっていたのですから。

 

「つないでみる→動かしてみる→結果を見る→思った結果にならない→つなぎ直してみる→動かしてみる」を何度も繰り返しながら、思った通りに動いたところでようやく、なるほど、こういうことかと理解していきました。例えば、ArduinoのONの緑色のランプが点灯していなければ、配線がうまくできていないので、プログラムをArduinoに書き込むことはできないわけです。何度か試してみて、書き込みがうまくいった場合とうまくいかなかった場合では、このランプが点灯しているかどうかの違いがあることにようやく気づきました。これに気づいてからは、ランプの点灯をまず確認するようになりました。

 

インターネットに参考情報が載っているとはいえ、正しく設定したつもりでも動かないことはおこります。そんな時、隣りに先生がいない状況では、わからなくても試行錯誤する以外にありません。わからないからといって手をとめない。わからない状態でも手を動かすことでわかるようになるのは、プログラミングしたものは、目の前でリアルタイムに何らかのフィードバックを得られるからです。例えそれが動かないというフィードバックであってもです。

 

冬休みの間に読んでいた、鷲田清一先生著作の「おとなの背中」の中にこんな一節がありました。

子育て、介護、失業者支援など、正解というものがないままに、それでも眼をそらさずに取り組まないといけない問題は、身近なところにもいっぱいある。そのとき、わたしたちに必要なのは、わかりやすい解決ではなく、わからないものをわからないままにあれこれと吟味する、しぶとい知性というものだろう。

 

わからないものをわからないままにあれこれと吟味することに、電子工作はとてもむいていると感じました。

  

つくることで学ぶ

 

今やIoTが時代のキーワードとなって、センサーからデータを取得するといった話題には事欠きません。センサーからのデータ取得なんて専門的な知識や技術が必要なんだろうと思っていましたが、案外簡単にできることなんだとやってみてわかりました。しかもセンサー1個の値段は1000円以下です。自分で試しに作ってみるのに十分に手が出る値段です。自分でプログラムを組んでみると、どういう仕組みでセンサーと連動して動くのかも何となく理解できました。

 

今回、ある場所に来た人数をカウントをするという、ごく簡単な仕組みを自作してみてわかったことは、つくり手になることで人は賢い消費者になれるということです。技術の複雑化によって、技術が使われた仕組みはブラックボックス化してしまい、何がどうなっているのか一消費者にはわからなくなりつつあります。けれども、簡単なものでもつくってみると、何となくはわかるようになります。そうすると、動かなくなった時にも完全にお手上げになるのではなく、多分、こういうことがおこってるんじゃないかという見通しが立てられるようになります。

 

また、価格的にもどれくらいのものなのかの目安がつくようになります。自分には全くわからないものであれば、それくらいの値段がしても仕方がないのかなと思ってしまいますが、材料の原価がわかって、どうやってつくれるのかがわかれば、相手の言い値の妥当性が判断できるようにもなります。

 

そして何よりもモノをつくる喜びは実際につくることでしか学べません。この喜びを学べることの重要性は強調してもしすぎることはありません。

 

 

最も重要なのは好奇心

 

電子部品を購入して自作することをやってみて一番驚いたことは、有山さんのまさにハンズオン支援を受けて、なんとかRTCモジュールをゲットしてお店を出た後の私自身の行動でした。なんと私は小走りで秋葉原の駅に向かったのです。別に急ぐ必要なんて何もなかったのです。普通に歩いて駅に向かえばいいものを、はやる気持ちに後押しされて、自然と足を運ぶスピードが速くなっていました。

 

どうしても人数カウントの仕組みを作りたいと思っていたことに加えて、年末に電子工作に取り組んでみて、現実に何かが動くフィードバックがある面白さに目覚め、「早くRTCモジュールを試してみたい」という気持ちが私を小走りで駅に向かわせたのです。モノづくりの根底に必要なのは好奇心だとはっきりわかりました。

 

変化の激しい時代には、トライアンドエラーを素早く回すことが大事だと言われます。「まずやってみろ」という言葉があちこちで聞かれます。でも、「やってみろ」と言われたからやってみるというほど人間は単純にはできていないことは誰もが知っています。

 

私は、自分のとった行動を振り返って、気鋭の国語教師だった大村はま先生の言葉を思い出しました。

"考えなさいといった人"ではなくて、"考えるということを本気でさせた人"が一番えらい」

 

「考える」を「やってみる」に置き換えるとこうなります。

"やってみなさいといった人"ではなくて、"やってみるということを本気でさせた人"が一番えらい」

 

今回の例で言うと、やってみるということに本気になった原因がプログラミングだったわけです。プログラミングをすれば、現実にモノが動き、失敗しても何度でもやり直しができます。そのことを体験的に学んで、どんどんプログラミングをやってみたくなったのです。その上、現実世界でモノを動かせることは好奇心をそそります。

 

今、文科省でプログラミング教育の必修化についての検討がなされています。確かにIT人材が不足していると言われるけれど、全員にプログラミングは必要なのかな?と疑問に思っていました。が、今回の経験で、ようやくプログラミング教育の本質的な意義を理解できました。IT人材の不足を補うためではなく、やってみる人になるために、好奇心を育むために、プログラミング教育は必要なのです。言い換えれば、21世紀型の学びをできるのがプログラミング教育なのです。