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