2010年12月26日日曜日

学校教育を取り巻く意識化されてない問題(1)

以前、自分が主催するMLで語ったことですが、学校現場を圧迫するお仕事群の中で、納得できないことがいくつもあります。その内の一つ。「広告戦略として利用される学校」という現実があります。

学校には、様々な企業・団体から、子どもたちに関わる取り組みやキャンペーンなどのチラシや冊子、ポスターなどがやってきます。学校の教職員は、それを疑い無くせっせと配布したり貼り出したりして、子どもたちからの申し込み書や作品を回収し、場合によっては整理して表などにまとめ、作品を選考して梱包して返送するなどの対応をします。すべて「子どもたちのため」という大義名分のもと、企業や団体の宣伝活動に従事しているのです。(「職務専念の義務」はどこへ行ったのかなぁ?)

確かに、学校へ送りつければ、ほぼ確実に子どもたちの手元に届くでしょう。お金をかけてダイレクトメールを送ったり、大量の人員を動員して街頭でビラ配りをしたり、子どもが立ち寄りそうな店先などでビラを置いてもらったりという方法も考えられますが、学校へ送りつけるほど確実で金のかからない方法はありません。その意味で、企業の広告戦略として、できるだけ金をかけずに名前を売るのには最適な方法(費用対効果という点でも、利用しない手はない)だと思います。しかし、このままで本当に良いのでしょうか。

既に民間企業になった元公的機関を含めて、公私にわたってやってくる(一見広告に見えないことも含めた)広告の数々。学校内を見渡せば、広告戦略に利用されている学校の実態があちこちにあります。こんなことのために、それほど潤沢でもない教職員のリソースを食いつぶされて良いものでしょうか。本当は、もっと重要な子どもたちのケアや授業の質的向上がなおざりになってしまうのではないかと危惧します。企業や団体も、本気で子どもたちのためを思うなら、学校で足りないものを寄付したり、教職員が安心して仕事に専念できるような環境づくりのために協力すべきだと思います。利用するだけ利用して、助けようともしないという体質は、アマチュアスポーツ界の問題だけでなく、学校現場にも関わる重大な問題だと思います。

こうした学校教職員のタダ働きに対して、これまであまり問題視されてきませんでした。「学校に送っておけば先生たちが何とかするさ」というような軽い気持ちなのでしょうが、そうしたものを受け取るたびに、屈辱的な気持ちになります。さらには、配布したはずのチラシや冊子が教室や校舎の中に落ちているのを見て、こんなものさえなければ、ゴミも増えないのにと思いながら拾い集める虚しさを感じます。

もしかすると、多くの教職員はそれがあたりまえだと思っていて何の疑いもなくやっているのかもしれませんが、それを良いことに、すっかり利用されたままになっているのだということに気づく必要があると思います。

2010年12月18日土曜日

フィンランドの教育をめぐって

数年前から注目されているフィンランドの教育に関して、そろそろ資料も出揃ってきた頃かなぁと思い、検証を始めることにしました。注目されている理由は、今さら確認するまでもないことですが、OECDPISAテストで日本などを抜いて好成績をあげていることにあります。
#最新の調査でもトップにいます。

巷で言われていることや教員の間でウワサ話のように広まっていることから考えると、フィンランドの教育は、十分注目に価すると思われます。しかし、世界的に見ても独特な文化を持つ日本では、フィンランドの教育方法をそのまま受け入れるのは不可能だろうと思っています。つまり、フィンランドの教育は、フィンランドだったからこそできたのであって、日本とは違うのだと考えられるのです。私たちがフィンランドの教育から何かを学ぶとき、制度やシステムを猿真似しても意味がありません。日本の教育において、フィンランドの教育からどのような要素を取り入れることができて、取り入れることができないことは何かを考えるために、虚飾やイデオロギーとは関係ない立場で書かれたものを読んでみたいと思いました。

そこで見つけたのが「受けてみたフィンランドの教育」でした。内容としては、教育関係者の視点よりも、高校生で留学した娘とその母親の体験記のような形で書かれていて、教育専門書とは趣が違います。そこがいい。日本的価値観に縛られていない感じだけど、それはあえて抗っているわけではないところもまたいい。文面や行動パターンから察すると、利発で向学心があって、普通の子とはちょっと違うけど、逸脱しすぎているわけではないから好感が持てる人だなぁと思いました。

何よりも、彼女がフィンランドの教育を受けながら、いろいろなことに気づいて成長していく様がとても興味深い。「フィンランドの教育を紹介しよう」という意図は、あまり強く感じられないのに、日本とフィンランドでは教育文化が大きく違うことがハッキリと見えてきます。さらに言えば、教育、学校、子ども、教師…など教育に関わるキーワードに対するイメージがことごとく違うと言っていいと思います。それは、どちらが良いとか悪いとかということではなく、「違う」のです。

本来、学ぶことで自在の境地を得るのであり、それは楽しいことだと言っていいはずです。わかったときの世界観の広がりは、他の何にも代えがたい快感だと思います。しかし、学ぶことが単に内容の丸暗記や作業スキルを向上させるだけのようになってしまうと、快感とは程遠くなるでしょう。せめて、学ぶことが苦にならない社会を目指していく必要がある気がしました。

2010年12月8日水曜日

「小学校にフィジカル・コンピューティングを」更新

拙作のWebサイト内にあります、「小学校にフィジカル・コンピューティングを」のページを更新しました。

其の8…今回の学習活動のために使用したセンサモジュールなどを紹介しています。
其の9…HelloBoardを利用してモータを動かす方法などについて紹介しています。

昨日、10月から取り組んできた「ちょっとの工夫で豊かな未来」と題した子どもたちの学習活動のまとめの発表会を行って、何とか無事に終了することができました。この後は、散逸しているデータを集めてレポート作成に取りかかります。これもまた地味な割に重たい作業なのですが、子どもたちの努力に報いるためにもがんばりたいと思っています。

少ない時間の中で、考えをめぐらせてScratchでプログラミングをしたり、様々な動くものを作ったりしてがんばった子どもたちに、心から拍手をおくりたい気分です。

今回の活動では、自作のKNOPPIX4Roboで動くPCとScratchにPicoBoard(久しぶりに調べたらUSB接続対応になっている!)やWeDoHelloBoardミュウロボなどをつないで使ってもらいました。また、これらと一緒に電子部品や自作のモジュールなど、様々な道具を使いました。子どもたちにとって、「普通に使って」いても、不具合が生じることが多くて対応に追われましたが、私自身もよい勉強になりました。

ここまで来たら、PicoBoard(あるいはHelloBoard)さえも自作できるのではないかという妄想が沸き上って来てしまいます。(仕様は公開されています)手始めに、Arduinoに載せられるSensorBoardシールドなんかを作ってみようかなぁと思っています。(いつやるのかなぁ…)

2010年11月30日火曜日

MacでPK2Cmdを使う

前回の続きですが、「プリント基板で作るPIC応用装置」の中で紹介されている、PIC24FJ64GA002を使ったテレビ表示装置を作ってみることにしました。
#部品は、息子と都内へ出かけたついでに買ってきました。

まずは、MacからPIC24FJ64への書き込みが可能かどうか調べてみると、PICkit2のサイトから(前回使った)Macに対応した「PK2CMD V1.20 Mac OS 10.4 & 10.5 Universal Binary」をダウンロードしてインストールすればよいことがわかりました。とはいえ、インストーラがある訳ではないので、ターミナルからCUIで作業ができるように、手作業で必要なファイルをコピーすることにしました。

PICkit2のサイトからダウンロードしたPK2CMDの.zipファイルを展開し、ターミナルを起動して展開したフォルダへ移動してから、以下のコマンドでそれぞれのファイルをコピーします。
$ sudo cp pk2cmd /usr/local/bin
$ sudo mkdir -p /usr/local/share/pk2
$ sudo cp PK2DeviceFile.dat /usr/local/share/pk2/
この後、「cd」で自分のユーザフォルダに戻って「.bash_profile」をviで開いて編集します。書き加えるのは、次の一行です。
PATH=/usr/local/share/pk2:$PATH
これで無事に使えるようになりました。試しにターミナルで「$ pk2cmd」と打ち込むと、ヘルプが表示されます。(表示されなければインストールがうまくいっていません)また、「$ pk2cmd -P」とすると、PICkit2につながっているPICの種類を表示します。(見つからない場合は、PK2DeviceFile.datへのパスがうまく通っていません)

最後に「プリント基板で作るPIC応用装置」のサポートサイトからテレビ表示装置用の.hexファイル(.zipファイルに圧縮されている)をダウンロードして自分のユーザフォルダに展開し、以下のコマンドでPIC24FJ64に流し込んでみました。
$ pk2cmd -P -F/Users/<ユーザ名>/ntsc-video/ntsc-video.hex -M -R
これで「KnutPK2(クヌートピーケーツー)」が対応していないPICにも.hexファイルを流し込むことができるようになりました。調子に乗って、「8ピンPICではじめてのマイコン工作を始める」とPIC12F683を購入して、ユニバーサル基板で何か作ってみようと思っています。

2010年11月8日月曜日

Mac & LinuxでPIC開発環境を構築

以前から気になっていたMicrochip社製のマイコンであるPICを使った電子工作やフィジカル・コンピューティングに挑戦してみようと思い立ち、MacやLinuxで何ができるのか調べてみました。Winなら簡単にPICの開発環境が構築できるようですが、MacとLinuxしか使っていない私は、まずはメインで使っているMacでPICの開発環境を構築するために、あっちこっち調べ回って次のサイトを見つけました。

Mac OSXでPICプログラミング

ここに書かれていることから、とりあえずMacでPICの開発環境を構築することが無理なことではないということがわかったので、教材として「プリント基板で作るPIC応用装置」を購入し、部品を集めて電子工作することにしました。抵抗やコンデンサなどは自宅に在庫があったので、重複して買うのはもったいないと思い、キットではなく足りない部品だけを買い集めることにしました。
#詳しくは、ラトルズのサポートページをご覧ください。

PIC開発環境の構築は、HI-TECHソフトのWebサイトからPIC用のCコンパイラ(正しくは「HI-TECH C for the PIC10/12/16 MCU Family」という名前で公開されている)をダウンロード(ユーザ登録してからログインする必要あり)して展開するところから始めました。すると、「picc-pro_9…」からはじまる.run実行ファイルが現れるので、これをコンソールで「chmod +x(実行権限を加える)」して「./」をつけて実行します。これで、自動的にインストール作業が進んで行くのですが、途中、ライセンスについて同意を求められたり、自分の環境に合わせてどこにインストールするのか聞かれたりするだけで、無事にインストールは成功しました。
#「久世に訊け!!ver.2008」の「HI-TECH C PRO for the PIC10/12/16 MCU family(Lite)」を参考にして作業を進めました。
#「./docs/licence.txt」と表示されたら、キーボードの下向き矢印を押すと続きが表示されます。

