コンテンツへスキップ

ラボワーク LW15 - 7 segment LED ユニットを自作してArduino UNO で制御する

高等学校の教科「情報」が実施になったのは、今から約14年前、2003年(平成15年)の4月からでした。当初はコンピュータやプログラミングの取り扱いに重点を置かない授業が多くみられましたが、ようやく近年になってその重要性が認識されるようになりました。そこで Adminteachers ではコンピュータやプログラミング、ネットワークを教科「情報」の授業で実践するノウハウを共有する勉強会をします。

「ラボワーク」では少人数でテーブルを囲み、それぞれのペースでアイデアを出し合いながらプログラミングや電子回路の実験をします。これまでに Atduino UNO や .Net Micro Framework が動き Visual Studio で C# を言語として開発できる Netduino 、切手大の小さな Arduino の亜種 Digispark などのマイコンボードを使い、マルチファンクションシールドや WS5100 チップを使ったイーサネットシールドなどの Arduino UNO 用のシールド、実験用の 38 種類のセンサキット、ESP8266 を使った WiFi モジュール ESP-01 や WeMos D1 などを使っていわゆる「Lチカ」から Web サービスまで様々なプログラミングを体験しました。第10回からはサーボモーターやDC モーターの制御実験をしました。

今回のラボワークでは、7 セグメント LED ユニットを自作し、Arduino UNO R3 で制御します。材料はユニバーサル基盤、7 セグメント LED、抵抗などです。半田付けをするので化繊など燃えやすい服装ではなく、できれば作業服かエプロンなどを持参ください。

「ラボワーク」は自由参加型のオープンな体験会です。開始時間と終了時間は決めますが、各自ワーク時間内に自由にお越しいただいてかまいません。Arduino の開発環境はノートパソコンをお持ちいただければ当日ラボワークで設定することもできます。またノートパソコンなどがなくても実習は楽しめますので、手ぶらで来てもらってかまいません。ラボワークはゆるやかな体験、交流の場ですので、お気軽にお越しください。

————————————————————————————————————

日時:2017年12月16日(土)18:00~20:00
場所:兵庫県立神戸工業高等学校

〒 652-0863 神戸市兵庫区和田宮通2-1-63
神戸市営地下鉄海岸線 和田岬駅から徒歩5分
kobekobyo_map

対象:高等学校の情報教員、または情報教育に関心のある方
定員:15名
申し込み:電子メール

宛先 ad-teachers@outlook.com
件名 「2017年12月16日 ラボワーク LW15 申し込み」
メールの本文にご氏名、所属をお書きください。

持ち物:Arduino UNO と Arduino の開発環境を整えたノートパソコン (あれば)

Arduino をお持ちでない方にはご用意します。
ノートパソコンの Arduino 開発環境は当日ラボワークで整えることもできます。またパソコンがなくても実習は楽しめますので、お気軽にお越しください。

運営費:無料(工作をする場合は部品代 500円程度)
司会:松本吉生 (Microsoft MVP 兵庫県立神戸工業高等学校)

マイクロビット micro:bit プログラミングx工作会

microbit_P1670541_mid_640_480

マイクロビット micro:bit は英 BBC がデザインした子供向けプログラミング教育用のマイコンボードです。マイクロビットの特徴は本体に磁気センサや加速度センサ、5×5 の LED、ボタンなどが装填されており、本体だけで様々な実験的プログラミングが体験できることですが、I/O 端子を使うことで様々なセンサやアクチュエーターを取り付けて制御することができます。

P1670749_midsmall_400_300

この会ではマイクロビットの基本的なプログラミングと距離センサやサーボモーターなどの制御を体験します。また簡単な拡張ユニットを自作してみます。

日時:2017年12月16日(土) 14:00~17:00 前半プログラミング 後半工作会

場所:兵庫県立神戸工業高等学校
・〒652-0863 神戸市兵庫区和田宮通2-1-63
・神戸市営地下鉄海岸線 和田岬駅から徒歩5分

兵庫県立神戸工業高等学校の地図_Map1

対象:プログラミング教育に関心のある方(お子様連れでもどうぞ)

費用:無料(工作するには500円程度の部品代実費が必要です)

持ち物:パソコン(Wi-Fi接続できるもの)できればWi-Fiアクセスルーター
半田付け工作をする方は作業服かエプロン、熱で燃えにくい服装

定員:20名

申し込み方法:電子メールで申し込み
宛先「registration20171216kobekogyo@matsumotoyoshio.org
件名「2017年12月16日マイクロビット工作会に申し込みます」
本文にお名前、所属をお書きください。

教育版マインクラフト レッドストーン×プログラミング大作戦 大阪

