Arduino用3gシールドの開発と教育への実践(天良先生)

Preview:

DESCRIPTION

3G shield for Arduino. 3G Shield Alliance. Presentation by Kazuo Tenra.

Citation preview

Arduino 用3用3用3用3Gシールドのシールドのシールドのシールドの

開発と教育での実践開発と教育での実践開発と教育での実践開発と教育での実践

情報科教育における情報科教育における情報科教育における情報科教育におけるArduinoの活用の意義の活用の意義の活用の意義の活用の意義

東京都立小石川中等教育学校 天良 和男

ディジタル時代のモノづくりの人材育成

� アナログ時代のモノづくり熟練、器用、勤勉がモノづくりを支えた→日本が席巻

� ディジタル時代のモノづくり熟練の技術がなくても、定番の半導体を組み込めば高品質のものができる→日本と他の国の製品の技術力に違いが出にくい→生産拠点の海外移転→空洞化→GDPの低下

�組み込み系技術の重要性

� ソフト思考・システム思考・ビジネスモデル思考のできる発想をもった人材の育成→これからの日本の課題

� ソフトウェアを制する者はモノづくりを制す

ディジタル時代のモノづくりの人材育成�工業高校組み込み系の技術を時間をかけて専門的に育成することができる

�普通科高校教科「情報」は2単位しかないため組み込み系技術の教育はまったくできない

短時間(2時間~4時間程度)で最先端のハード・ソフト・センサ技術やシステム思考が概観できる教材と指導法の必要性

Arduino +3Gシールドが実現

Arduino(アルドゥイーノ)とは

� イタリアの大学教授Massimo Banzi氏が提唱

� オープンソースハードウェア

�低価格(2,000円程度から)なハードウェア(8ビットマイコンボード)と無償のソフトウェア統合開発環境IDE(Integrated Development Environment)

� Jananinoなどのクローン(互換機)も多数

�豊富なシールド(センサなどが搭載された拡張ボード)

� シールドを制御するソフトもWebから無償でダウンロード

�来年度末には100万台

�基本的に半田付け不要

低価格(2,000円程度から)なハードウェア(8ビッ

トマイコンボード)と無償のソフトウェア統合開発

環境IDE(Integrated Development Environment)

マイコンボードマイコンボードマイコンボードマイコンボード

IDE

ハードもソフトもオープン!ハードもソフトもオープン!ハードもソフトもオープン!ハードもソフトもオープン!

豊富なシールドセンサなどが搭載された拡張ボード(すべて低価格)センサなどが搭載された拡張ボード(すべて低価格)センサなどが搭載された拡張ボード(すべて低価格)センサなどが搭載された拡張ボード(すべて低価格)

音声シールド音声シールド音声シールド音声シールド

Arduino

モータ駆動シールドモータ駆動シールドモータ駆動シールドモータ駆動シールド

温度センサシールド温度センサシールド温度センサシールド温度センサシールド

イーサーネットシールドイーサーネットシールドイーサーネットシールドイーサーネットシールド 心拍センサシールド心拍センサシールド心拍センサシールド心拍センサシールド

超音波センサシールド超音波センサシールド超音波センサシールド超音波センサシールド

液晶表示シールド液晶表示シールド液晶表示シールド液晶表示シールド

3333Gシールドシールドシールドシールド

半田付け不要

Arduino

ブレッドボードセンサ

コネクタで接続するコネクタで接続するコネクタで接続するコネクタで接続する例例例例

ブレッドボードを利用する例ブレッドボードを利用する例ブレッドボードを利用する例ブレッドボードを利用する例

Arduinoの普及

(第3世代の携帯電話の通信ネットワーク)

現在の携帯電話のデータ通信

携帯電話

インターネット

LTE接続

広域ワイヤレス

3G接続3G接続

ローカルワイヤレス

スマートフォン

一部のアンテナWiFi接続

WiMAX接続

3G

広域ワイヤレス

Arduino用3Gシールド

3333GGGG通信通信通信通信モジュールモジュールモジュールモジュール

アンテナ接続アンテナ接続アンテナ接続アンテナ接続SIMSIMSIMSIMカードカードカードカードソケットソケットソケットソケット

3333GGGGシールドシールドシールドシールドボードボードボードボード

下層部は下層部は下層部は下層部はArduinoArduinoArduinoArduinoボードボードボードボード

