プログラミング未経験の1年生も3か月間で「自動灌水装置」を開発

情報

公立

茨城県

茨城県立IT未来高等学校

複雑な開発工程をパッケージ化。「やり遂げる体験」が今後の学びの基盤に:茨城県立IT未来高等学校

  • 取材・文・撮影:西田理乃(教育家庭新聞社)
  • 編集:TOPPAN
  • 素材提供:茨城県立IT未来高等学校

この記事をシェアする

1年「ITセミナー」の授業では、「笠間の菊まつり」に展示する菊の栽培のために「自動灌水装置」の開発に取り組んでいます。入学したばかりの1年生はプログラミング未経験であることも多く、時間の制約もあるなか、生徒たちは各種センサとマイコンボード「Raspberry Pi Pico W」、プログラミングソフト「Thonny」を活用。生徒が取り組む作業と学びのポイントを絞った授業を展開しました。複雑なプログラムコードや組み立て部品は教員が予めパッケージ化して用意し、最適な水やりのタイミングを自分たちで考えること、実際に稼働するシステムをつくり上げ自動制御の全体像をつかむことを促しています。

お話を伺った先生

画像
寺阪 怜二(てらさか れいじ)先生 情報科

IT企業勤務を経て2024年度同校に着任。1年「総合的な探究(通称ITセミナー)」「情報の表現と管理」、2年「情報セキュリティ」「情報システムのプログラミング」の授業を担当。

画像
高橋 剛(たかはし ごう)先生 情報科

工業高等学校教員を経て2024年度同校に着任。1年「情報産業と社会」、2年「メディアとサービス」「コンテンツの制作と発信」の授業を担当。実習助手として情報科の授業を柔軟に補佐。

授業資料

事例概要

実践している学校・学科

茨城県立IT未来高等学校・情報科1年 ITセミナー(総合的な探究の時間)

利用しているデジタル教材・デジタル環境

温度湿度センサ土壌水分センサ、Raspberry Pi Pico W、Thonny(フリーウェア)、プログラミング言語Python、Google for Education、コンピュータ室(6室のうちプログラミング室を利用)=デスクトップPC(Windows)41台、生徒用端末(個人所有)

どのような学びが可能になったか

・プログラミング経験のない生徒も多いなか、授業週1回・約3か月という限られた時間で、ポイントを押さえた授業設計と教材準備によりミッションをやり遂げる体験ができた。

・目指すべき灌水動作を、自分で考え試行錯誤しつくりあげる、課題解決の学びを実現。

支援や事前準備のポイント、工夫

・プログラミングやものづくりの工程を簡略化。センサやモータを動かすためのプログラムをライブラリとして用意。センサ類のはんだ付けを教員が予め行うなど、装置開発におけるソフト面、ハード面をある程度パッケージ化。生徒自身で限られた期間内にやり抜けるようにした。

学校のPCや個人所有の端末でもプログラムの読み込み・書き込みができ、無線LANにも接続できる「Raspberry Pi Pico W」と、さまざまなOSに対応している「Thonny」の組み合わせで、屋外での活動を可能にして柔軟性の高い開発環境とした。

・各種センサで計測したデータは、無線LANを通じて自動で「Google スプレッドシート」に記録されるように設定。生徒が互いのグループのプログラムを共有し、各種センサの値をPC上で確認できるようにして、生徒の情報共有や学び合いを後押し。

導入・活用の成果・今後の予定

・試行錯誤でやり遂げた体験は、今後の主体的な学びや探究的な学びに活かすことができる。

・まず全体像を体験して生徒自身がなるほどと納得する授業設計を検討したことは教員として今後の学びの改革の挑戦につながる。

・センサで計測した気温や湿度、土壌水分などのデータは、生徒それぞれがプログラムで設定したタイミングで記録している。今後、このデータと自分たちで設計したプログラム、菊の成長具合の記録を併せながら、取得したデータから何がわかるかを分析し、最適な灌水方法や、ねらった時期に開花を合わせる方法など、さらなる試行につなげたい。

1年生が約3か月間で「自動灌水装置」を開発

例年10月に開催される「笠間の菊まつり」に向けて、笠間市では市内の小・中・高校に菊の苗を提供し、それを各校で数か月かけて育て上げるという市民参加型の取組を行っています。

土日や夏休み期間も含めて菊は日々の水やりが必要です。この菊栽培の取組と水やりの効率化という課題を、情報技術教育の単科校である本校ならではの視点で取り組みたいと考え、1年「ITセミナー(総合的な探究の時間)」で「自動灌水装置」の開発を行いました。

