みちともブログ

一部上場企業でシステムエンジニアとして情報社会の第一線で15年間働き、さらにその後17年間高校教師として教育現場の最前線で子供たちの教育にあたって、さまざまな経験を積みました。社会人経験者教員としての経験をもとに、みんなの暮らしや教育の課題・悩みを解決する方法を紹介します。

小学校プログラミング教育開始!家庭でもできるプログラミング体験方法

f:id:michitomo2019:20200215173758j:plain

 みなさんは、身の回りにはマイコンがたくさんあり、実際に使っているのをご存じでしょう。でも、「自分がプログラムを作ってマイコン制御を行う」というと、難しそうで引いてしまう方が大勢いるのではないでしょうか?

 でも、今年から、小学校でプログラミング教育が必修になります。科目「プログラミング」ができるわけでないですが、プログラミングを通して論理的思考を育てる教育が強化されます。

miraino-manabi.jp

 自分の時には教わらなかったからと言って、保護者が「プログラミング教育」を学校やIT教室など一部の大人に任せにしてしまうのはよくないと、私は思います。子どもたちの知識だけが進んだり、間違った方向に進んだ場合、保護者をはじめとした多くの大人が対応できなくなるのではないでしょうか。

 そこで、今回は、マイコンを使って遊び、プログラムを作ることがそれほど難しくないことをお見せしたいと思います。きっと、子供たちが学校で勉強していることを理解するのに役立つと思います。

 

 

プログラミング環境は、家庭でも安価に作れます。

f:id:michitomo2019:20200215181233j:plain

 世間にはプログラミング教育教材として、数万円もするロボット教材などが販売されていますが、正直、そんな高価なものは必要ないと思います。

 過去に、自分の子供のために3万円ほどのロボット教材を購入した経験がありますが、結局のところ、本人が興味を持たなかったっために無駄になったしまった経験があります。

 子供の興味に応じたレベルの教材を提供するのがベストです。はじめから、「なんでもできるけど、どう使ったらいいかわからない教材」よりも、「できることは限られるけど、試してみたいことだけができる教材」がいいと思います。

 そのため、高校の授業では、生徒の興味に合わせて教材を手作りしていました。下の写真で紹介するものは、授業で使っていた教材を再現したものです。

1 パソコンを使ってマイコンのプログラムを作成します。

 今回はArduinoというマイコンモジュールのプログラムをつくるので、Arduino IDEというプログラムを作るための専用ソフトウェアをパソコンにインストールしました。

 無料でダウンロードして使うことができます。

 なお、マイコンにはたくさんの種類があり、使うマイコンシリーズが変わると、プログラムをつくるためのソフトウェアも変える必要があります。

2 マイコンは、プログラムを実行してLEDを制御します。

 ArduinoというマイコンモジュールのシリーズのArduino Pro Mini上位互換品を使いました。

 Arduinoには互換品がたくさんあり、とても安く手に入ります。もちろん、多少の手間が増えることがありますが、ドライバをインストールする手間はかかりますが、性能は問題ありません。

 なお、Arduinoは、プログラム例がたくさんインターネット上にあり、また、本も出版されているので、初心者が取り組みやすいマイコンです。

 参考:AE-ATMEGA328-MINI(上位互換品)  780円 (秋月電子通商)

3 通信ケーブルは、パソコンで作ったプログラムをマイコンに伝えます。

 プログラムやデータの送受信ができます。

 インタフェース変換ボードとUSBケーブルで構成しています。

 インタフェースボードは、USBの信号をマイコンボード用の信号に変換するものです。

 マイコンによっては、直接USBケーブルを接続できる場合もあります。

  参考:FT-232RQ USBシリアル変換モジュール  980円

     USBケーブル(Aオス-マイクロBオス)  120円

                              (秋月電子通商)

4 LEDは、マイコンから制御される対象です。 

 マイコンからの制御内容を確認したい場合、LEDを使うと必要な部品が少なくて済むのでよく使われます。

 LEDで制御のしかたを理解してから、モーターなどの制御を行います。

  参考:高輝度5mm赤色LED(10ケ入り)  150円

     ユニバーサル基板            100円

     抵抗(100本入り)          100円

     ICソケット               60円

                       合計 410円

                             (秋月電子通商)