拡張ポート拡張ポート拡張ポート拡張ポート

拡張ポート拡張ポート拡張ポート拡張ポート

USBUSBUSBUSBコネクタコネクタコネクタコネクタ

Arduinoの使い方

� PCと切り離して使用PC上のIDEを使って開発したプログラムを、 PCとUSBで接続された Arduino内のメモリに転送したのち、PCと切り離して、 電池駆動でArduinoを単体で

使用する

� PCと接続して使用PC上のIDEを使って開発したプログラムを、 PCとUSBで接続された Arduino内のメモリに転送したのち、PCと接続したまま、PC側のプログラムとArduino

側のプログラムを連携させながら使用する

� クラウドと接続して使用クラウド側のプログラムと連携させながら使用する

教科「情報」の実習について

� 従来、ハードウェアを伴う実習が困難であった理由従来、ハードウェアを伴う実習が困難であった理由従来、ハードウェアを伴う実習が困難であった理由従来、ハードウェアを伴う実習が困難であった理由電子回路の知識や半田付けなどの技術が必要電子回路の知識や半田付けなどの技術が必要電子回路の知識や半田付けなどの技術が必要電子回路の知識や半田付けなどの技術が必要実習時間がかかる実習時間がかかる実習時間がかかる実習時間がかかるコストがかかるコストがかかるコストがかかるコストがかかる工業高校の実習を連想させる工業高校の実習を連想させる工業高校の実習を連想させる工業高校の実習を連想させる普通科高校の実習では不可能普通科高校の実習では不可能普通科高校の実習では不可能普通科高校の実習では不可能

� Arduino によって、ハードウェアを伴う実習が可能によって、ハードウェアを伴う実習が可能によって、ハードウェアを伴う実習が可能によって、ハードウェアを伴う実習が可能

電子回路の知識や半田付けなどの技術が不要電子回路の知識や半田付けなどの技術が不要電子回路の知識や半田付けなどの技術が不要電子回路の知識や半田付けなどの技術が不要短時間で実現(本質の部分だけに集中できる)短時間で実現(本質の部分だけに集中できる)短時間で実現(本質の部分だけに集中できる)短時間で実現(本質の部分だけに集中できる)低コスト低コスト低コスト低コスト普通科の教科「情報」でも可能普通科の教科「情報」でも可能普通科の教科「情報」でも可能普通科の教科「情報」でも可能

3Gシールドができること

�3G通信網を通しての携帯電話やスマート

フォンなどのモバイルとのメッセージの送受信

�3G通信網を通してのクラウドとのデータ

送受信

�センサーやアクチュエータ(駆動装置)と組み合わせることで様々な活用が可能

実習例 温度監視システム

温度センサ温度センサ温度センサ温度センサ

フローチャート(温度監視システム)

温度を測る温度を測る温度を測る温度を測る

閾値外?閾値外?閾値外?閾値外?

SMSを送るを送るを送るを送る

3Gシールドシールドシールドシールド

セットアップセットアップセットアップセットアップ

30秒待つ秒待つ秒待つ秒待つ

NO

YES

スタートスタートスタートスタート

3333Gシールド用関数シールド用関数シールド用関数シールド用関数

Send3gshield(電話番号,メッセージ電話番号,メッセージ電話番号,メッセージ電話番号,メッセージ)

この関数を呼ぶと、引数で指定したこの関数を呼ぶと、引数で指定したこの関数を呼ぶと、引数で指定したこの関数を呼ぶと、引数で指定した電話番号の携帯電話にショートメッ電話番号の携帯電話にショートメッ電話番号の携帯電話にショートメッ電話番号の携帯電話にショートメッセージを送ることができるセージを送ることができるセージを送ることができるセージを送ることができる

プログラム(温度監視システム)#include <SoftwareSerial.h>

#include <iem.h>

const int TemperaturePin = 0; // 温度センサを接続するピンconst float TempThreshold = 27.0; // 閾値#define TelNo “0123456789” // SMSの送付先電話番号#define Message “Too hot now!” // SMSメッセージvoid setup()