まずは菊の苗が届く7月までに自動灌水装置をつくりあげる必要があります。どのようなタイミングでどれくらいの量の水をやるのか3人一組になり、生徒それぞれが思い描く水やりのアルゴリズムをフローチャートで検討し、それをプログラムに落とし込みます。菊の苗が届いたら、実際に菊の鉢に自動灌水装置をセッティングした水やりが始まります。

マイコンボード「Raspberry Pi Pico W」に温度湿度センサ、土壌水分センサと水をくみ上げるモータを取り付けた自動灌水装置。乾電池ボックスには単3電池3本が入る。

マイコンボード「Raspberry Pi Pico W」に温度湿度センサ、土壌水分センサと水をくみ上げるモータを取り付けた自動灌水装置。乾電池ボックスには単3電池3本が入る。

生徒は菊の様子や、温度湿度センサ、土壌水分センサの値を見ながらプログラムの内容を日々調整していました。電池の残量や日照状況、菊の様子の確認など、菊の生育状況はさまざまな要素に左右されます。10月24日の出品当日は、無事に満開を迎えた菊、これからつぼみが開こうとしている菊などさまざまな菊が並び、プログラムの違いが反映されるものになりました。

この自動灌水装置ではセンサにより計測された気温や湿度などのデータが蓄積されています。そのデータ取得のタイミングも生徒のプログラムによって異なります。取得したデータからは何が読み取れるのか。美しい菊や成長が遅い菊では何が異なるのか。成長の進度をコントロールできるのか。そもそもデータ分析のためにはどの程度の頻度でのデータ収集が適切なのかなど、10月以降は「情報の表現と管理」の授業でデータ分析に取り組む予定です。

「笠間の菊まつり」への出品当日、生徒たちは美しく咲いた菊(ポットマム)の鉢をきれいに整えた。

「笠間の菊まつり」への出品当日、生徒たちは美しく咲いた菊(ポットマム)の鉢をきれいに整えた。

指導上の工夫~「Raspberry Pi Pico W」と「Thonny」で初心者でも取り組みやすく

今回利用したマイコンボード「Raspberry Pi Pico W」には多くのメリットがありました。昨年の本取組で利用していた「Raspberry Pi Zero W」は、これに直接モニタやキーボードを接続してプログラミングをしたり、操作にあたりOS「Linux」の基礎を理解する必要があったりと、初めてプログラミングに触れる生徒には難度が高いものでした。一方でRaspberry Pi Pico W は、USBケーブルで学校のPCや自分の端末に接続してプログラムを書くことができるため、プログラミング作業が柔軟かつシンプルになります。Raspberry Pi Zero Wと比較して消費電力も低いため、水やりのモータ稼働のために接続している電池の消費量を抑えることができます。

プログラミングはPython(プログラミング言語)用の開発環境「Thonny」(フリーウェア)で行いました。これはほとんどのOSで利用することができる点がメリットです。本校の生徒は皆、自分の端末を持ち込んで使用しており、OSはさまざまです。Thonnyは複数種類のOSで利用できるため、生徒はコンピュータ室のPCでプログラムを書くほか、菊を見ながらすぐに自分の端末でプログラムに修正を加えることができます。

菊の状態やセンサの値を見ながら自分の端末でプログラムを修正(提供:茨城県立IT未来高等学校)

菊の状態やセンサの値を見ながら自分の端末でプログラムを修正(提供:茨城県立IT未来高等学校)

課題を乗り越える~時間もスキルも不足 ポイントを絞り工程を簡略化

入学したばかりでプログラムを書いた経験のない1年生も多いなか、7月に苗が届くまでの約3か月間、かつ週1回の授業で、水やりを制御する自動灌水装置を制作してプログラミングをし、実際に稼働する状態まで到達しなくてはなりませんそれには、センサやモータの取り扱い方や制御の仕方などを、電子回路やプログラミングの基礎学習から始めていては間に合いません。

そこで、生徒が取り組むこと・理解すべきポイントを絞り、各々が思い描いた機能・動作をプログラミングし、試行錯誤する、という体験がひと通りできることを目的とする授業を設計しました。「これくらいの間隔でこれくらいの水を与える」「センサの値がこのように変わったら水の量を変更する」など、生徒が考えた水やりのアルゴリズムをすぐに実現できるように準備を進めました。

具体的には、ハード面とソフト面の簡略化です。まず自動灌水装置そのものの制作工程を簡略化し、装置への各種センサのはんだ付けは教員が行い、生徒は組み立てるだけとしました。