5 電池は、LEDを点灯させるための電源です。

 100均の単三電池(+1.2V)を4本直列にして使っています。とても便利です。

  参考:電池ボックス(単3×4本)       110円(秋月電子通商)

 

マイコン制御でフラッシャーを作りました。

 ところで、昭和の電子フラッシャー付き自転車や特撮TVドラマに出てくるのナイト2000(人工知能搭載のスーパーカー)をご存じですか。当時、流れるようなランプの点滅が、多くの少年たちの心をつかみました。

これを知っている人は、昭和生まれだ!

 そこで、昔をしのび、マイコンを使って、LEDの光が流れるように点滅するフラッシャーを作ってみました。

 下の写真は、フラッシャーの動作です。

f:id:michitomo2019:20200215125158j:plain

実際に、制御プログラムを考えてみましょう。

最初に、左から1番目のLEDを点滅させてみましょう。

f:id:michitomo2019:20200215125208j:plain

 上の図のようにLEDを点滅させるには、下図のようなプログラムを作ります。

 左から1番目のLEDを点滅させるには、黄色の部分を3か所「1」にします。f:id:michitomo2019:20200215125217j:plain

 

 次に、左から2番目のLEDを点滅させてみましょう。

f:id:michitomo2019:20200215125232j:plain

 プログラムは、下の図のように、黄色の部分を3か所「2」にします。

f:id:michitomo2019:20200215125239j:plain

それでは、8番目のLEDを点滅させる場合には、プログラムをどのようにしたらいいか考えてみてください。

f:id:michitomo2019:20200215125303j:plain

 

 

 

 

 

 

正解を表示する

 答えは、下のプログラムのように、黄色の部分を8にすればいいだけです。

 予想した通りでしたか?

f:id:michitomo2019:20200215125317j:plain 

 

 

 

 

 

単純なプログラムでも、面白いことができます。

 もう、最初にお見せした電子フラッシャーのように光らせたときの実際のプログラムをだいたいイメージできたのではないでしょうか?

 LEDの状態とプログラムの対応を見ていただければと思います。

 「LEDを制御」などと言うと大げさのようですが、実は、4つのLEDの状態を繰り返しているだけです。

 もし、光る順番を変えたてければ、dijitalWriteの命令を入れ替えればいいだけです。

 以外に短く、また、少ない命令でプログラムができることに驚きませんでしたか?

f:id:michitomo2019:20200215125150j:plain 

マイコン制御は簡単。プログラミング教育を他人にまかせきりにしないで!

 「プログラムを作る」ということには、非常に難しいイメージがあります。

 子供たちに、プログラミング教育が始まるということで、とても難しいことが始まるように思えますが、実はプログラムを作ること自体はそれほど難しいことではありません。(少なくとも、子どもたちが実際にやることは)

 決して、「マニュアル通りプログラムをいじれること」が重要ではありません。

 子供たちが自らLEDを光らせたい、あるいはロボットを動かしたいと思い、プログラムをどのように書けばよいか順を追って考えようとすること(論理的思考)が重要です。

 そのためには、大人(保護者)の関わりが必要です。子供たちが作ったプログラムの工夫した点を聞いてあげて、褒めてあげることです。それは、大人が、プログラムの作り方の細かい点を知らなくともできます。

 これから小学校で始まる「プログラミング教育」を無駄にしないために、保護者が大きくかかわるべきだと思います。

 

まとめ

  小学校でプログラミング教育が必修になることを機会に、次の事柄についてお話ししました。

 1 プログラミング環境は、家庭でも安価に作れます。

 2 マイコン制御とは、こんなことをすることです。

 3 実際に、制御プログラムを考えてみましょう。

 4 単純なプログラムでも、面白いことができます。

 5 マイコン制御は簡単。プログラミング教育を他人にまかせきりにしないで!

 マイコン制御がそれほど難しいことでないと感じていただけたらうれしいです。

 今後も、ITに関する情報をお伝えしたいと思います。ぜひ、ITを特別なもの(難しいもの)に思わず、子どもたちのプログラミング教育にかかわっていただけたらと思います。