連載教えて!伊沢先生!
情報処理オールラウンダー×専門学校講師×Youtuber! 幅広く活躍中の伊沢先生に、最新技術の教え方から教務でのICT活用まで、気になるテーマについて教えてもらうシリーズです。
目次
IoT分野の授業にはどのような知識が必要か
AIやビッグデータに欠かせないのがIoTの技術です。
温度センサーや光センサーなどのセンサーからデータを受け取り、蓄積して活用します。
IoTの授業に必要なのは主に電気回路の知識です。
私自身はソフトウェアが専門で、文系です。
電気回路については中学生の時にアマチュア無線の免許をとった時に勉強したくらいで、電気回路の知識は皆無です。
2014年、個人的に興味があり購入したArduinoで電子部品を制御したのが始まりです。
Arduinoを触ってみて「これはおもしろい、授業でやったらウケるな」と思いました。
必要な知識としては、最低限オームの法則が分かっていれば授業はできます。
IoTの授業を始めて5年になりますが、決して難しいものではありません。
どのような小型コンピュータを選ぶか
IoTを学習するコンピュータとして、おすすめを2つ紹介します。
ArduinoとRaspberry Piです。
Arduino
Arduinoは3,000円程度で購入できるコンピュータです。
シンプルな構成で扱いやすく、初めてIoTの授業をするのに最適です。
デジタル入出力(HIGH:電気が流れているか、LOW:流れていないか)、アナログ入力(0~1023)アナログ出力(0~255)のポートがあります。
これらのポートに電子部品を接続して制御します。
ArduinoはUSBケーブルでパソコンと接続します。
パソコンには、制御するためのプログラムを作成してArduinoに転送するArduino IDEをダウンロードしてインストールする必要があります。
コードはC言語で記述します。
[Arduino IDE]https://www.arduino.cc/en/software
簡単なプログラムの例としてLEDを1秒ごとにON,OFFするプログラムを紹介します。
このプログラムは「Lチカ」といわれるプログラムで、プログラミングを初めて学ぶとき画面に「Hello World!」と表示させるように、IoTを学ぶとき初めて作成するプログラムです。
回路としてはとてもシンプルで、Arduinoの13番ピンにLEDのアノード、その隣にあるGNDピン(GNDとはアースのことです)にLEDのカソードを差し込みます。
あとはパソコンからArduinoにプログラムを転送すると、1秒間隔でLEDがチカチカします。
Raspberry Pi
Raspberry Piは5,000円程度で購入できるコンピュータです。
上の画像は「Raspberry Pi 3 Model B+」です。
1~2年間隔で、価格は同じくらいのままCPUやメモリ等の性能が向上した新しいモデルがリリースされています。
Raspberry Pi OSというDebian系のLinuxオペレーティングシステムが動作します。
Arduinoと違い、Raspberry Piは小型ながら普通のパソコンとしても動作します。
インターネットも閲覧できますし、Youtubeも見られます。
Linuxの教育にも使うことができます。
ただし、Raspberry Piを動かすためにはHDMI入力がついているディスプレイ、USBキーボード、USBマウスが必要です。
私がRaspberry Piを使った授業をするときには、パソコン実習室で実習室内のパソコンからディスプレイ、キーボード、マウスを取り外して学生のRaspberry Piに接続して使っていました。
上級テクニックとして、学生のRaspberry PiのWi-Fiに校内LAN上で固定IPアドレスを割り当て、SSHやVNC(ネットワーク経由でRaspberry Piを操作できる仕組み)で操作することもできます。
Arduinoと比べるとアナログポートがありません。
別の回路を用意してアナログ入出力を実現する必要があります。
また、GPIOポートという入出力ポートを利用して電子部品を制御するのですが、構造が少し複雑で、学生たちがジャンパー線を刺す場所を間違えることもよくありました。
電子部品の制御をするためのプログラムはScratchを使ってグラフィカルに作成することもできますし、Pythonでコードを記述して動作させることもできます。
さらに、ローコードツールで有名なNode-REDを使って少ないコード量で動作させることもできます。
ArduinoとRaspberry Pi どちらがオススメか?
1コマ90分15回で授業をするならArduino、30回で授業をするならRaspberry Piがおすすめです。
私自身は、学生たちに電子回路に慣れてもらうために最初はArduinoで実習を行い、途中からRaspberry Piを使うという流れで授業を進めました。
ほかに必要なもの
ArduinoやRaspberry Piとは別に、電子部品セットも必要です。
2,000~3,000円程度で購入できます。
LED、ブレッドボード、ジャンパー線、スイッチ、各種センサー、モーターなどが入っています。
Amazonで「電子工作キット」で検索するとたくさん出てきます。
IoTの授業では何を教えるのか?
ArduinoもRaspberry Piも、学習に必要な書籍は豊富に揃っています。
書籍の内容と授業を行う教員の遊び心を組み合わせることで、IoTの授業は学生にとってとても魅力的なものになります。
少し複雑な回路を作るのであれば、ブレッドボードというものを使います。
通常、回路を作るとなると「はんだ」が必要ですが、ブレッドボードを使えば、ブレッドボード上の電子部品やジャンパー線を抜き差しして回路を構成することができるので便利です。
具体的にどのようなことを行ったかを何点かご紹介します。
LEDを制御するプログラムで私が授業の中で出した課題として、赤、黄色、緑のLEDを使って信号の振る舞いをするプログラムがあります。
まずは赤と緑のLEDで歩行者信号を表現してみる。
黄色を追加して赤→緑→黄色→赤と変化するようにする。
最後に赤、緑、黄色のLEDをもう1組追加し、2組の信号が相互に変化するというものです。
スイッチのON,OFFを受け取るプログラムも、スイッチという部品の特性上、思った動きをしないのでソフトウェアの力で問題を解決するといった課題も書籍ではよく取り上げられています。
デジタルとアナログの違いはIoTの学習の中でとても重要な内容です。
LEDが点灯した状態と消灯した状態:デジタル
LEDが消灯した状態からだんだん明るくなって最大に明るくなる状態:アナログ
さらに、LEDを圧電スピーカーに付け替えて、音でアナログとデジタルを理解するのも効果的です。
LEDなどの電子部品はまずは光らせてみることが重要です。
プログラムで部品を制御する前に、単純に5Vまたは3.3v→LED→抵抗→GNDのような回路を作ってみることが重要です。
これは7セグメントディスプレイの部品そのものを解析するときに役立ちます。
どことどこを接続すると光るのか、ということを学生自身が調べ、部品の仕組みを理解します。
抵抗を付け忘れて煙が出たり、電子部品が壊れたりしてしまうことももちろんあります。
すべてがうまくいく授業もよいのですが、セオリーから外れると電子部品も壊れてしまうということは、それを実際に体験することでしっかりと身につきます。
学生たちの探究心の先に部品の破損があってもそれは1つの学びです。
私はこの「失敗」についても積極的に体験してもらう授業を心がけました。
ただし、ArduinoやRaspberry Piが壊れてしまうと授業ができなくなってしまうので、最低限、回路を意図的にショート(5Vや3.3Vの端子とGNDの端子を何も介さず接触させること)させないことについてはしっかりと説明した上で実習を行っています。
最後に
IoTの授業を通して学べることは、電子回路を作ることや電子部品の取り扱いの難しさ、それに対して複雑な回路もソフトウェアの力で簡単に制御できることの2つです。
ソフトウェアの力で自由自在に電子部品を制御できるというところが理解できれば、学生たちはトライアルアンドエラーを繰り返しながら自分たちの作りたいものを実現できるようになります。
そのようなところまで来られた学生は、授業中も本当に楽しそうにコードを書いたり、回路を作ったりしています。
IoTの授業は、そんな学生たちの学びの幅を広げる科目です。
ぜひ、カリキュラムに組み込まれてはいかがでしょうか。
\ぜひ投票お願いします/
伊沢 剛
有限会社プチフール代表取締役
23年間、専門学校にてIT教育、学生募集に従事。その後独立。新人社員向けプログラミング研修、社会人向けDX,AI,クラウド研修、情報教育コンサルティング、DX推進支援に携わる。
Youtubeチャンネル:【IT・プログラミングLab】伊沢 剛