マインクラフトにはレッドストーンという電気信号伝えるような性質を持つブロックがあります。また教育版マインクラフトにはプログラミングができる機能が加わっています。このイベントでは、マインクラフト名人のあきひろくんがレッドストーン回路で隠しドアなどの仕掛けを解説します。また教育版マインクラフトを使ったプログラミング体験をします。対象は小学校4年生から6年生。マインクラフトが得意な人も初心者も、みんなで楽しみましょう!

minecraft_daisakusen_20171202_ver4_500

日時:2017年12月2日(土)14:00~16:00

コーディネート:小学生マインクラフト名人 松本あきひろ
マイクロソフトMVP 松本吉生

対象:小学4年生~6年生(保護者同伴でお願いします)

定員:20名

場所:マイクロソフト関西支店(大阪)
https://www.microsoft.com/ja-jp/mscorp/branch/kansai.aspx
〒553-0003  大阪府大阪市福島区福島 5 丁目 6 番地 16 ラグザタワー ノースオフィス
最寄り駅
・JR 環状線「福島駅」より徒歩 1
・阪神「福島駅」西出口 (2) より徒歩 1 分
・JR 東西線「新福島駅」出口 (1) より徒歩 1 分
・JR 大阪駅 (梅田) 桜橋口から徒歩約 15 分

参加費:無料

申し込み方法:電子メールで申し込み
宛先「registration20171202osaka@matsumotoyoshio.org
件名「2017年12月02日マインクラフト大作戦に申し込みます」
本文にお名前、所属をお書きください。

新しいマインクラフトのエデュケーション版でプログラミング学習環境となる「コードビルダー」を管理する「Code Connection for Minecraft」に接続するには /code コマンドでもいい。

2017年5月2日に行われた「Learn what’s next.」で発表された新しいマインクラフトのエデュケーション版にはプログラミング教育のツールとなる機能が盛り込まれている。そのひとつが、プログラミングによって学習環境を整えることと学習者を管理することなどができる「コードビルダー」だ。そして「Code Connection for Minecraft」、日本語で「コードコネクション」と呼ばれるものは「コードビルダー」を管理するサービスだ。

コードビルダーを起動すると、次の画面になりクライアントからのアクセスをリッスンする状態になる。このとき、接続コマンドとして表示される文字列のうち、IP アドレスは「Code Connection for Minecraft」を起動したコンピュータの IP アドレスになっており、ポートはサービスが指定する。クライアントはこの IP アドレスとポート番号で接続する。

Minecraft_Education_Edition_028_mid_640

ちなみにこれと似たサービスに、前のエデュケーション版からあった「Classroom Mode for Minecraft」がある。これは「クラスルームモード」という学習環境を管理するサービスで、ネットワーク上のコンピュータで起動し、クライアントから IP アドレスで接続する形だ。この「Classroom Mode for Minecraft」ではリッスンするポート番号をランダムに生成し、起動するたびに違うポートになった。またサービスを起動したコンピュータ上でクライアントのマインクラフトを起動しても接続できない場合が多かった。しかし新しい「Code Connection for Minecraft」ではリッスンするポート番号は変わらないようだ。また同じコンピュータでクライアントを起動して接続することもできるように改善されている。

クライアントのマインクラフトから接続する場合は、コマンド入力ラインを表示して「Code Connection for Minecraft」で指定されたアドレスに /connect コマンドを入力する。このとき、「Code Connection for Minecraft」にはコマンドをコピーするボタンがあり、これをクリックしてもクリップボードにコマンドがコピーされるのだが、次のように /code コマンドを使うこともできる。

Minecraft_Education_Edition_029_mid_640

/code コマンドを使うときは IP アドレスもポート番号も指定する必要はない。このとき、あらかじめ「Code Connection for Minecraft」を起動していなくても、コンピュータに「Code Connection for Minecraft」がインストールされていれば自動的に起動される。また、事前に「Code Connection for Minecraft」を起動していれば、クライアントのマインクラフトでは「コード接続の起動を試みています」となり「接続しました」のメッセージが出ないこともあるが、この時点ですでに「Code Connection for Minecraft」と接続ができている。

Minecraft_Education_Edition_030_mid_640

「Code Connection for Minecraft」を見ると次のようにあっており「MakeCode」や「Scratch」、「Tynker」のメニューが出ている。ところでここで、接続したクライアントの IP アドレスを見ると、対象のコンピュータではなくて 127.0.0.1 になっていることがわかる。これはループバックアドレスで接続されているということだ。

Minecraft_Education_Edition_031_mid_640

試しに簡単なコードを「MakeCode」で書き、実行してみる。