プログラミングの工程については、「モータを動かす」「センサからデータを取得する」といった基本動作のプログラムをライブラリとして用意。生徒は、各ライブラリを呼び出す1行のコードを、自分で考えたアルゴリズムに沿って書いていくことで、プログラムを組むことができます。

そのうえで、環境をすべて教員が用意して生徒はレールの上を走るだけ、結果も似たりよったりという体験にならないように、アルゴリズムの内容についてはほぼすべて生徒に任せ、アドバイスも最低限としました。

各種センサで計測したデータは、無線LANを通じて自動で「Google スプレッドシート」に記録されるように設定。他のグループがどのようなプログラミングをしているのかをお互いに見ることができるようにして、試行錯誤のための環境の一つとしました。

生徒はフローチャートで水やりのアルゴリズムを検討した。基本動作の各プロセス(画面右側のボックス)は教員が予め用意。(提供:茨城県立IT未来高等学校)

生徒はフローチャートで水やりのアルゴリズムを検討した。基本動作の各プロセス(画面右側のボックス)は教員が予め用意。(提供:茨城県立IT未来高等学校)

生徒の変化~「探究的な学び」の全体像を早期に体験 学びが深まる

プログラミングはPCと向き合うだけの授業になりがちですが、「美しい菊を咲かせる」というリアルな目標を設定できたことは本取組に対する生徒の自主性の高まりに貢献しました。

生徒は、「一定時間ごとに水をやる」「土の湿度を測定し、乾いたら水をやる」などアルゴリズムを試行錯誤する、菊の状態や計測データをこまめに調べる、菊の栽培そのものについて調べプログラムを最適化させるなど、生徒自身で考えながら、さまざまなアプローチで課題解決に挑むことができました。

本校では2年次から「情報システムコース」「情報デザインコース」に分かれ、3年次は探究的な学びをさらに深めます。修学年数も3年間と4年間で選択することができます。

自動灌水装置の開発を通じて、自分で考え、仲間と相談しながらミッションの達成を目指す過程でさまざまな失敗が起こり、その失敗は次の課題となり、仮説・検証を繰り返して試行錯誤する、という体験が1年生の初期の段階でひと通りできたことは、今後、情報科の専門高校の生徒として育みたい力の土台になります。

昨年度、ITセミナーを経験した現在2年生の生徒は、今年の10月の文化祭でITコンテストを初企画しており、今年の1年生も複数名がエントリーしていました。生徒は「課題を見つけ、解決する」コンセプトで「英語」+「音声認識」+「RPG」を組み合わせた発音評価学習アプリや3DCGによる動画、AIによる自動走行する仕組みなどを開発、発表しており、生徒の探究精神の深まりと成長を感じました。

菊の生育状況から次の課題が生まれる。

菊の生育状況から次の課題が生まれる。

教員の変化~ゼロから順に積み上げるという先入観を取り払うことで見えてきた可能性

プログラムを書いた経験のない生徒が、数か月間で自動灌水装置を開発して実際に菊を育てる――本校に赴任してすぐにそのミッションを聞いたとき、当初は不可能ではないか、という思いもありましたが、どのような学びや体験を重視するのか、そのためにどのような工程をどのように簡略化できるかを考えることで本授業につながりました。

まず全体像を体験して生徒自身がなるほどと納得すること。これは、今後、各種センサについて学んだり新たなプログラムやアプリ開発に挑戦したり、より専門的な学びのスタート地点になると感じています。

基礎から積み上げるというものづくりのアプローチとは異なる方法で、本授業を成立させるための課題を整理・分析しながら新しい授業設計を検討できたことは、教員としても今後の挑戦につながります。

次年度以降はカメラを導入して映像を通した観察や画像解析に挑戦するなど、取得するデータの種類を増やし、バージョンアップを図りたいと考えています。

前年度のITセミナーの報告をPC室に掲示。今年度の取組との違いもわかる。(提供:茨城県立IT未来高等学校)

前年度のITセミナーの報告をPC室に掲示。今年度の取組との違いもわかる。(提供:茨城県立IT未来高等学校)

※本記事は実践事例を広く紹介することを目的としており、記事内において一般に販売している商品、機器等に言及している部分がありますが、特定の商品等の活用を勧めるものではありません。学校が一般に販売されているものを活用する場合は、活動内容や各学校の状況等に応じて選択してください。
※本記事の情報は取材時点(2024年10月)のものです。