既にアメリカをはじめ欧米では小学校低学年からプログラミング学習が通常の学習カリキュラムとして入って来ており、10歳くらいまではスクラッチやBlocklyを使ったプログラミングを学習しその後は出来る子はマイコンを使ったプログラミングへと進んで行きます。その時に使うのが現状ではArduinoです。
やはりスクラッチやBlocklyライクなGUIベースのプログラミングツールが揃っているのはArduinoです。その他にもたくさんのマイコンはありますが、BeagleBoneにしてもまだArdunoほど普及しておらず高機能なマイコンですがまだまだマイナーな存在ですし、RaspberryPiはLinuxベースでJavaやC++,C##やRuby,Perlが使えないとプログラミングが無理なので小学生には無理なのでやはりArduino一択と言うのが現状です。
そのArduinoを使ったマイコンプグラミングですが、ArduinoIDEを使ったプログラミングはC/C++をベースとしていますからその文法、書き方を知らないとプログラミングは書けませんし、その前にフローチャートライクな処理の考え方を身に着けないとプログラミングと言うものはできません。
ですがそれを書籍で読んで理解するには人それぞれ差があり理解できる子は読んだだけ、見ただけで理解できますが、そうでない子はステップバイステップで教えてもらわないとついていけません。
そこでこのArduino用シールド「Awesome Shield」はこのシールドを使ってのプログラミングの仕方を100プログラム以上オンデマインドで用意して様々なアプローチで教材を作る事で一人でも自学自習できるプログラムを作り上げました。
まずこの「Awesome Shield」ですが標準的なUNO規格のArduinoボードに挿して使う事のできるシールドユニットです。
このシールドにはまずボリューム抵抗、スイッチ2種(モーメンタリ、オルタネイト動作)、フルカラーLED、圧電ブザー、照度センサー、seeed Grove用4ピンコネクタ2ポートが装備されています。
ArduinoUNOは別途用意する必要がありますが、ArduinoUNOさえ用意すればこの「Awesome Shield」と一緒にオンデマンドのビデオを見ながらArduinoIDEを使ったプログラミングを学習する事ができます。
ただそのプログラム、初心者にとって全てが初めてですからできるだけ自然言語に近い表現で書いた方が分かり易いのは当然です。
例えばLEDを接続してそのLEDを点灯する場合、普通はポート1にLEDを接続すると
#define LED 1
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
と最低これだけはコーディングしなければいけませんが、この「Awesome Shield」では専用ライブラリーが用意されており、
awesome.LED.isOn();
この1文でLEDを点灯する事ができますし、LED.isOnってすごく分かり易いですよね。こう言う工夫が他にも随所になされています。
例えばスイッチが押されているかどう検出する場合
pinMode(toggleSwitch, INPUT);
if (digitalRead(toggleSwitch) == LOW) {
処理1
}
と言う風に書かないといけませんが、素人にLOWだのHIGHだの書いたって意味がわかりませんよね。ですがこの「Awesome Shield」のライブラリでは
if( awesome.toggleSwitch.isOn() ) {
処理1
}
と自然言語的な表現のライブラリが用意されていますから、とっても分かり易いのでプログラムを書くのも迷わなくて良くなっています。
また「Awesome Shield」に搭載されているセンサー類のプログラミングの仕方はマスターしてしまってもっと別なセンサーを使って色々とプログラミングをしてみたいと言う方はseeed社の「seeed Grove」シリーズのセンサーを「Awesome Shield」の4ピンコネクタに接続して使用する事ができますし、このシリーズのセンサーは日本ではスイッチサイエンスが扱っていますので日本でも簡単に入手する事ができますよ。
詳細については下記URLをご覧ください
https://www.kickstarter.com/projects/936210579/awesome-shield-the-at-home-code-school-for-future
この記事へのコメントはありません。