More About ICT Course
『情報コース』もっとくわしく編
『情報コース』では、シングルボードコンピュータ『Raspberry Pi』や独自仕様のブロックプログラミング開発・実行環境『オコゲ』、各種センサやモータなどを使用してプログラミングを楽しく学び、ICT (Information and Communication Technology – 情報通信技術) や IoT (Internet of Things – モノのインターネット) などの情報技術を習得することを目的としています。
Raspberry Pi シングルボードコンピュータ
Raspberry Pi (opens new window) は、イギリスの ラズベリーパイ財団 (opens new window)
によって主に教育で利用することを想定して開発されたシングルボードコンピュータ (opens new window)です。小型・軽量で低価格、性能は価格なりですが、OS (基本ソフト) に Linux (Debian) を採用し、モニタとキーボード、マウスを接続してデスクトップを備えた GUI が使える、れっきとしたパーソナルコンピューターです。モニタは HDMI 入力のあるテレビでも代用でき、導入コストが低いのが特徴です。PC と大きく異なる点は GPIO (opens new window) ( General-purpose input/output – 汎用入出力) 端子の存在で、ここに各種センサやモータなどを接続して数値を読み 取ったり制御したりすることができます。つまり、コンピュータが物理的に「感じ」たり、「動い」たりすることができるのです。
ブロックプログラミング開発・実行環境『ミャオあっぷ:ブロックス』
『ミャオあっぷ:ブロックス』は、Google Blockly (opens new window) ライブラリを使用した、Raspberry Pi 用ブロックプログラミング環境です。
ブロックプログラミング (Block-Based Coding) は、コンピュータへの命令が記述されたブロックを並べたり積み重ねることでプログラムを作成するプログラミングの形式で、主にプログラミング学習の目的で使用されています。学生がプログラム言語を覚えたりタイピングを習得する苦労やストレスから解放され、プログラミングの概念そのものを学習することに専念できるからです。また、何ができるかが一目でわかり簡単に試してみることができ、子供(大人でも!)の創造性を強く刺激します。
ブロックプログラミングツールの最も有名なもののひとつに Scratch (opens new window) があります。『スクラッチの猫ちゃん』(Scratch cat) (opens new window) を見たことがあるかもしれません。その Scratch も、バージョン2までは Macromedia (Adobe) Flash で作られていましたが、最新のバージョン3では Google Blockly ベースになりました。ブロックプログラミングツールのもうひとつの代表格 Microsoft MakeCode (opens new window) も Blockly を元にしています。
Raspberry Pi + ミャオあっぷ:ブロックス = ?
では、Raspberry Pi と『オコゲ』を組み合わせると何ができるのでしょうか。その一部を動画でご紹介します。
※動画ではアプリの名称・ブロックの色や形状など、見た目や周辺機器が最近更新された記事と異なりますが、機能や内容に変更はありません。
デモンストレーション
『情報コース』で使用する機材の一部を使用した動作サンプルです。
- 『Julius』との連携による音声認識
- サーボモータ制御
- L チカ
- 温湿度センサー
- 赤外線 LED によるリモコン(キーボードに乗っけてあるミニライト)
- 接触が悪くて LED が発光しなかったカメラ
- 画像ファイルのロードと表示
飲み過ぎ防止システム
IoT のとってもくだらない例。2杯目からもうコンピュータに怒られる。
スマートスイッチ
Raspberry Pi につないだサーボモータで物理的に照明のスイッチをオンオフします。操作は『オコゲ』を通じて音声で行います。ちょっと強力な両面テープと結束バンドだけでできる工事いらずのスマートホームです。
顔認識
カメラモジュールの映像をリアルタイムで処理してヒトの顔を認識し、その座標情報を使用してペーパークラフト人形の顔の向きを制御しています。動画ではちょっとわかりにくいかもしれませんが、お人形がずっとこちらを見続けていますヨー。
ネットワーク
ネットワークにつながるだけでプログラミングのアイディアは大きく広がります。例えば2つ上の「スマートスイッチ」は音声でコントロールしていますが、これをネットワークにつなげれば、出先や離れからスマートフォンなどを通じて照明のオンオフができるようになるでしょう。
『オコゲ』は簡単にウェブサーバとそれにアクセスするためのクライアントを作ることができます。動画では、音声合成 LSI「AquesTalk pico (opens new window)」を接続したサーバ側 Raspberry Pi に、ミニディスプレイをつないだクライアント側 Raspberry Pi から LAN 経由で HTTP 接続をして朝のあいさつや「吾輩は猫である」の朗読をさせています。
ウェブチャット
用途が限定された特殊ブロックもあります。この例では、WebRTC(ウェブブラウザ上でシンプルなリアルタイムコミュニケーションを実現する技術)を使用してテキストベースのウェブチャットを実装しています。
ゲーム制作
テレビゲームっぽいものも作れます。
『ミャオあっぷ:ブロックス』にさわってみよう
ここまでご覧になって「おもしろそう!」と思った方は、ぜひ当学習塾に… の前に、Web 体験版を触ってみましょう。サンプルプログラムや、自分で考えてサンプルを改良するプチレッスンをご用意しております。(準備中)