Minecraft_Education_Edition_034_mid_640

10 × 10 × 10 のブロックが生成した。

Minecraft_Education_Edition_032_mid_640

マインクラフトのエデュケーション版に実装されたプログラミング学習環境「コードビルダー」を制御する「コードコネクション」の概要

2017年5月2日に行われた「Learn what’s next.」で、マインクラフトのエデュケーション版に「コードビルダー」が実装されることが発表された。この「コードビルダー」を制御するものが「コードコネクション」だ。「コードコネクション」は、マインクラフトのエデュケーション版サイトから「CODE BUILDER BETA」をダウンロードすると得ることができる。

Minecraft_Education_Edition_002

「CODE BUILDER BETA」をダウンロードして Zip ファイルを解凍すると、フォルダの中に「codeconnection.msi」のファイルがある。これをインストールする。

Minecraft_Education_Edition_020

「codeconnection.msi」をインストールして起動すると、次のような画面が表示される。この状態で、「codeconnection.msi」を実行しているコンピュータがコードコネクションのサーバーとしての役割を担うようになった。

Minecraft_Education_Edition_004_mid_640

この状態でマインクラフトのエデュケーション版を実行する。実行したら新しい世界を作り、まずゲームの世界に入ってから「Enter」キーを押してコマンド入力をする。コマンドは、Code Connection で表示されたものを入力するが、Code Connection の画面のコマンド右にあるアイコンをクリックするとコマンド列がコピーされるので、その場合はペーストするだけでよい。

Minecraft_Education_Edition_021_mid_640

サーバーに接続できると「サーバーの接続を確立しました」のメッセージが表示される。

Minecraft_Education_Edition_022_mid_640

このとき、Code Connection は次のようになっている。

Minecraft_Education_Edition_011_mid_640

「MakeCode」と「Scratch」そして「Tynker」のメニューがある。まず「MakeCode」をやってみよう。MakeCode」はマイクロソフトの学習環境だ。「MakeCode」のボタンを押すと、次のように MakeCode のモジュールがロードされる。

Minecraft_Education_Edition_013_mid_640

MakeCode が呼び出されると次のような画面になる。ブロック型のプログラミング環境だ。

Minecraft_Education_Edition_014_mid_640

このとき、Minecraft 側では次のようになっている。このとき、ユーザーが「エージェント」になったのだと思ったがそうではなく、ユーザーとエージェントが重なっているからこう見えた。

Minecraft_Education_Edition_023_mid_640

実際はこのように、ユーザー自身とは別のエージェントが出現している。

Minecraft_Education_Edition_027_mid_640

動作を確認するために、次のような簡単なコードを書く。ブロックなので「書く」というより「組み立てる」というかんじだろう。

Minecraft_Education_Edition_024_mid_640

このコードは、コマンドで「run」と入力されたときに動くものであり、「~0」というのはユーザーエージェントからみた相対的な位置を示している。ユーザーエージェントの位置から、X、Y、Z軸に対して 100 × 100 × 100 の位置まで、ブロックで埋めるというコードだ。

Minecraft 側で実行しよう。

Minecraft_Education_Edition_026_mid_640

すると、ユーザーエージェントの位置から巨大なブロックが積み上げられることがわかる。

Minecraft_Education_Edition_025_mid_640

これまででも Minecraft はコマンドの利用によりブロックを配置しユーザーをコントロールすることもできたが、あくまでも一行単位のコマンドしか実行できなかった。しかし新しいマインクラフトのエデュケーション版では、このようにプログラミングができる環境が整った。

これによりマインクラフトは本格的なプログラミング教育のプラットフォームになったといえる。

(この記事では最初、ユーザー自身がエージェントになったかのような勘違いをしていましたが、ご指摘により書き直しました。)

松本吉生 Yoshio Matsumoto

マインクラフトのエデュケーション版にプログラミング機能「コードビルダー」が実装された。マインクラフトは本格的なプログラミング教育のプラットフォームになった。

2017年5月2日にニューヨークで行われたマイクロソフトの教育イベント「Learn what’s next.」でマインクラフトの新しいバージョンと新機能の概要が発表された。マインクラフトには「コードビルダー」が実装され、マインクラフトは本格的なプログラミング教育のプラットフォームになった。

Minecraft_Education_Edition_008

Microsoft Learn what’s next.
https://blogs.microsoft.com/blog/2017/04/12/save-date-learn-whats-next/#sm.001lojei91eiodt7v6o2qn6lbsw18

この新しいマインクラフトのエデュケーション版の大きな特徴は「コードビルダー」と呼ばれるプログラミング機能が実装されたことだ。

