東根中部小学校NOW

理科でプログラミングを学習しました

 6年生の理科では,電気のはたらきを学習しています。今まで,電気は発電所の発電機でつくられていること,電気エネルギーは,様々な電化製品などを通して,光,音,運動,熱などのエネルギーに変換されて使われていること,電気エネルーはコンデンサーなどに蓄電できること,などを学習してきました。

 プログラミング学習初日の今日は,家庭で使われているコンピュータで自動化されている電化製品を取り上げて,どんなところにコンピュータが使われているかを話し合いました。

 エアコン,テレビ,コンロ,給湯設備などは,電気の使われ方を温度,人感,光などの「センサー」使って制御していることが分かってきました。

センサーを生かせば,限りある電気エネルギーを効率的に使うことができるようです。センサーを生かし,どのような「プログラム」を作れば,電気エネルギーを効率的に使えるのかを考えていきます。いよいよプログラムの作成です。

 
 プログラミングソフトの使い方を学び,豆電球を点ける簡単なプログラムをつくりました。蓄電した電気を100%流し続けて点ける条件を取り入れました。手回し式発電機を使ってコンデンサーに蓄電です。コンデンサーに蓄電した電気を電源として,豆電球を電気を消費する変換パーツとして基盤につなぎました。電流の流し方を様々なセンサー使ってコントロールできる基盤をPCにつないで,つくったプログラムを走らせました。豆電球が点灯し歓声があがりました。でも100%の割合で電流を流したことが原因になったのか,豆電球はすぐに消えてしまいました。これではせっかく蓄電した電気がもったいないプログラムです。そこで,一度に電気を使わない,点滅プログラムをつくりました。でも,少しは長持ちしたとはいえ,さらに電気を効率よく使うプログラムが必要になってきました。

 今まで,①家庭にある家電製品にはセンサーが内蔵されているものがあり,内蔵されているものはコンピュータに信号を送って動作をコントロールしてこと。②コンピュータをコントロールする手順や計画をプログラムと言い,プログラムをつくることをプログラミングと言うこと。豆電球を点灯させるプログラムをつくるには,順序や命令が続く長さを考えなくてはならないこと。③点滅を続ける豆電球のプログラムをつくるには,命令の順序や長さだけでなく,必要な部分を繰り返せ〔反復しろ〕という命令を加えなければならないこと。の流れで学習を進めてきました。今日は,④点灯させたり,点滅を繰り返させたりするだけでは,電気を効率よく使うことはできないことから,人感センサーを使って人がいる時だけ電気を流すことや暗くなってから電気を流す,センサーを使ったプログラムづくりと検証に挑戦しました。いきなりセンサーを2つ使うプログラムは難しいので,今回は1個,次の時間は2個使ったプログラムに挑戦することにしました。

 人感センサーをテストモードにして,人がいない時といる時のセンサーが示すパラメータ〔数値〕を見て,記録しました。記録をもとに考え,センサーのパラメータが〇〇ならば電気を流す,そうでなければ電気を止めるという命令が必要だと気付きました。「もし〜ならば,でなければ」という条件によってちがう命令を出せるブロックと,全体を「ずっと繰り返す」という命令を出すブロックもプログラムに加えていきます。人がいると豆電球が点滅し,いなくなると消えるというプログラムが完成しました。豆電球やセンサーなど必要な機器を組み立てて,プログラムを走らせると,プログラム通りに動き,またまた大きな歓声があがりました。

 さらに,人がいても,明るいときは見えているので点滅を止めても良いのではという考えから,光センサーを取り入れて,「人がいる」かつ「まわりが暗い」時に点滅させ,「人がいない」だけでなく「まわりが明るい」時も電気を止めるプログラムに発展させました。コンピュータを計画通りに動かすために,たくさん考えることができたようです。この学習を通して,コンピュータは思った通りに動かないが,〔プログラム〕した通りに動く。プログラムをつくってすぐ動くわけではなく,実際に動かしながらセンサーのパラメータや時間を調整しなければいけないことに気付いたようです。すばらしいですね。