ここで、HI-TIDEを探しましたがいくら探しても見つけることができなかったので、「久世に訊け!!…」の記述を信じてXcodeでPIC用Cコンパイラを動かすことにして、先に進めることにしました。

次に、秋月で購入したPICkit2でPICにプログラムを流し込むソフトを導入します。PICkit2のWebページの下の方にある、「pk2cmd(Mac版およびLinux版は非サポートでVer.1.20)」というコマンドラインベースのソフトウエアをダウンロードして展開します。ありがたいことに、先の「久世に訊け!!…」のサイトに、「KnutPK2(クヌートピーケーツー)」というGUIツールが公開されているので使わせてもらうことにしました。

これで、「プリント基板で作るPIC応用装置」で紹介されているいくつかのものは、作れそうです。問題は、KnutPK2がサポートしているPICマイコンの種類が少ないこと。きっと、よく使われるものだけに限定しているのだろうと思いますが、「プリント基板で作るPIC応用装置」で紹介されているものの中に、サポート外のものがあります。また、Gainer miniで使われているPIC18F2550も使ってみたいと思っていますが、これもサポート外です。GUIのツールがダメなだけなので、コマンドラインで使えばよいのかもしれませんが、Macらしくない感じがして微妙な気分です。

【追記】PICのユーザーズガイドを読んでいて、「Eclipse」で開発環境を構築できることがわかってきました。早速、Mac&LinuxでEclipseを導入し直して、PIC開発環境を構築してみました。「POINT YOUR DRAGON」(英語)というサイトがとても参考になりました。これを見ると「GPUTILS」や「SDCC」を使うとよい感じだということがわかりました。幸い、UbuntuのSynapticパッケージマネージャからダウンロード&インストールが簡単にできたので、これを使ってみようと思っています。MacでのSDCCの使い方は、「久世に訊け!!…」がわかりやすいです。ちょっと古いのですがsdcc 3.x系を使えば問題ありません。(2010.11.10)

2010年11月5日金曜日

KNOPPIXのsources.listを直しました

KNOPPIX 6.xのSynapticパッケージマネージャでソフトの更新ができなくなってしまっていましたが、先ほど、気になっていたaptのsources.listの設定の仕方について検索して、以下のサイトを参考にしながら、KNOPPIX4Robo(HDDインストール済)の「/etc/apt/sources.list」を編集してみました。

Linuxゲリラ戦記
Debian JP Project

書き込んだ内容は以下の通りです。
deb http://ftp.jp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ stable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
sources.listの中身がごちゃごちゃしていて、重複しているものもあったのできれいに整理しました。すると、Synapticパッケージマネージャが落ちなくなって、更新作業ができるようになりました。やはり、整理・整頓というのは大切なんですね。(しみじみ)

次は、KNOPPIXがインストールしてある20台ほどのラップトップPCの更新作業が控えています。これまで、手つかずの状態だったのですが、時間を見つけて作業をしたいと思います。

ちょっと疑問なのは、Scratchのdebパッケージがいつも削除の対象になることです。PulseAudioの設定につまずいているのはわかっているのですが、それにしても更新のたびに削除されたのでは困ります。これも何とかならないものかと思っています。

【追記】安定版だけだとあまりにも古い感じなので、テスト版も含めることにしました。追加したリポジトリは以下の通りです。
deb http://ftp.jp.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ testing main contrib non-free

deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
ついでにvolatileも復活させました。
deb http://volatile.debian.org/debian-volatile stable/volatile main
deb-src http://volatile.debian.org/debian-volatile stable/volatile main
これでもちゃんと動いてくれました。(2010.11.7)

2010年11月4日木曜日

KNOPPIX4RoboをUSBメモリにインストール

これまで更新作業を行ってきたKNOPPIX4RoboをUSBメモリにインストールしてみようと思い立ち、2GBのUSBメモリを2つ用意して作業を開始しました。

もともと、KNOPPIX 6.0.1をベースにして作っているので、KNOPPIX4RoboをCDブートしてUSBメモリを挿し、「システムツール」メニューから「Install KNOPPIX to flash disk」を選べばO.K。のはずだと思ってやってみたのですが、USBメモリへのインストールはできるものの、いざ起動しようとするとX Windowがうまく起動しません。以下のサイトを参考に(ちょっと古い感じだけど、このくらいしか見つからなかったので)チートコード付きで起動を試みました。

http://www.eng.tohoku-gakuin.ac.jp/knoppix/cheatcode.html
http://www.aichi-c.ed.jp/apecknoppix/base34r2/knoppix_chap1.htm

とにかくいろいろと試してみましたが、納得が行く結果は得られず、「knoppix 3」でCUIでの起動には成功したものの、それじゃあ意味がないという感じ。いくつかの違うPCで試してみましたが、どれも似たような結果でまともに起動しません。CDからは起動できるのに、USBメモりからは起動できないということは、CDのイメージが丸ごとUSBメモリに反映される訳ではないということか、あるいは、CDの場合とUSBメモリの場合とでは起動の仕方が微妙に違っているということか…などといろいろ考えてみましたが解決策が見えません。もう少しがんばってみようと思いますが、消耗戦になりそうです。

2010年10月31日日曜日

KNOPPIX4Robo 2.xの更新

前回の1.x系の更新に引き続き、KNOPPIX4Roboの2.x系の更新作業を行いました。更新の中心は、1.x系の更新と同じ作業をすることと、Arduino-IDEとProcessingをインストールすることです。今回は、今まで$HOME(/home/knoppix/)にインストールしていたものを、できるだけ「/usr/local/bin/」に移動し、$HOME内をスリム化することも作業リストに入れました。
#同様の作業を1.x系でも行って、作業環境としての共通性を保持することにしました。

必要なファイルとフォルダを所定の場所に配置した後、chrootで作業開始。etoys(3.0)を削除したり、Scratchのソースから作って頂いた各種Scratchを1つにまとめて、それぞれをシェルスクリプトで起動できるように(この作業は1.x系でも行った)したり、更新したApplicationをLXDEメニューから起動できるようにdesktopファイルを書いたり、必要ないファイルやフォルダ(更新のために使って必要なくなったものも)を削除したりして、無事に更新作業は終了しました。

ところが、この作業が終わった段階で、sourceフォルダが1.9GB近くまで膨れ上がってしまいました。これでは、圧縮しても700MBのISOに収めるのは難しいです。そこで、あっちこっちフォルダを覗き込んでいらないファイルを削除した後、Processingのexampleフォルダから、フィジカル・コンピューティングに関係ないファイルを削除しました。

さて、おもむろにあの長いコマンドを打ち込んで、KNOPPIXを圧縮します。今回は、「create_compressed_fs」に「--best」オプションをつけてみました。すると、その作業時間の長いこと!圧縮作業が終わるまで、約3時間もかかりました。1回目は700MBオーバーしたためにやり直して、2回目はdesktopファイルの設定ミスでやり直して、三度目の正直でようやく完成しました。(合計約9時間!!!)