{

Serial.begin(9600);

iem.begin(); // 3Gシールドをセットアップ}

void loop()

{

float mV = analogRead(TemperaturePin) * 4.88;

float temp = (mV – 600.0) / 10.0;

Serial.println(temp, 1); // 温度を表示するif ( temp > TempThreshold )

iem.Send3gshield(TelNo, Message); // SMSを送るdelay(1000 * 30); // 30秒待つ

}

#include <SoftwareSerial.h>

#include <iem.h>

const int TemperaturePin = 0; // 温度センサを接続するピンconst float TempThreshold = 27.0; // 閾値#define TelNo “0123456789” // SMSの送付先電話番号#define Message “Too hot now!” // SMSメッセージvoid setup()

{

Serial.begin(9600);

iem.begin(); // 3Gシールドをセットアップ}

void loop()

{

float mV = analogRead(TemperaturePin) * 4.88;

float temp = (mV – 600.0) / 10.0;

Serial.println(temp, 1); // 温度を表示するif ( temp > TempThreshold )

iem.Send3gshield(TelNo, Message); // SMSを送るdelay(1000 * 30); // 30秒待つ

}

生徒の提案例(郵便物監視システム)

アイデア発掘ツールアイデア発掘ツールアイデア発掘ツールアイデア発掘ツール

クラウドやXbee(ZigBee)と接続して使用

センサによるセンサによるセンサによるセンサによるデータ収集データ収集データ収集データ収集

3333Gシールドによるラウシールドによるラウシールドによるラウシールドによるラウ

ドとのデータ送受信ドとのデータ送受信ドとのデータ送受信ドとのデータ送受信XBee間の通信間の通信間の通信間の通信

クラウド側には、フリークラウド側には、フリークラウド側には、フリークラウド側には、フリーのデータ収集・分析・グのデータ収集・分析・グのデータ収集・分析・グのデータ収集・分析・グラフ表示などの機能をラフ表示などの機能をラフ表示などの機能をラフ表示などの機能をもつものがあるもつものがあるもつものがあるもつものがある

ZigBeeZigBeeZigBeeZigBee XBeeXBeeXBeeXBee(ジグビー)とは(ジグビー)とは(ジグビー)とは(ジグビー)とは家電向けの短距離無線通信規家電向けの短距離無線通信規家電向けの短距離無線通信規家電向けの短距離無線通信規格の一つ格の一つ格の一つ格の一つ安価で、消費電力が少ない安価で、消費電力が少ない安価で、消費電力が少ない安価で、消費電力が少ない

XBeeXBeeXBeeXBeeXBeeXBeeXBeeXBee

XBeeXBeeXBeeXBeeXBeeXBeeXBeeXBee

3G3G3G3Gシールド3G3G3G3Gシールド

ArduinoArduinoArduinoArduinoArduinoArduinoArduinoArduino

センサセンサ

XBeeXBeeXBeeXBeeXBeeXBeeXBeeXBee

光センサ光センサ

指導案(連続2時間の授業)

時間時間時間時間[分分分分]

指導内容指導内容指導内容指導内容 備考・留意点備考・留意点備考・留意点備考・留意点

5 本時の導入本時の導入本時の導入本時の導入 前時までにアルゴリズム前時までにアルゴリズム前時までにアルゴリズム前時までにアルゴリズムと簡単なプログラムの学と簡単なプログラムの学と簡単なプログラムの学と簡単なプログラムの学習を行っている習を行っている習を行っている習を行っている

10 Arduinoの機能概要説明の機能概要説明の機能概要説明の機能概要説明 簡単に簡単に簡単に簡単に

10 ソフトウェア統合開発環境(ソフトウェア統合開発環境(ソフトウェア統合開発環境(ソフトウェア統合開発環境(IDE)の概要説明)の概要説明)の概要説明)の概要説明 本時に必要な部分だけ本時に必要な部分だけ本時に必要な部分だけ本時に必要な部分だけ

25 簡単な簡単な簡単な簡単なC言語の文法仕様説明言語の文法仕様説明言語の文法仕様説明言語の文法仕様説明 本時に必要な部分だけ本時に必要な部分だけ本時に必要な部分だけ本時に必要な部分だけ

10 休憩休憩休憩休憩

15 3333G通信モジュールサンプルプログラム説明通信モジュールサンプルプログラム説明通信モジュールサンプルプログラム説明通信モジュールサンプルプログラム説明 ショートメッセージ送信ショートメッセージ送信ショートメッセージ送信ショートメッセージ送信

10 センサ類とその接続概要説明センサ類とその接続概要説明センサ類とその接続概要説明センサ類とその接続概要説明 湿度、タッチセンサ湿度、タッチセンサ湿度、タッチセンサ湿度、タッチセンサ

15 センサ+3センサ+3センサ+3センサ+3Gシールドのプログラム説明シールドのプログラム説明シールドのプログラム説明シールドのプログラム説明 湿度監視、郵便受け監視湿度監視、郵便受け監視湿度監視、郵便受け監視湿度監視、郵便受け監視

5 独自のシステムのアイデアの募集独自のシステムのアイデアの募集独自のシステムのアイデアの募集独自のシステムのアイデアの募集 夏休みの宿題(レポート)夏休みの宿題(レポート)夏休みの宿題(レポート)夏休みの宿題(レポート)

5 まとめまとめまとめまとめ 簡単に簡単に簡単に簡単に

生徒の感想

�ハードとソフトが一緒に扱えることで楽しくなる

�最先端の技術を理解しなくても簡単に操作できる

�思った以上に短時間でアイデアが実現できた

Arduino用3Gシールドの教育での可能性

教育事例教育事例教育事例教育事例 学習内容学習内容学習内容学習内容

アルゴリズムの制アルゴリズムの制アルゴリズムの制アルゴリズムの制御構造の学習御構造の学習御構造の学習御構造の学習

LEDLEDLEDLED発光やモータ駆動などを用いた発光やモータ駆動などを用いた発光やモータ駆動などを用いた発光やモータ駆動などを用いたアルゴリズムの制御構造(逐次,分アルゴリズムの制御構造(逐次,分アルゴリズムの制御構造(逐次,分アルゴリズムの制御構造(逐次,分岐,反復)の学習岐,反復)の学習岐,反復)の学習岐,反復)の学習

制御系プログラミ制御系プログラミ制御系プログラミ制御系プログラミングングングング

センサとモータなどを組み合わせたセンサとモータなどを組み合わせたセンサとモータなどを組み合わせたセンサとモータなどを組み合わせた制御系のプログラミング制御系のプログラミング制御系のプログラミング制御系のプログラミング

物理実験での応用物理実験での応用物理実験での応用物理実験での応用超音波センサや赤外線センサなどを超音波センサや赤外線センサなどを超音波センサや赤外線センサなどを超音波センサや赤外線センサなどを使った各種の物理実験使った各種の物理実験使った各種の物理実験使った各種の物理実験

最先端で高度な情最先端で高度な情最先端で高度な情最先端で高度な情報システムの短時報システムの短時報システムの短時報システムの短時間で平易な構築間で平易な構築間で平易な構築間で平易な構築

3G3G3G3Gシールドや,シールドや,シールドや,シールドや,3333軸加速度センサ,軸加速度センサ,軸加速度センサ,軸加速度センサ,ジャイロセンサ,ジャイロセンサ,ジャイロセンサ,ジャイロセンサ,GPSGPSGPSGPS機能などの最機能などの最機能などの最機能などの最

先端で高度な情報システムの短時間先端で高度な情報システムの短時間先端で高度な情報システムの短時間先端で高度な情報システムの短時間で平易な構築で平易な構築で平易な構築で平易な構築

情報科教育での情報科教育での情報科教育での情報科教育でのArduino+3+3+3+3Gシールドシールドシールドシールド活用の意義活用の意義活用の意義活用の意義

� アルゴリズム・プログラムの基本構造の理解従来は、ソフトウェアだけで理解させていたため

に、基本構造を実感しにくかった→順次、分岐、反復の基本構造をセンサやアクチュエータや3Gシールドなどの外部のハードウ

ェアを制御しながら学習できる

�情報システムの構築従来は、ATMやPOSなどの情報システムの用語

の説明だけで終わっていた→低コストで短期間に通信系や計測制御系を組み合わせた情報システムを容易に構築できる

おわりにおわりにおわりにおわりに� これまでのソフトウェアのみの教育環境からハードウェアも加えた教育環境を提供することで,多くの生徒に興味をもって取り組んでもらうことができるようになった

�高度で最先端の3G通信技術を教育現場に持ち込

んだことで,生徒の独創性は高まり,教育効果の高い学習を展開することができた

�予備知識が少なくても高度な技術を身に付けることができるようになった

�独創的な情報システムの構築や,問題解決・プログラミングツール、アイデア発掘ツールとしても活用できる

� コンテストの必要性

Recommended