マインクラフトのエデュケーション版では、コマンドによって学習者を操作し、ブロックを世界に配置して環境を整えることができた。しかしそれは、コマンドウィンドウからの直接入力であり、1行ずつ実行することしかできなかった。しかし新しいマインクラフトのエデュケーション版では、プログラミングによってプレイヤーを動かし、世界を作っていくことができるようになる。

詳細は Minecraft Education Edition の Web ページでわかる。

Minecraft Education Edition
https://education.minecraft.net/

Minecraft_Education_Edition_009

新しいバージョンを利用するには、Code Builder Beta をダウンロードする。ダウンロードの直リンクは次のページだ。

Minecraft Education Edition
https://education.minecraft.net/get-started/download/

Minecraft_Education_Edition_002

「コードビルダー」の機能によってマインクラフトは本格的なプログラミング教育のプラットフォームになった、と、まずは言うことができるが、もしかしたらこれは初めの一歩であり、この先に壮大なプログラミング世界の大革命がやってくる予感がする。体が震えるほどの期待に満ちている。マインクラフトには学校教育者だけでなく、職業プログラマーも要注目だ。

松本吉生 Yoshio Matsumoto

マインクラフト講座 チュートリアル編 第2回「ブロックについて」

皆さん、こんにちは!

井下です。今回は、以前投稿した「マインクラフト -クリエイティブモードでの各ブロックのタブ機能について-」の説明を動画にしたのでご紹介いたします。

 

動画:タカトモのマインクラフト講習 チュートリアル編 第2回「ブロックについて」

 

今回は、5分を超える動画となっています。

 

井下 貴朝(TAKATOMO INOSHITA)

マインクラフト Education Edition の勘所(1) – コマンドを使ってブロックを操作する

マインクラフトの Education Edition をプログラミング教育に利用するにはいくつかの勘所がある。そのひとつにコマンドの利用がある。

マインクラフトの世界を授業で使うには、教材となるブロック環境をあらかじめ作っておかなければならない。それを手作業で作っていては時間がいくらあっても足りないだろう。そこでマインクラフトの Education Edition に備わっている、コマンドの機能を使う。

たとえば、縦横 20 ブロック四方の平らな石の環境を作りたいとする。20×20なので400個のブロックを敷き詰める作業だ。これを手作業でやるのではなく、コマンドで実行する。ブロックを配置するコマンドは、「fill」コマンドだ。

マインクラフトの世界は、地図上で縦横、そして垂直の 3軸で表現される。横軸が X で右にいくほど数値が大きい。縦軸は Z で下にいくほど数値が大きい。垂直は Y で高さが高いほど数値が大きい。

たとえば、地面の高さが Y=4 だとして、地面の一部分、X=1 から 20 まで、Z= 101 から 120 までの範囲に石を敷き詰めるならば、次のようなコマンドになる。「fill」はブロックを配置するコマンドで、「1 4 101」は X、Y、Z で表す開始位置、「20 4 120」は X、Y、Z で表す終了位置、「stone」は配置するアイテムの名前だ。

/fill 1 4 101 20 4 120 stone

Minecraft_Education_Edition_001_mid_640

このコマンドで作ったものが上のワールドだ。このようにコマンドを使って効率よく授業で使う教材となるワールドを作ることができるようになっている。

松本吉生 Yoshio Matsumoto

ユーチューブにてマインクラフトの動画投稿を開始しました。

マインクラフトの簡単な操作方法について、画像で表現できないところを効果的に表現できるよう動画投稿サイト「ユーチューブ」に動画として投稿しました。以下がそのリンクです。

タカトモのマインクラフト講座 チュートリアル編 第1回「基本操作」

今後も、当サイトで画像ベースの説明、動画投稿サイトで動きのある説明を行いたいと思います。

それでは、また次回。

 

井下 貴朝(TAKATOMO INOSHITA)

2017年4月22日(土)開催の「マインクラフトとプログラミング教育」勉強会で発表する小学6年生の「マイクラフト・エバンジェリスト」達がデモを考えています。

P1480295_mid_640_480

2017年4月22日(土)開催の「マインクラフトとプログラミング教育」勉強会で発表する小学6年生の「マイクラフト・エバンジェリスト」達が集まってデモを考えています。デモは、次のようなことを考えて計画しています。

1.参加者にわかりやすいシンプルなものを考える。
2.しかけを地面に埋めたりせず、見えるように作る。
3.動きがビジュアル的に見えるしかけにする。
4.短い時間で間違いなく操作できるように練習する。
5.作りながらしゃべって説明できるように練習する。

子供たちは真剣にプランを練り、練習をしています。勉強会当日をお楽しみに!