一応、必要なソフトウエアは動作することを確認しました。(ハードウエアをつないでいないので本当に動くか微妙ではありますが…)今回は、いろいろな作業の合間をぬって行ったので、本当に疲れました。(^_^;;;

2010年10月23日土曜日

KNOPPIX4Robo 1.xの更新

授業で使うために、約1年ぶりにKNOPPIX4Robo 1.1を更新することにしました。これまでの経緯は、リンク先からたどって頂ければありがたいのですが、いかんせん、本職が忙しくてなかなか本格的な更新作業に取り組めません。そこで、純粋に授業に使うものだけを収録した1.x系列の更新のみを行うことにしたのでした。

とは言え、既に1年前の話となっているので、sourceファイルを探すところからスタート。自宅にあるHDDのどこかにあったような気がしていたのですが、諸々の作業の合間に削除してしまったらしく、どこを探しても見当たりません。しかたがないので、昨年作ったKNOPPIX4Robo 1.1のCDから起動して、取り出すことにしました。
#この方法は、ある意味で効率的です。

更新作業は、(1)Scratchを更新してWeDoが使えるようにする、(2)Dolittle 2.1をインストールしてミュウロボが使えるようにする、の2つの作業を行いました。

(1)については、最新版のScratch 1.4のdebパッケージをインストール(sudo dpkg -i 〜)し、これまでと同様に、日本語poファイルを上書きしました。続いてWeDoに対応させるために、OLPC用のScratch-16.xoをダウンロードし、「.xo」を「.zip」にリネームして展開し、以下の作業を行いました。
#例によってabee2さんに教えて頂きました
$ cd Scratch.activity
$ sudo cp WeDoPlugin-disabled /usr/lib/scratch/Plugins/WeDoPlugin
$ sudo ./installWeDoRules.sh
#「WeDoPlugin」ファイルのパーミッションを一般ユーザまでリード可能にしておかないと、思い通りの動作をしてくれません。

これで、Linux版のScratchでもWeDoが使えるようになります。

(2)については、わたやんさんのdebパッケージを利用して、インストール作業(Scratch 1.4と同様)を行いました。debパッケージを作って頂いたおかげで、本当に作業が楽になりました。今までLinux用にカスタマイズした状態で$HOMEに保存していたフォルダも、きれいさっぱり削除しました。これで、ちょっと軽くなりました。

ついでに、Etoys 4.0を同4.1(今見たら、4.1.1になっている…)に置き換えました。こちらは、debパッケージがないので手動でLinux用にカスタマイズし、LXDEのメニューに登録する作業を行いました。

という訳で、またいつもの長いコマンドと格闘しながらどうにかKNOPPIX4Robo 1.2のISOファイルを作ることができました。CDに焼いて動作確認をしましたが、2度の失敗の後、ようやく満足できるものができ上がりました。次は時間を見つけて、2.x系列の方に入っている、Arduino-IDEやProcessingの更新作業をして行きたいと思います。

2010年10月16日土曜日

KNOPPIXのソフトを更新できません

先日、ハードウエア的なトラブルに見舞われてUbuntu 10.04での運用を断念したマシーンをKNOPPIXで再生しようと考えて、以前にKNOPPIXをインストールしてあったHDDに再インストールしてみました。インストールそのものは難なく終わったのですが、そのままでは味もそっけもない感じ。そもそも、インストール直後はデスクトップが真っ黒で「Compiz」も動いていないので、使いにくいことこの上なしです。

そこで、カスタマイズを始めたのですが、ソフトウエアを更新したりインストールしたりしようと思ってSynapticパッケージマネージャを動かすと、パッケージリストの更新作業中にエラーを吐いて停止してしまいます。繰り返し行ってもダメなので、一度閉じて再び作業をしようとすると、パッケージマネージャ自体が起動しなくなりました。どうやら、リポジトリに関する設定ファイルが開けないと言っているらしいことが分かりました。

しかたなく、いろいろなサイトを見て回って、何となく「/etc/apt/sources.list」や「/var/lib/dpkg/status」あたりの問題ではないかと考えてパーミッションの設定を変えてみましたが、まったく改善されません。「/etc/apt/apt.conf.d/」の中身のファイルもパーミッションを変更してみましたが意味がなかったようでした。

このままだと、来週使う予定の「KNOPPIX4Robo」の更新がままならないので、とても困った状況になりました。とはいえ、いつまでもこんな作業ばかりをしているわけにもいかないので、各種ソフトウエアは古いまま、必要最小限の更新で我慢するしかありません。いずれにしても、これまで苦労してきたことが報われない状況にありますので、このままで終わらせるのはちょっと悔しい気がします。また、時間を見つけてリベンジしてみたいと思います。

2010年10月10日日曜日

Mac & LinuxでPepperの動作テスト

そろそろフィジカル・コンピューティングの授業のために準備をしようと考えて、購入したキットを組み立てる作業をはじめました。手始めに、Pepperから作り始めよう(部品数が少なくてすぐに作れるから)と考えて、以前にスイッチサイエンスさんで購入して組み立てたままになっていたのPepperがあったのを思い出し、まずはこいつから動作テストをすることにしました。

軽い気持ちでUbuntu 10.04で動かしているPCとPepperをつなぎ、Processingからそれらしいプログラムを流してみました。しかし、どうにもうまく行きません。Linuxだからダメなのかもしれないと思ってMac OS X 10.5.8からもやってみましたが、やっぱりダメです。「ハンダ付けが下手なのか?」と疑ってみましたが、それぞれの環境で「/dev」以下を覗いてみると、ちゃんと認識されているのです。さてはProcessingに関する問題だろうと推察し、いろいろと調べて回りました。すると、次のような手順でセッティングをしないと、Pepperを動かすことができないということがわかりました。
#やらなければならないことは、MacもLinuxも同じですが、やり方が少し違うので注意が必要です。
  1. Pepper用の「gainer.jar」を導入する
    デフォルトのGainerライブラリだと、Pepperをうまく認識してくれないようなので、PepperのダウンロードサイトからPepper用のgainer.jarをダウンロードして、Processingに導入します。
  2. Pepperに対応した「RXTXcomm.jar」を導入する
    Pepperを接続した際、Macでは「/dev/cu.usbmodem****(「*」は数字とアルファベット)」として認識され、Linuxでは「/dev/ttyACM*(「*」は数字)」として認識されます。この状態で、デフォルトのRXTXライブラリではProcessingとPepperをつなぐことができないため、Pepperに対応したRXTXcomm.jarを導入します。
    #ページの中央付近にリンクされています。
  3. Processingのpdeファイルに接続先を明示する
    いわゆる「Lチカ」で動作確認するために、Pepper用に書かれたpdeファイルを探した(横着ですみません…)ところ、エレキジャックさんのWebサイトにフォローアップ記事があり、これを使うことにしました。それぞれの環境で「/dev」以下を確認し、どのように認識されているのかを確認した上で修正します。
    修正前:gainer = new Gainer (this, Gainer.MODE1);
    修正後(Mac):gainer = new Gainer (this, "/dev/cu.usbmodem****", Gainer.MODE1);
    修正後(Linux):gainer = new Gainer (this, "/dev/ttyACM*", Gainer.MODE1);
    #フォントが導入されていない場合は、続く「myFont…」と「textFont…」の行をコメントアウトしてください。
  4. 回路を組んでPepperをつないで動作確認する
    記事の通りに回路を組んで、Processingからpdeファイルを動かす(Run)と、ちゃんと期待通りに動いてくれました。他のものも試してみましたが、問題ありませんでした。
はじめは、すぐに済むだろうと思ったPepperの動作テストでしたが、思いの外時間がかかってしまいました。KNOPPIX 6.2では、Ubuntuと同じ方法でやっても動きませんでした。こちらはもう少し時間がかかりそうです。たぶん私以外にも苦労されている方がいらっしゃるだろうと思って、ここにまとめてみましたので参考にしてみてください。(「自己責任で」というのは、いつものパターンですが…)

2010年9月18日土曜日

2年目のカブトムシの幼虫飼育中

猛暑が続いた夏を過ぎて、秋の気配が感じられるようになってきました。まだカブトムシが生きている8月から始めた卵からの幼虫飼育ですが、昨年の同じ時期に比べてたくさんの幼虫がみつかりました。とはいえ、飼いきれないほどたくさんのカブトムシを育てても仕方がないので、14匹は麦茶ボトルに飼育用マット(クヌギベース)を入れて個別に育てて、残りの卵はバケツと飼育ケース(成虫が入っていた)に入れたまま、しばらく放置していました。1ヶ月半ほど経ったのでマットの様子を見てみると、糞の比率がだいぶ多くなってきていたのでマットの交換をすることにしました。

卵はすっかり幼虫に孵化し、出るわ出るわで29匹もおりました。顔だけの残骸も2つ見つけたので、適当に淘汰されたであろうことはわかりましたが、それでもちょっと窮屈な状態です。そこで、飼育ケースをもう一つ購入しようと、近所のホームセンターに行きました。9月も半ばだというのに、カブトムシ飼育用品コーナーが残っていて、幼虫飼育もちょっとしたブームなのかと思いながら、飼育用マットと飼育ケース(特売品でサイズ的にちょうどよいものが見つかった)を購入してきました。

自宅に戻って、バケツと飼育ケースの中身をひっくり返してふるいにかけて糞を取り除き、以前に買っておいた飼育用マットに加水して混ぜました。(今回購入したものは、11月頃に使う予定)バケツ飼育をやめて2つの飼育ケースにそれぞれ大きさ別に幼虫を入れてやりました。今まで使っていた大きくて深い飼育ケースには大きな幼虫を、今回購入した平たい飼育ケースには小さい幼虫を入れました。幼虫たちは、早速もぞもぞとマットの中に潜り込んで行きました。これからしばらく、旺盛な食欲を見守って行きたいと思います。

3年目を向かえたコクワのメスは、飼い主(私)の忙しさからパートナーに巡り会わないまま越冬することになりそうです。コクワがこんなに長生きだとは、思ってもみませんでした。

2010年8月21日土曜日

プログラミングができるWebアプリケーション(2)

以前に、プログラミングができるWebアプリケーションとして、「eBasic」と「オンライン版ドリトル」を紹介しましたが、これらのWebアプリケーション以外にも、子ども向けのプログラミング学習環境として活用できそうなものがあっちこっちで紹介されていたので、以下にまとめておきます。

PEN
Webサイトでも「初学者向けプログラミング学習環境」として紹介されているだけあって、とてもわかりやすい作りになっています。PENで使われるプログラミング言語は、「xDNCL」と呼ばれるもので、大学入試などに使われる「DNCL」に準拠したものだそうです。アプレット版があって、Web上で使うことができます。プログラミングの経験があれば、簡単に使いこなせると思います。

ビスケット
Web上でプログラミングをすることを前提とした作りになっているものです。おもしろい特徴として、絵を描く場所(キャンバス)を共有することができ、共同作品を作ることができます。もちろん、独りでコツコツと作り上げても良いのですが、いずれにしてもネット上で公開することができるので、友だちの作業を引き継ぎながら完成させて行くということも可能です。残念ながらMac版のFirefoxでは、部品を作る窓の下の方がうまく表示できず、作品を作ることができませんでした。これはとても残念です。(改善して頂けるとうれしいです。)

プログラミン
文部科学省のサイトで公開されているもので、かなり手の込んだ作りになっています。はじめの見た目はそうでもありませんが、使っているとScratchによく似ていることがわかってきます。部品のキャラクターはとても親しみやすいのですが、各部品をドラッグしてくるまで各部品同士にどのような関連性やつながりを持たせられるのかがわからず、ブロックの形や色で使い方や関連性をアフォードするScratchに比べると、完成度は今一かなぁという気がします。また、コンピュータやネットワークの環境によっては、かなり重たく感じる場合もあるのではないかとも思います。

いずれにしても、子どもたちに使わせてみないと本当に使いやすいかどうかわかりませんが、各Webアプリケーションが競い合って独自の方向を目指すのではなく、共通化できる部分は共通化し、互換できるところは互換させつつ、それぞれのよさが生かせるような流れになってくれるとうれしいなぁと思います。(贅沢な要望とは思いますが…。)

2010年8月20日金曜日

フィジカル・コンピューティングでおもちゃがロボットに

フィジカル・コンピューティングを小学校に持ち込む研究をしていますが、「ロボット制御」という切り口で考えたときに、安く手に入る市販のロボット教材が、どれもWinのみに対応したものばかりで、MacやLinuxを使う私にとっては、動作確認すらできない状態なのがとても歯がゆく感じていました。
#もちろん、ロボットを動かすためのGUIのツール(アプリケーションソフト)がないというだけで、シリアルポートを開けてコマンドを流し込めば動く可能性があるのでしょうけど、そんなことをする技術力もないし、動くかどうかもわからないものを購入できるほどの経済力もないのです。(^_^;;;

しかしちょっと発想を変えて、ArduinoGainerなどのオープンハードなマイコン基板を使うことで、電池で動くおもちゃや電子部品などを仕込むことができるおもちゃを、立派(?)なロボット仕立てることができるのではないかと考えました。つまり、MacやLinuxとArduinoなどをつないで、そこにおもちゃをつなげるようにするとおもちゃがロボットになるということです。これなら、もともとおもちゃですからWin専用ということもなく、穏やかな気持ちで作業に取り組めます。(私は、100円ショップやリサイクルショップなどを愛用しています。)

また、ArduinoならPCがなくても電池で動作するので、さまざまなおもちゃを自律型のロボットに仕立てることもできます。光らせたりメロディICをならしたりする程度なら、フォトカプラとの組み合わせでON/OFFを制御することが可能です。振動モータ程度ならトランジスタでもO.Kですが、普通のDCモータを動かしたいのならモータドライバIC(ブリッジドライバ)を使うことで動かせるようになります。いずれも、数十円から数百円程度で手に入る部品ばかりです。ちょっとだけ電子工作の知識や技術が必要ではありますが、それでも、数千円から数万円するロボットを購入することを考えれば、だいぶ経済的ではないかと思います。
#その意味から考えると、ミュウロボのコストパフォーマンスはすばらしいですね。できることは限られていますが、ArduinoやGainerなどで同じようなことをしようとすると、どうしてもコスト的に勝てません。(Pepperなら何とか行けるかな?)

もう一つ考えたいのは、リモコンやラジコンの利用です。コントローラをちょっと改造することで、本体に手を加えることなくロボットとして使うことができます。特に無線のコントローラで動作するおもちゃは、ArduinoやGainer+PCなどをコントローラにつなぐことで、本体に改造を加えることなく自律型のロボットにすることができます。ついでに、各種センサを取り付けて動きを変えることができたら最高ですね。これでチープなおもちゃも立派なロボットです。(私は、イスペット赤外線リモコンユニットを活用しようと考えています。有線のコントローラもあります。コストはちょっと高くなってしまいますが…。)

やりたいことはたくさんありますが、そろそろ子どもたちとどんな活動をするか決めて行かなければならないので、計画を文章化しながら考えを整理したいと思います。

2010年8月2日月曜日

カブトムシの幼虫と卵

先日お知らせした通り、羽化して飼育ケースの中で元気に動いているカブトムシたちですが、表に出てきて1週間くらい経つと、2匹のメスが交互にケースの底の方でモゾモゾと動き回っていてなかなか表に出てこなくなりました。これこそ産卵のサインと思ってそっとしておいたのですが、そろそろ幼虫が孵化しているのではないかと思い、マットをひっくり返してみることにしました。
#無惨な姿で見つかったカブトムシの残りの部分を探す目的もありました。顔や頭、羽根が見つかりメスだったということがわかりました。

蛹室作りや産卵のためにマットを少し固くしておいたところに、たくさんの卵がありました。まだ真っ白なものから、少し黄色くなっている(孵化が近い)ものまで十数個はあったと思います。幼虫は、既に7匹いました。あまりにも順調です。昨年は、卵を探すこともなくカブトムシたちが死ぬまで放っておいて、しばらくしてからマットをひっくり返して幼虫がいることを確認しましたが、今年は、予め卵や幼虫を別にしておいて、確実に育てて行く計画を立てました。

まず、エサとなるマットを夏場の安いうちに大量に購入しておいて、麦茶を入れるボトルにマットを詰めて、その中で1匹ずつ育ててみることにしました。この先、マットだけではお金がかかりすぎるので、適度に無添加の腐葉土を混ぜながら飼育して行こうと思っていますが、小さいうちはマットを食べてもらう方が良いだろうと考えて、はじめはマットのみにしました。突然ほじくり出されて、新しいマットの上に置かれた幼虫たちは、しばらくするとしっかりマットの中に潜って行きました。第1段階は成功といった感じです。

孵化していない卵ついては、バケツに同じマットを詰めてその中に入れ、孵化するのを待ちます。孵化が確認できたら、順番に麦茶ボトルに移していこうと考えていますが、あまり増えすぎると邪魔なので、適当なところで(成虫が死んだら)大きなケースにマットを高く詰めて、数匹一緒に飼育して行きたいと思います。昨年は、はじめに確認した時点で8匹一緒に飼育していましたが、最後には6匹になってしまったので、来年はもう少し確実に育てて成虫にできると良いなぁと思っています。

2010年7月30日金曜日

MacでJapaninoの水晶発振子を使えるようにするには…

先日、MacとLinuxで動作確認をした、学研の「大人の科学」マガジン付録のJapaninoですが、水晶発振子が動作していないという話があり、正確な時間の計測ができないことがわかりました。このままでも使えないことはないのですが、いろいろと調べていくとWinを使ったこの問題の解決方法はたくさん出てくるのに、Macを使ったものは皆無だったのでちょっとがんばってみることにしました。
【追記】この他にCrossPack-AVRもインストールしていました。(2011.1.9)
  • 使用したハードウエア
    ATMEL AVRISPmkII
    #ちょっとした修正に¥4,000.-(秋月)は高いかなと思いましたが、持っていて損はないだろうと思ったので思い切って買ってしまいました。
基本的には、これだけあれば修正作業は可能みたいです。あとは動作確認などに必要なものもあるのですが、それは別の話ということで。参考にしたのは、以下のWebページです。
http://d.hatena.ne.jp/OkibiWorksLabo/20100612/japanino_xtal
http://d.hatena.ne.jp/OkibiWorksLabo/20100613/xtal02
http://www.geocities.jp/jun930/ele/burn_bootloader.html

<修正手順>
  1. JapaninoのサイトからダウンロードしたArduino-IDEの中に入り(control+クリックで「パッケージの内容を表示」を選択)、「contents」→「Resources」→「Java」→「hardware」→「arduino」内の「boards.txt」を適当なテキストエディタ(今回はmiを使った)で開き、9行目の「japanino.bootloader.low_fuses=0xe2」を「japanino.bootloader.low_fuses=0xe6」に修正する。
  2. JapaninoのICSPにピンヘッダをハンダ付けし、Macに接続したAVRISPmkIIとJapaninoをつなぐ。ICSPの配列は、Arduino Duemilanoveと同じ(らしい)。
    #Japaninoにも電源が必要なので、Japanino付属の電池ボックスを接続しておく。
  3. Arduino-IDEを起動し、「ファイル」→「スケッチ例」→「Firmata」内の「StandardFirmata」を開く。
    #なぜかはわからないが、これでうまくいった。本当は、必要ないのかもしれない…。(^_^;;;
  4. Arduino-IDEの「ツール」→「マイコンボード」で「Gakken Japanino」が選択されているか確認し、同じく「ツール」メニューから「ブートローダを書き込む」→「w/ AVRISP mkII」でブートローダを書き込むとフューズビットの設定が修正(水晶発振子が使えるように)される(らしい)。
【追記】詳しく調べたところ、やはり3.は必要ありませんでした。(2011.1.9)

以上で、主な作業は終了です。動作確認をするには、一般的には「avrdude-GUI.exe」などのソフトウエアを利用するようですが、Macに対応したものを見つけることができず、ネットで見つけた時計のスケッチをJapaninoに送り込んで、ほぼ正確な時間が計測できていることを確認しました。
#このスケッチを動かすために「MsTimer2.h」が必要です。

試行錯誤した割に、簡単な手順でできてしまったような気がします。でも、これで本当に正しいのか、正直あまり自信がありません。いずれにしても、同じことをしてうまくいくとは限りませんので、自己責任でお願いをいたします。

2010年7月17日土曜日

カブトムシの羽化

昨年から飼い始めたカブトムシですが、春を過ぎて蛹化し、現在確認できただけで5匹のカブトムシが羽化しました。そのうち1匹がメスで、後はオスでした。

子どもの頃に一度だけカブトムシの幼虫を飼ったことがありましたが、蛹化した後、体を触ると頭を振る動作をするので、おもしろがって遊んでいるうちに死んでしまったという痛い経験があります。orz

その経験を踏まえて、飼育用のプラスチックケースの中にクヌギベースのマットを敷き、それをしっかりとつき固めて幼虫を入れ、蛹化しても十分に隠れた状態になれるようにしました。(そのため、蛹化した姿を見ていません…それもまぁ何ですが…)そのせいか、順調に育ってしっかり成虫になってくれました。以前に数えたときには7匹の幼虫がいたので、後2匹どこかに埋もれているのではないかと思います。(まだ羽化していないのかなぁ?)

【追記】メスが2匹になっていたので、羽化が遅れているのがいるというのがわかりました。もう1匹ももう少し待ってみます。(2010.7.19)
待っていたもう1匹は、無惨な姿で見つかりました。多分、羽化後の待機中に、他のカブトムシたちが掘り散らかしてしまったのではないかと思われます。(2010.7.25)

羽化を楽しみにしていましたが、いざ羽化してみると夜中に羽根の音を立ててうるさく動き回るので、家人には不評です。飼育ケースもそれほど大きくないので、外へ逃がしてやるのも良いかなぁと思っています。

ちなみに、小型の飼育ケースでは、3年目のコクワのメスが一足早く冬眠からさめて動き回っています。こちらはそれほど羽音を立てませんが、クヌギの木を噛み散らかしていたのには驚きました。小さい体でもパワフルですね。昨年オスが全滅してしまったので、新しいパートナーを探してあげないといけないと思っています。

2010年7月11日日曜日

MacでpTeXを使う環境を再構築する

以前に大学院へ通っていたとき、論文を書くためにMacでpTeXを使っていました。あれから2年が経って、しばらく使っていなかったpTeXの環境を新しくしてみようと思い立ちました。
LaTeX2e 美文書作成入門の改訂第5版が出たというニュースもあったので。

Ball-RWの「LeopardでTeX」を参考(まだ雪豹にしていないので)に、MacTeX Users GroupのWebサイトから「MacTeX.mpkg.zip」(約1.3GB)をダウンロードしました。これを展開してインストールすると、TeXShopまで一緒にインストールされます。そのまま使えるんじゃないかと思いましたが、それが甘かった。今一意図した動きをしてくれません。やはり、LeopardでTeXに従って、「JIS X0212 for pTeX」のページの中程から、旧パッケージの「bigptex071105.dmg」(約190MB)をダウンロードしてインストールしました。
#ついでに、「otfc20070324.dmg」(約4MB)と「espgs071105.dmg」(約30MB)もダウンロードしました。

LeopardでTeXに従ってインストールと設定を済ませ、試しに以前に作った論文をタイプセットして、PDFにしてみようとしましたが、なぜか「jbook.cls」がないと言われてしまいます。もう一度同じ手順でインストール作業を繰り返し、TeXShopもアップデートして、otfc…やespgs…もインストールしてみました。時間がないのでやったことを整理する間もなくいろいろと試した結果、何とか今までに作った論文をPDFにすることができるようになりました。
#結局、ダメだった根本原因は解明せず。(^_^;;;

さて、これで論文を書く環境を再構築することができました。当然のことながら、論文の中身が一番大切なんですけどね。

「教育」って難しいなぁ。でも、みんなで考えよう

最近の報道の中で、様々な分野の方々がその分野の中で、あるいは、その分野を超えて「教育」を語っているのを見て、「そんなに単純なことでもないだろうに…」と思うことがしばしばあります。私は学校教育の関係者ですから、特に学校教育に偏った話をします。

理不尽な要求をする親の問題にしても、そもそもはその親が子どもだった頃の対応に問題があったはずです。さらに言えば、その親の親への対応に問題があったのではないかと思います。それは、その時点での有効な解だったのかもしれませんが、結果的に問題を先送りしただけだったのだと思います。そして、その問題は今に続き、どんどんと複雑化してしまっています。今、この絡んだ糸を解きほぐす作業こそが、本当に求められているのです。
#日本人の「先送り体質」が仇になったのではないかと。

にもかかわらず、当時の教育関係者はそのことに思いをいたすことも少なく、多くの人は今の現状だけを見て、「今の教員は…」と批判を強めるわけです。そもそも「教育」って何ですか?「教育」によって何ができるんですか?「教員」って何をする人ですか?「学校」って何をするところですか?というようなことを、色眼鏡や思い込みなしで、個人的なノスタルジックな思い出を抜きに、はっきりとさせて行く作業が必要な気がします。(事業仕分けのように)そして最も重要なのは、この国の「学校教育」(あえて「教育」としない)をどのようにして行くのかということを大所高所から筋の通ったビジョンを描き、それを軸にして学校教育のシステム(法律などを含めて)を作り直すことだと思います。

というようなことを昨年(2009年)の1月に自分のWebサイトに書きました。
教育論議は、なぜ不毛なのか

相撲協会の不甲斐なさを嘆いたり、政治家の人材不足を嘆いたりする前に、「教育」をどうするかということを考えなければならないと思います。そして、教育の中でも重要な位置を占めている「学校教育」について、現場の声に耳を傾けて現状をしっかりと捉え直し、今現場で起きている喫緊の課題に正対し、良識ある人たちの力を結集して新たな学校教育の枠組みを構築して行かなければならないのだと思います。

2010年6月20日日曜日

「小学校にフィジカル・コンピューティングを」の更新

拙作「小学校にフィジカル・コンピューティングを」のページを更新しました。これまでに作ってきた様々な自作モジュールとロボットについて、写真を入れて紹介しています。
実際に子どもたちの学習活動として取り組むのは、後期(10月から)になりますが、それまでの間に基礎的な理論を構築し、教材の研究と確保に尽力したいと考えています。また、この活動には多くのみなさんからの支援や注目を頂いているので、これから10月に向けて連携を図り、より充実した学習活動が展開できるように周到な準備を行って行きたいと思っています。

これからの活動に乞うご期待!

これからも、活動の進捗状況などをこのBLOGでつれづれに綴って行きますので、よろしくお願いします。

2010年5月24日月曜日

Hブリッジドライバの動作確認

買ったままほったらかしになっていた「STA457C」(サンケン電気)というHブリッジドライバICの動作確認をしてみました。資料が乏しく(というより、自分の知識が乏しい…)わからないことだらけだったのですが、とりあえずメーカーのWebサイトから技術資料をダウンロードし、わからないなりに試行錯誤してみることにしました。

まず、等価回路図を見て、STA431AやSTA434Aとは明らかに違う感じがしました。にもかかわらず、外形図の「STA 10 pin」のところには、STA431AやSTA434Aと同じピン配列で書かれていました。ここがつまずきどころだったのです。いろいろと考えた末に、等価回路図の方を信頼することにしました。

2番ピンと7番ピンをVccに、5番ピンと10番ピンをGNDに接続して、3番ピンと8番ピンをモータに接続しました。残りは、1番ピン、4番ピン、6番ピン、9番ピンですが、1番ピンと9番ピン、4番ピンと6番ピンをそれぞれ接触させるとモータが回る(回り方は逆になる)ことがわかりました。動作としては本当にこれで良いのかなぁという不安もありますが、とりあえず動かすことができたのでよしとします。一定時間回し続けるとICが熱くなっていくという問題はあるのですが、これが異常なことなのか普通なことなのかはわかりません。(^_^;;;

さらにこれをArduinoから動かしてみることにしました。モータへの電源までArduino任せにするのは酷なので、Arduinoには制御だけを行わせるような仕組にしようと考えました。こういうときに便利なのが「フォトカプラ」です。(本当は、ロジックICなんかを使いこなせちゃうとカッコイイんでしょうけどね)

2つのHブリッジドライバの制御のために、4回路のフォトカプラを使ってモータを動かす回路を組んでみました。はじめは極性を間違えてうまく動かせませんでしたが、もう一度極性を考えて回路を組み直すと、無事に動かすことができました。

http://twitpic.com/1subfw

これを使えば、LEDを点灯させる程度の電気で、2つのモータの制御が可能になります。次は、Gainerでもやってみようと思います。

2010年5月16日日曜日

リサイクルインクの不具合を解消しました

家電量販店に行くと、プリンタメーカー純正ではないリサイクルインクが売られていることがあります。値段が割安であることが魅力で買ってしまうのですが、ときどき不具合があるようです。私自身も以前に、インクは十分入っているのに、印刷できないという不具合を経験して、泣く泣く新品のまま捨てたことがありました。それ以来、同じことはなかったのですが、先日とうとう2回目に遭遇してしまいました。

以前に同じ経験をしたときに使っていたリサイクルインクとは、メーカーは違うのですが症状は全く同じで、インクはたっぷり入っているのにその色だけ全く印刷できません。ヘッドのクリーニングを繰り返しても改善されず、同じメーカーのもう一つのリサイクルインクに取り替えてもダメでした。値段が安いとは言え、ホイホイと捨てて新しいのに替えるほど安価なものでもないので、何とか使えるようにならないものかと思案しました。

だいぶ前に、インクカートリッジに直接インクを注入してリサイクルするキット(これはとても面倒なので、1回使って止めました)を使ったとき、「空気を注入する」ようなことをした記憶があったので、どこかから空気を入れてみてはどうだろうかと考えました。しかし、空気の入り口など表示されているはずもなく、「PUSH」と書いてある場所を一生懸命押してみましたが全く改善されませんでした。

もっと重要な場所がどこかにあるだろうと考えて、使用前はテープでふさがれている小さな丸いへこみに注目しました。もし、ここから空気を注入できるとすると、インクタンク内の圧を高めることができそうです。とはいえ、注射器がある訳でもなく、そんな小さいところへ空気を注入できる道具などありません。あまり力づくで入れて、インクがあふれたりカートリッジが壊れたりしてもばかばかしい。そこで、「口で空気を吹き込んで」みました。(考えた割にはかなり原始的…)

5〜6回ほど空気を吹き込むと、インクが循環した感じになったのでプリンタにセットし、テストプリントをしてみました。1回目は少しインクが出てきた感じでしたが、再びヘッドのクリーニングをして試したところ、ちゃんと印刷ができるようになりました。

さて、こんな対処方法が正しいかどうか、しばらく様子を見ながら使ってみたいと思います。(^_^;;;

Mac & LinuxでJapaninoの動作確認

Arduinoの互換機として「大人の科学マガジン Vol.27のふろくとして発売された「Japanino(ジャパニーノ)」。Amazonから届いたパッケージを開けて、動作確認を始めました。雑誌とマイコンボード、電池ボックス、スピーカー付き光残像キットのP.O.Vまでついて、このお値段は、さすが!な感じがしました。

まず、Japanino自体はATmega 168Vが搭載されており、Duemilanove 328に比べて非力感は否めないところですが、お値段を考えれば妥当な線かと思いました。基板上の部品たちもシンプルですっきりとした感じです。P.O.Vを組み立てて電池ボックスとともにJapaninoに接続すると、LEDがナイトライダー風に光りました。

ここからいよいよパソコンとの接続に入ります。対応OSがWinとMacということなので、とりあえずJapaninoのサイトからMac版のIDEをダウンロードして開くと、見慣れた「Arduino」IDEが登場しました。既にArduino IDEを使っているので、同じようなものをいくつもインストールするのはあまり得策とは思えません。そこで、もともとのArduino IDEで動くかどうかやってみることにしました。

「Tools」メニューから「Board」→「…(省略)… ATmega 168」を選択し、「Serial Port」→「…(省略)… SLAB_USBtoUART」を選択すると、無事に接続された状態になり、動作確認用のLED点滅スケッチも問題なくアップロード&動作確認できました。

この勢いでLinux(Ubuntu 10.04)」でも動作確認してしまおうと考えて、ダメ元でJapaninoを接続してみました。すると、Serial Portに「ttyUSB0」が現れ、接続は問題ないことがわかりました。そして、動作確認用のLED点滅スケッチで動作確認をしたところ、あっけなく動いてくれました。というわけで、声を大にして言いたい。「Japaninoは、Linuxからでも動きますよ!」

2010年5月12日水曜日

負電圧、両電源って何!?

OPアンプを使って発振回路を作ろうと思って電子工作をしていたところ、「負電圧」「両電源」などという耳慣れない言葉に出会いました。そもそも電気というのは、+と−があって、電流は+から−へ、電子は−から+へ流れると記憶していましたが、「負電圧」とは何か、「GND」との違いは何かがわかりませんでした。さらに、正負の電圧をもつ電源を「両電源」というらしいのですが、どうやったらそんなものができるのか、全くわかりませんでした。

そもそも、電池やACアダプタを使って10V前後(以下が理想)の電源で動くものを作ることを目指している(小学生の子どもたちに使わせることを前提に研究をしているので、電池で動くというのが理想だと考えています)ので、難しいことなら止めた方が良いと思っていますが、いろいろと調べてみて、次のようなことがわかりました。
  • 2本の電池を直列につないだ時、+と−が接しているところを「GND(0V)」とすると、直列につないだ電池の両端の内、+側が「V+」で−側が「V-」になる。
  • このとき、本来2本の電池をつないだ時の電圧は、1.5V×電池2本=3Vになるが、+側のV+は「+1.5V」で−側のV-は「-1.5V」になる。
  • 理論上は上記の通りだが、現実としては安定した両電源を作るためには、電池だけでは心もとないので、電子部品を使って電源回路を組む必要がある。
さてここからは、実際に両電源を作る作業に入ります。採用した方法は2つ。

1つ目は、OPアンプを使う方法です。『すぐに使える!オペアンプ回路100』という本に紹介されていた方法で、抵抗とトランジスタを含めて数点の電子部品を使って、両電源を作るモジュールを作ってみました。OPアンプを動かすためにOPアンプで電源を作るというのは、ちょっとおもしろいと思いましたが、無事に両電源を作ることができました。この方法なら、回路数の多いOPアンプを使って、電源回路と発振回路を一緒に作ることができるのではないかと思いました。(素人考えかもしれませんが…)

2つ目の方法は、DCコンバータICを使う方法です。この存在を知ったとき、「こんなに便利なものがあるんだ!」と感動しました。今回は、リニアテクノロジーの「LTC1144」を使いました。これを使うと、追加部品は電解コンデンサ2個だけで両電源が得られます。モジュールを作るにしても、非常にコンパクトに作ることができました。しかしこのICは、OPアンプよりも若干値段が高いので、OPアンプを使って安価に発振回路を作りたいのに、余計な出費になってしまうのがジレンマです。

安価でコンパクトで簡単にというのが理想なのですが、なかなかうまく行かないというのが現実のようです。とはいえ、負電圧を作り、両電源を使ってOPアンプを動かすという当初の目的は達成できました。でも、子どもたちに使わせる教材としては、まだまだ改良の必要が有ります。ハード/ソフト両面を検討しながら、さらに研究を進めて行きたいと考えています。

2010年5月5日水曜日

KNOPPIX 6.2の設定

昨日、KNOPPIX 6.2をHDDにインストールしましたが、常用するためにはいろいろと手を加える必要があります。その作業について、備忘をかねてメモ程度にまとめてみようと思います。

まず、ネットワークの設定をします。自宅では、openSUSE 11.2でDHCPサーバを立てて使っているのですが、DHCPサーバのためだけにopenSUSEを起動しないといけないというのは面倒です。そこで、HDDにインストールしたKNOPPIX 6.2にIPアドレスを設定して使いたいと考えました。ところが、いろいろと探している中で、rootのパスワードを設定しないと何もできないことが分かってきました。という訳で、初めにやるのはrootのパスワード設定ということになりました。端末(ターミナル)を開いて次のようにコマンドを打ちます。
> su
# passwd
すると、パスワードを聞いてくるので同じパスワードを2回(2回目は確認)入力します。これで、諸々の設定作業中にrootのパスワードを聞かれても大丈夫になります。
#LXDEメニューから「設定」→「Set password for root」からでも設定ができます。

ネットワークの設定は、LXDEメニューから「システムツール」→「ネットワーク・ツール」でネットワーク・デバイスを選択(ここではeth0でした。)し、IPアドレスなどを設定すれば完了です。
#ついでに、NTPをインストールして時刻の設定もしてみました。

次に、Java関連の環境整備に着手しました。ソフトウエアのインストールは、「パッケージマネージャ」を使います。SUN-Java6だけをインストールすると、うまく起動しないものがあったので、OpenJDKも一緒にインストールしてみました。すると、とりあえず必要なものが動くことが分かりました。
#所々文字化けがあったりして、さらにチューニングが必要ですが…。

そして、これから研究のために使って行くソフトウエアをインストールしました。EtoysScratchDolittleArduinoProcessingAliceをインストールして起動テストを行いました。全てO.Kだったので、これで研究のための環境が整いました。(やれやれ…。)

これからいろいろとやっているうちに不都合なことが出てくるのだろうと思いますが、今日の作業はここまでにしておきます。

各種Linuxのアップグレードなど

GWだというのにお仕事でどこにも行かれない状況(恨)なので、自宅にあるUbuntu 9.10をインストールしているHDD(交換できるようにしてある)を10.04にアップグレードし、空いていた別のHDDにKNOPPIX 6.2をインストールすることにしました。

Ubuntuのアップグレードは、「アップデート・マネージャ」からできるようになっているので、すっかりお任せモード。アップグレード終了まで、2時間以上かかると表示されていたので、コーヒーなんかを飲みながら、仕事をしながらついでにやる感じで作業をしました。ときどき、インストールの確認、上書きや削除の確認の窓が開いてどうするか聞いてくるので、英語のメッセージを一生懸命読みながら、なんとなく大丈夫そうなので「OK」を選択しつつ、無事にアップグレード作業が終了しました。

まず、起動が速い!それに、9.10のころから使っていたソフトウエアたちが少しずつバージョンアップし、格段に性能がアップしているのには驚きました。諸々苦労して調整した設定もそのまま踏襲してくれているようでした。昔はクリーンインストールしないと不安定だったのに、最近は、アップデート&アップグレードでも本当に安定して動いてくれるようになりました。

しかし、不具合がなかった訳ではありません。どうしてもJavaを使う需要があるために、Javaで動くソフトを動かしてみると、OpenJDKの動きが若干怪しいことが分かりました。早速OpenJDKを削除しSun-Java6をインストールしましたが、どうも状況は悪くなる一方。こういうときは、Java関連のものを全て削除し、再インストールするのが良かろうと思い、「パッケージ・マネージャ」を使ってJava関連のものを徹底的に削除し、必要なものだけ再インストールしました。すると、無事に使いたいJavaのソフトが動くようになりました。これで一安心。

この作業後、同じマシーンでHDDを差し替えてKNOPPIXをインストールしました。職場でKNOPPIX 6.0.1をラップトップPCにインストールして使っているため、アップデートの実験を兼ねた作業でした。(HDDへのインストールはメニューからツールを選んで簡単にできます。)

インストール後に起動してみると、LXDEの動きがちょっと変で、妙に反応が遅い上にウィンドウ上部のタイトルバーが表示されずにウィンドウを動かすことでできない状態でした。Compizの設定を疑って、いろいろと探しながらいじってみましたがらちがあきません。これも削除→再インストールが有効だろうと考え、Compiz関連のものを全て削除し、必要と思われるものだけを再インストールしました。すると、無事にウィンドウの操作ができるようになりました。(動作は遅いままですけど…。)

いずれにしても、以前から考えれば簡単に使える状態になりました。Winを使うより、こっちの方が安定しているんじゃないかと思うくらいです。(マシーンも古いのに)まだまだ買い替える気はないので、この晩期のCeleron Dマシーン(自作)を使い倒してやろうと思っています。(って、Celeronという名前のCPUはなくなったんじゃないんですね。(^_^;;;)

2010年4月18日日曜日

電子工作キットと電子工作本

このところ、フィジカル・コンピューティングの研究にからんで、電子部品を買っている秋月電子通商のWebサイトで、おもしろい本を見つけたので紹介してみます。そもそも、これらの本にはプリント基板が付属しており、電子部品だけを買いそろえれば、すぐに電子工作ができるようになっています。さらにありがたいのは、これらの本で紹介されている電子部品がセットになって販売されていることです。もう、至れり尽くせりです。
#えっ!?「それが商売というものだ」って?そりゃそうなんですけどね…。(^_^;;;
出版社のページにも、サポートしている電子部品のお店が紹介されています。

一度に全部はできませんが、ぼちぼち買いそろえて作ってみたいと思っています。

【追記】今まで存在を知りながら利用していなかった「共立エレショップ」で、他の店では扱っていない「デジタルIC」を、ダメもとのつもりで検索したところ、かなり充実した品揃えであることが分かって利用し始めました。「コンデンサ」も安価で種類が抱負です。それぞれの店によって得意・不得意があるようなので、上手に利用したいと思います。(2010.4.28)

フィジカル・コンピューティングのソフトウエア

これまで、しばらくハードウエアに着目した投稿ばかりしてきましたが、ここでちょっとソフトウエアに目を戻してみたいと思います。

しばらく投稿していなかった間に、フィジカル・コンピューティングに使えるソフトウエアが続々と更新され、以前に紹介したものも含めて使えるハードウエアが増えたり、使いやすくなったりしています。
Arduinoは、ちょっと前に0018にバージョンアップしています。
  • Processing 1.1…3月に更新されていました。
  • Funnel r706…さらに開発が進んでいるようですので、これからもチェックが欠かせません。
  • Dolittle 2.10…先日バージョンアップし、LinuxやMacからでもMyuRoboが動かせるようになりました。
Scratchは、Linux版もダウンロードページからダウンロードできるように昇格していました。このままではPicoボードくらいしか動作しませんが、阿部さんが作っているScratchMyuRobo 1.4を使えば、MyuRoboが動きます。
#MyuRobo自体もベルト式のものがでて、さらに面白くなっています。

そもそもLinux系のオープンソースOSでフィジカル・コンピューティングをすることが前提の研究をしているので、これらのソフトもKNOPPIX4Roboに組み込んで行く予定です。

2010年3月21日日曜日

電子工作の強い味方(IC)

フィジカル・コンピューティングを小学校に持ち込むために、ArduinoGainerのパートナー(ある機能をまとめたシールドやモジュールなど)としての教材を研究・開発しているところなのですが、素人がにわかに電子工作を始めた状態なので、分からないことだらけで困った状況にあります。そこで、本やネットで調べた既存の回路図などを眺めながら勉強をしているところなのですが、そんな中で「これは便利だから使い方を覚えておいた方が良い」と思うものとして、さまざまな機能を持った「IC」があります。細かな部品をたくさん並べたり、複雑な回路を作ったりすることなく目的の機能を実現させるために、ICを上手に使うのがよいようです。そんな電子工作の強い味方として、定番のICをまとめておきます。
  • NE555(タイマーIC)…もとは、シグネティクス社が開発したというタイマーICですが、他社製品も数多く製造・販売されています。古くから使われている定番中の定番ICのようです。応用範囲が広いのも特徴だと思います。私は、低消費電力型(CMOS)のLMC555CN(ナショナル・セミコンダクタ)を利用しています。価格が安いのも魅力の一つです。

  • LM358(オペアンプIC)…「Operational Amplifier」の略で、「OPアンプ」と書かれます。基本的には増幅回路を作るためのICですが、発振回路を作るのにも使えるため、「自作電子楽器」に使おうと思っています。私がよく使っているLM358N(HTC)は2回路入りですが、4回路入りのLM324N(ナショナル・セミコンダクタ)も使おうと思って持っています。また、FET(電界効果型トランジスタ)タイプのTL082(テキサス・インスツルメンツ)も使っています。

  • LM386(オーディオアンプIC)…オーディオ用の増幅回路を作るためのICです。「自作電子楽器」を作ることを目標にして、アンプ部分にはちょっとこだわろうと思って買いました。OPアンプでもそれなりの音にはなるのでしょうが、やはり専用のオーディオアンプを使った方が音質が良いようです。私は、新日本無線のNJM386を使っています。

  • TA7291(モータドライバIC)…DCモータを制御するためのドライバICです。「フルブリッジドライバ」と言います。値段が手頃で、入手しやすいということで、モータドライバとしてはかなり定番なICのようです。私が使っているのはTA7291P(東芝セミコンダクタ)という金具(?)つきのものですが、もう少し小さいものもあるようです。また、STA457C(サンケン電気)というHブリッジドライバも持っていますが、使い方が分からずに困っています。(^_^;;;

  • 74HC14(インバータIC)…発光ダイオード(LED)を点滅させるキットの部品として入っていたSN74HC14N(テキサス・インスツルメンツ)を、別の用途に使おうと思って持っています。このICも応用範囲が広く定番らしいので、使い方をマスターしたいと考えています。
この他にも、さまざまな機能を持ったICがありますが、こうしたものを使いこなすことが、快適なフィジカル・コンピューティングには欠かせないと思います。

より簡単で小型なモジュールを作るために、まだまだ研究・工夫しなければならないことがたくさんあります。まぁ、とは言えそこはあくまで素人ですので、試行錯誤しながら学ぶことを楽しみながらやって行きたいと思います。

2010年3月14日日曜日

フィジカル・コンピューティングのための電子工作

これまで、ArduinoGainerなどを中心に、PCと接続して面白い使い方ができないか実験をしてきましたが、ArduinoやGainerとつなぐモジュールを自作するために、より専門的な電子工作の知識が必要になってきました。とは言え、今までこの分野の専門的な勉強をしてきた訳ではありませんので、初心者向けの初歩の初歩からやっていかないとついて行けません。今日は、これまで私がいろいろと見て回って、「これならできる」「これは使える」と思ったWebサイトをまとめてみたいと思います。

【フィジカル・コンピューティング関連】
  • 千秋ゼミ… 山形県立産業技術短期大学校 情報制御システム科 千秋広幸先生の研究室のサイトです。ArduinoやGainerを使った研究をされていて、特にLinuxで動かすためのノウハウを学ぶためによく利用 しています。

  • 建築農業工作ゼミ…近畿大学 国際人文科学研究所 東京コミュニティカレッジ 四谷アート・ステュディウムの授業サブノートサイトです。特に2008年度版には、ProcessingやArduinoを使った実践について、写真や図なども含めて細かく掲載されているのでとても参考になります。
【電子工作関連】
  • 始める電子回路…電子工作の入門として、バランスの良さがお気に入りの理由です。簡単に作れる電子回路例も充実しているので、初心者にはとても良い教材になると思います。これがある程度わかったら、別サイトの「電子工作室」でさらに勉強するのも良いと思います。

  • 電子回路工作素材集…電子回路の例がたくさん集められたサイトです。特に音作りに関するものが多いのがお気に入りの理由です。これから、このサイトの情報を参考にして、簡易なシンセサイザーを作ってみたいと思っています。この他にも「DIYの電子工作」など、さまざまな方が電子回路に関する情報を発信しているので、参考にすると良いと思います。

  • 秋月電子通商…秋月電子通商の回路図集です。DVDでも販売されています。(かなり安いです)既に販売されていないキットの回路図も含まれていて、代替えの部品を探しながら、あるいは、自分なりにアレンジして作って行く楽しさがあるのだろうと思います。私自身は、まだまだ勉強が足りません。
なかなかじっくり取り組んでいる時間がないのですが、これらのサイトを参考にしながら教材として使えそうなモジュールを作って行きたいと思います。

2010年2月25日木曜日

フィジカル・コンピューティングの材料集め

小学校で取り組めそうなフィジカル・コンピューティング学習のネタ探しをしていますが、どうしても思考が音楽系に向かってしまう自分がいます。

Synthesizer01
http://www.geocities.jp/yossy_work/PhysicalComputing03.html

私が使っているArduinoGainerは、スイッチサイエンスで購入しましたが、当然のことながら、これだけでは面白みがありません。そこで、さまざまなシールドやモジュール、部品などを購入して、ArduinoやGainerにつないで動かしています。スイッチサイエンスでもさまざまなシールドやモジュールが販売されていて、そのいくつかは既に購入してつないで実験してみました。しかし、完成品のモジュールを使って実験を続けていると、もっと違う機能を持ったものを使ってみたくなります。すると、どうしてもモジュールのキットや部品そのものを買ってきて、自分でモジュールを組み立てることになります。私がよく使っているのは、マルツパーツ館秋月電子通商です。

マルツパーツ館は、キット類が充実していて、初心者でも気軽に電子工作がはじめられるような品揃えな感じがします。一度、店舗に足を運んで、欲しいものがたくさん揃っているなぁと感じました。それ以来、Webショップも含めて数回利用しています。税込み5,250円以上買えば、送料が無料になるのもありがたいです。
#マルツパーツ館で購入したタクトスイッチなどを使って、鍵盤風のスイッチモジュールを作ってみました。http://twitpic.com/13gmh3

秋月は、品揃えが抱負で電子部品がとにかく安いのが魅力です。必ずしも初心者に親切な雰囲気ではありませんが、ある程度の知識があって、部品もこだわりを持って選びたいという人にはとても便利だと思います。私は、各種ICを中心に購入しています。これから、フィジカル・コンピューティングで楽器作りをして行きたいと思っているので、「音を出す」仕組を作るためにさまざまな部品を買い揃えていきたいと考えています。

正直なところ、私の電子工作に関する知識は、一般の小中学生とあまり変わらないと思います。でも、いろいろな部品の資料(英語で書かれていることが多い)に目を通し、本を購入して勉強するのはとても楽しいことです。今の子どもたちが「学び」から逃走していると指摘する方もいらっしゃいますが、これが事実だとすると、学ぶことの楽しさを知らないなんてかわいそうだと思いますね。

2010年2月12日金曜日

Arduino & Gainerの動作確認

子どもたちにフィジカル・コンピューティングの学習活動に取り組ませながら、さまざまな力を身につけさせようという研究をしていますが、実際の話として、どんなソフトを使って何が動くのかということを実験的に確かめてみました。今回、動作実験をしたソフトウエアは、ArduinoソフトVer.0018とProcessing Ver.1.0.9です。主にMac OS X 10.5.8で動作確認をしています。
#Linux版のProcessing動かなくなってしまったので、LinuxはArduinoソフトだけ動作確認しました。

まず、ArduinoソフトでArduino+各種シールドを動かしてみました。最近購入したマイクロファンCLCD-BOOSTERドットマトリクスLED7セグメントLEDを動かすために、マイクロファンのサイトから情報を探し、必要なライブラリをダウンロードして動作実験をはじめました。CLCD-BOOSTERの文字LCDは、Arduinoソフト付属のライブラリで表示可能なため、ジャンパや可変抵抗器の設定など、ハードウエアの設定さえ間違えていなければ問題なく表示されます。問題は、2つのLEDボードのサンプルスケッチとライブラリのインストール方法です。(部品の組み立てからはじめましたが、ちょっと間違えたりして時間がかかりました)

Macのソフトは、ライブラリなどを含めてアーカイブ化されていることが多く、ソフトウエアの中(フォルダのよう)に入ることができるものがあります。Arduinoソフトも中にライブラリなどが格納されていました。この中に、マイクロファンのWebサイトからダウンロードしたライブラリ(*.h、*.cpp)などを、適当な名前をつけたフォルダを作って入れました。サンプルスケッチも、ライブラリを入れたところに「examples」という名前のフォルダを作って、その中に入れておけば良いようです。(別のところにもexamplesフォルダがあるので、そちらにサンプルプログラムだけ別にして入れておいても良い)この時点で、文字LCDとマトリクスLED、7セグLEDの動作実験をして、問題がないことを確認しました。

次に、以前に買ってそのままになっていたTellyMateシールドを試してみました。こちらは、日本語の情報が少なくて試行錯誤しましたが、とりあえずサンプルスケッチを手当り次第にダウンロードし、プログラミングのノウハウを学びました。こちらは、特にライブラリを追加することなく、無事にTV画面に表示されました。ただ、日本語は無理みたいですね。工夫次第で面白い使い方ができそうです。

さて、次にProcessingでArduinoGainerを動かす実験をしました。Processingに対応したライブラリをダウンロードして、先ほどのArduinoソフトと同じようにProcessingも中に入って、ライブラリとexampleを保存しました。同時に、Funnelライブラリも入れてみましたが、いずれも無事に動作を確認することができました。重要な点は、「libraries」内に任意の名前のフォルダを作り、その中に「library」という名前のフォルダを作って、必要なファイル(*.jar、*.jnilib、*.soなど)を入れておくということです。これで、Arduino、Gainer、Funnelの各ライブラリを使って、ArduinoとGainerが動くことを確認しました。

来年度は、Gainerの活用を中心にしたいと考えているので、Arduino+シールドの実験は、このくらいにして、Gainerで使えるセンサやアクチュエータを探して実験を続けて行きたいと考えています。

2010年2月10日水曜日

セインツ、初のスーパーボウル制覇

日本時間の2月8日に行われた、NFLの最強チームを決めるスーパーボウルですが、経験に勝るコルツ有利を予想する向きが多い中で、セインツが悲願のスーパーボウル初優勝を果たしました。正直なところ、「強いセインツ」というのは、どうもイメージがわかなかった(コルツも過去は弱いイメージだった)のですが、今期のセインツは本当に強かったです。QBブリーズを中心としたチームづくりも、それほど華々しいアグレッシブなプレーを多用する訳でもなく、あくまで堅実に、まじめにコツコツと作り上げたプレーが目立っていたところは、アメリカン・フットボールのコアなファンもうならせる内容だったと思います。いつもは落ち着き払っているコルツのQBマニングが、冷静さを欠いているように見えたのも、QBブリーズの仕上がりの良さが際立っていたからだと思います。

アメフトの魅力は、適材を適所に配置し、それぞれがそれぞれの役割をきっちりとやりきることで強いチームができ上がるというところにあると思います。スタープレーヤーがいれば必ず勝てるという訳にはいかないのがアメフトですし、さまざまな特性を持つ選手が活躍する場がある(1チームの構成メンバーが多い)というのもアメフトの特徴です。日本では、「ルールが分かりにくい」などと言われて学校でもあまり取り組まれていませんが、より良い人間関係づくりやチームで協力して何かを成し遂げることを学ぶ機会を与える意味でも、学校でアメフトを取り入れることを検討しても良いのではないかと思っています。

日本フラッグフットボール協会
http://www.japanflag.org/

2010年1月31日日曜日

GarageBandでMIDIコントロール

Macを買うとついてくるiLifeシリーズですが、音楽作成ソフトとして「GarageBand」というソフトがあります。このソフトがなかなか使い勝手が良いので愛用しているのですが、そもそも電子楽器とMacをUSB経由のMIDIで接続し、DTMしていた私は、MIDIとの親和性が低いGarageBandに不満を感じていました。以前、「Dent Du Midi」というソフトを見つけてSMF(スタンダード・ミディ・ファイル)をGarageBandで再生/編集ができるようにしていました(その逆は不可)が、できることならGarageBandでMIDIをコントロールしたいと思っていました。

そんな折、ある本にフィジカル・コンピューティングに楽器をつなぐことが紹介されていて、その文脈の中で、「GarageBandでMIDI機器を操作する」ということが取り上げられていました。この中で紹介されていたのが「midiO」というプラグインです。このプラグイン(midiO.component)を「/Library/Audio/Plug-Ins/Components」に入れておくと、GarageBandからMIDI機器が利用できるというわけです。早速ダウンロードして、入れてみました。とは言え、しばらくMacをMIDI機器につないでいなかったので、すぐにつながる環境にないので動作実験はできていません。時間を見つけてつないで実験しようと思っています。

2010年1月27日水曜日

スーパーボウル対戦チームが決まりました

25日にNFLの両カンファレンス(NFC、AFC)のチャンピオンシップゲームが行われ、AFCのコルツ対ジェッツは、30対17でコルツが勝ち、NFCのセインツ対バイキングスは、 31対28でセインツが勝って、それぞれスーパーボウルに出場することが決まりました。

今シーズンの連勝記録をつくってきた2チームがスーパーボウルで対戦するということで、順当すぎるくらい順当なのですが、それだけに好カードと言えるのではないかと思います。しかも、カンファレンス・チャンピオンシップゲームでは、後半に逆転勝利したコルツと、オーバータイムまでもつれ込んで何とか勝利したセインツと、両チームとも苦戦の末のスーパーボウル進出ですから、どちらが勝利するかもさることながら、どのような試合展開になるのか、楽しみで仕方がありません。

スーパーボウルは、日本時間の2月8日(月)に行われますが、試合の結果を聞かずに、2月9日の深夜のテレビ放送を楽しみにしたいと思います。(本当は、昼間の生中継が見られるとうれしいのですが…)

2010年1月24日日曜日

Arduinoをベースに楽器作り

Arduinoを中心に、いろいろなものをつないで動かしてみる実験をしていますが、PCマザーボード用の部品(LEDやスピーカなど)をブレッドボードに接続するための簡単な変換モジュールを作ったのをきっかけに、これらを使って「楽器」を作ってみようと思い立ちました。

スピーカに電気を流すと、一瞬だけ「ブツッ」という音が出ます。これを、ある程度聞こえる音にしていくためには、ある一定の周期でON/OFFを繰り返す(周波数)ようなプログラムを作らなければなりません。「建築発明工作ゼミ2008」で見つけた「Arduino 圧電スピーカ」のページを参考にしながら、可変抵抗器を使った回路を組んで、スケッチを書いて動作実験をしてみました。

回路その物は難なく組みあがり、いかにも電子楽器の音というような音が出てくれました。こんな単純な仕組みでも、自分で作った回路から音が出るというのは感動的です。ひとしきり出来上がった楽器で遊んだ後、せっかくなら鍵盤の代わりとして、タクトスイッチを使って、音のON/OFFをコントロールして見ようと思いました。参考にしたのは、Arduinoを買ったときに一緒に買ってきた「Arduinoをはじめよう」という本です。

タクトスイッチ(BUTTON)の値を「digitalRead(BUTTON)」で、可変抵抗器(VOLUME)の値を「analogRead(VOLUME)」で読み取り、タクトスイッチが押されたときだけ音が出るようにプログラムしました。これで少しは楽器らしい雰囲気になってきました。これをもとに、音を加工したり音域を広げる工夫をすれば、立派なシンセサイザーになるなと感じました。時間を見つけて作り込んでみたいと思います。

2010年1月19日火曜日

yossy_workサイトにて

これまで長い間放置していた「yossy_work」のサイトですが、時々、ちょっとおもしろいネタがあったときにだけ、写真入りの簡単なページを作って公開するというような使い方をしていました。それ以外は、ほとんど使っておらず、そろそろ閉鎖してもよいかなぁと考えておりました。過去のネタには、次のようなものがありました。(いずれも、マニアな方々以外は、ドン引きなネタかもしれませんが…。)
ところが最近になって、フィジカル・コンピューティングの教育的な展開について語るとき、文字だけではどうしても伝えきれたい部分が多いことが気になるようになってきました。そこで、今まで簡単に作っていたページを、少しだけ手直ししてWebサイトらしい統一感を持たせ、このサイトでフィジカル・コンピューティングに関する情報を公開しようと考えました。特に、力を入れたいと思っているのが、「つないですぐ使える」シールドやモジュールを紹介することです。

そもそも、小学生を相手に、本格的なバリバリのフィジカル・コンピューティングをやらせようというのは、所詮無理な話です。私が考えている、小学生向けのフィジカル・コンピューティングは、ある機能を持った部品群を、あらかじめArduinoGainerなどで使えるように組み合わせてモジュール化し、それをつないで手軽にフィジカル・コンピューティング的な活動をするということを目指しています。そして、このことを通して、子どもたちの思考力や判断力を培い、問題解決力(自己実現能力)や表現・コミュニケーション能力を高めていきたいと考えているのです。

この考えのもと、さまざまな機器を試用したり、自作したりしながら、研究を進めていきたいと考えています。そして、このサイトを使って、情報発信していきたいと思っていますので、時々のぞいていただければ幸です。

2010年1月11日月曜日

Processing Arduino-IDE & Funnelの環境整備

このところフィジカル・コンピューティングに絡んで、ソフトウエア環境を整えるべくいろいろと調べ回っているのですが、記憶だけを頼りにするのも心もとない状況になってきましたので、このBLOGにまとめておくことにします。

Processingというソフトウエアは、そもそもデザインをやる方々に使われているようで、一般的なプログラミング言語より、デザイン関係に特化した言語仕様になっているようです。2008年に1.0がリリースされてから、より多くの人に使われるようになり、別のソフトウエア(派生版のような)のもとになっています。Javaベースのため、クロスプラットフォーム化されており、Linux、Mac OS Xでも動きます。GainerライブラリArduinoライブラリFunnelライブラリなどもあり、フィジカル・コンピューティングのキラーアプリとも言えるかもしれません。

Arduino-IDEは、Processingをベースに作られていて、C言語に似た言語仕様で、Arduinoを動かすことに特化している開発環境です。インターフェイスもほぼ同じですので、Processingと一緒に使っても違和感がないと思います。

Funnelは、ハード&ソフトをまとめたツールキットで、フィジカル・コンピューティング環境を研究するプロジェクトによって開発されました。そもそもは、ArduinoをXBeeと組み合わせて、無線で動かすことをメインとしていたようです。ProcessingをベースにしたpinFunnelやArduinoやGainerを使うためのFunnelサーバなどが開発・公開されています。動作環境としては、MacかWinが推奨環境のようですが、Linuxでも行けそうです。

【追記】あれこれ試行錯誤してみましたが、まだLinuxでの動作確認には至っていません。Test Funnelというサイトを見つけたので、何か手がかりになるかもと思っていますが、本職が忙しくて試す時間がありません。(2010.8.2)

これらのWebサイトから、必要だろうと思われるものをダウンロードし、Ubuntu 9.10やKNOPPIX 6.0.1で動かしています。どこまで使えるか分からないのですが、時間を見つけて、ArduinoやGainerなどをつないで動作実験して行きたいと思っています。

2010年1月8日金曜日

JavaScript教材の動きが…

久しぶりにJavaScriptで教材を作って見ました。教材と言っても、ノートPCの画面一杯に数字やアルファベットを1文字だけ表示するというもので、キーを操作するだけで表示が変わります。JavaScriptでキーイベントを取得して、それを使って表示が変わるようにしているというわけです。授業の際は、「USBテンキー」を使って操作しようと考えています。

この教材を使うと、1台のPCで1文字を表現することができるので、PCを複数台並べて「位の数」を表すのに便利かなぁと思って作ったのでありました。「アルファベット」にも対応しているので、英語の勉強にも使えるかなぁという期待もあります。もちろん、自由に使えるPCが複数台ないと話になりませんが、学校というところにはそれなりの台数のPCがありますので、こんな使い方もできるのです。

この教材の開発は、Ubuntu 9.10の「Bluefish Editor」で行いました。完成後、UbuntuにインストールされているFirefoxで動作を確認して、USBテンキーからも問題なく操作できることがわかりました。これですっかり安心して、ノートPCのKNOPPIX 6.0.1に持ち込んだら全くダメなのです。試行錯誤の末、ようやくノートPC側の「NumLock」もONにしておかなければならないのだということが分かりました。

そもそもUSBテンキーは、ノートPCなどのテンキーのないPCで使うのが便利な使い方です。しかし、USBテンキーの「NumLock」をONにすると、本体の「NumLock」が作動してしまって、アルファベットが正しく打てなくなるという問題が起きる可能性があります。そこで、そうならないような仕組みが導入されているのですが、これが災いして、KNOPPIXを動かしているノートPCに接続した、USBテンキーの動きが変だったのです。

とりあえず、問題は解決できたので、これで教材として使えるようになりました。あとは操作のミスをなくすように、備忘を兼ねてここに顛末を記しておきます。忘れないようにしなくては…。

2010年1月5日火曜日

NFLプレーオフ出場チームが決まりました

NFLの2009年シーズンが大詰めを迎えています。先日、レギュラーシーズンの最後の試合が終了し、プレーオフ出場チームが決まりました。
http://www.nfljapan.com/standing/

残念なのは、私が応援するデンバー・ブロンコスがプレーオフ進出を逃したこと。中盤まではいい調子かなぁと思っていたのですが、終盤は敗戦が続きヒヤヒヤものでした。もっともQBオートンの新加入で、チームの組み立て直しを迫られた今シーズンでしたので「プレーオフは無理かもなぁ」と思っていたところが、思いの外いい調子だったので、十分夢を見させてもらったことは間違いないのですが…。

最終戦は、同地区のチーフスとの対戦でしたが、今シーズン負けが先行しているチーフスだから何とかなるかもと期待していたにもかかわらず、20点もの大差で負けてしまいました。その裏には、チーム事情があったようで、プレーオフがかかった大切な試合なのだから、心を一つにして(日本人らしい発想かも)がんばってもらいたかったのですが、残念な結果となってしまいました。

結果が出てしまった後で恨みごとを言っても仕方がないので、ここはスパッと気持ちを切り替えて来シーズンに向けてがんばって欲しいなぁと思います。(さて、スーパーボールに向けてどのチームを応援しようかな…。)

2010年1月4日月曜日

アキバ詣

息子と一緒に、戦隊ヒーロー&変身ヒーローもののイベントに参加したついでに、秋葉原へ足を伸ばして買い物をしてきました。といっても当然のことながら萌系が目当てではございません。もともと私自身は、電子部品、電気機器の街として「技術屋」が集まる秋葉原に憧れがあったのですが、昨今は雰囲気がだいぶ変わってしまって近寄り難く感じでおりました。

それを押して、なぜ今回秋葉原へ行ったのかと言いますと、このところ個人的にもすっかりはまってしまった、フィジカル・コンピューティングのための電子部品を調達すべく、某電子部品のお店へ足を運んだのでありました。

店の中には、自宅付近では見ることすらできない(だから普段は通販を利用しています)ような電子部品や基板、工具などがずらりと並んでおりました。こうなると、あれもこれもと欲しくなるところなのですが、そうなるだろうと予想して、「買い物リスト」なるものを持参し、どうしても欲しいものだけを購入することにしました。買い物リストの基準は、最近購入したArduinoGainerの解説本などに書かれている回路を組むために「必要な電子部品」とし、それらをピックアップしてリスト化したのでありました。その中心は抵抗(150、330、10K、1M)でしたが、ロータリースイッチやモータ用のブリッジドライバなども購入しました。

そもそも、私には電子部品をいじって何かができるほどの知識や技能がないので、解説本などに書かれていることをそのままやってみて、それを応用的に膨らませる程度のことしかできないのですが、そういうことを通して「経験的に学ぶ」というのも悪くはないかなぁと思っています。
#プログラミングの方も似たような感じです。

一方、子どもたちに教材としてフィジカル・コンピューティング環境を使わせるとなると、センサーやアクチュエータとして、既にでき上がっているものをつなぐ、あるいは、身近なもので簡単に作れる程度のものを使うというのが現実的な解だと思っています。とは言え、闇雲につないでもうまくいかないことの方が多いのではないかと思います。できる限り簡単に、できる限り子どもたちの力で欲しい機能を実現させられるように、どのような機能を持ったものを用意しておけば良いのか、研究を深めて行きたいと思っています。