2011年12月24日土曜日

MacでSTM8とSTM32の開発環境を構築する

これまでいろいろなマイコンボードに興味を持ってあっちこっち手を出してきましたが、敷居の低いものは値段が高く、値段の低いものは敷居が高いというような印象を受けています。どちらを優先するかということで悩むところなのですが、Arduinoは自分で作れば(という時点で敷居が高いと思われる可能性はありますが…)かなりお安くできますし、各OSに対応したIDE(しかもわかりやすい)が用意されているという意味でダントツの一押しということになろうかと思います。でも、この世界もARMマイコンへ傾きつつあります。以前に紹介した通り、私自身も色々と買ってみて、時間のない中で試してみようとしているのですが、Arduinoのように簡単に開発環境を整えることができず苦戦を強いられております。 そうした中で、特にスイスのSTマイクロエレクトロニクス(以下「ST社」と略記)が開発したSTM8シリーズとSTM32シリーズのマイコンボードの開発環境をMacで構築することはできないかと考えて、兎にも角にもやってみることにしました。

まず、STM32の方は、chibiegg研究ノートの「STM32の開発環境構築(on Mac OSX)」参考に、devkitARMを導入することにしました。ダウンロードしてきたMac用の.bz2ファイルを展開し、現れたdevkitARMフォルダを「$ sudo cp -r devkitARM /usr/local/」でコピーしました。続いて~/.bash_profileをviで開いて「PATH=/usr/local/devkitARM/bin:$PATH」の一行を書き込みます。これで再起動(ログアウトでもいいはず)すると、使えるようになります。

その他のEclipseEmbedded CDTOpenOCDについては、以前に環境を整えていたのでそのままで使えるはずです。これから試してみたいと思います。一方、AtollicTrueSTUDIO for ARMを使う方法も試してみましたが、予め「Wine」や「MikuInstaller」をインストールした環境でも、現時点で最新のLite版3.0.0をうまく動かすことができませんでした。起動はするものの作業をするウィンドウも開かず、使い物にならないというような状況です。(パーミッションの問題か何かか…)

STM8の方は、さらに大変でした。まず、情報が圧倒的に足りません。 やっとみつけたのがえのたいの電子工作日記の「stm8sマイコン(2)」でした。これを手がかりに、ST社の「TOOLSETS(STVDとSTVP)」(「デザイン・サポート」タグから下へたどったところにリンクされている)をダウンロードして解凍し、MikuInstallerを使ってインストールします。Cコンパイラは別なので、IDEsのページから「Integrated Development Environments for STM8 family」を選択してCosmicの「Cosmic STM8 32K Special Edition Free license」かRaisonanceの「RKit-STM8」のどちらかをダウンロードします。いずれにしてもユーザ名やメールアドレスを登録しなければなりませんので、その作業をしてからのダウンロードということになります。再びMikuInstallerのお世話になってインストール作業は無事完了。

これまでの作業でいろいろといじりすぎてWineの動作がおかしくなったので、Wine環境を再構築するところからやり直しました。「XQuartz」をダウンロードしてインストールしたり、「$ sudo port install wine」でWineを再インストールしたりしました。その後、MikuInstallerを再インストール(dmgを開いてアプリケーションフォルダにコピー&ペースト)して、無事に動くようになりました。
#以下のWebサイトの情報を参考にしました。
http://wiki.winehq.org/MacOSX/Installing
http://www28.atwiki.jp/2chmac/pages/82.html

大切なのは、各マイコンボードと接続してうまく動かすことが出来るかというところですね。また時間を見つけてやってみます。

【追記】MacPortsでインストールしたWineとMikuInstallerで使っているWineは別のものでした。MikuInstallerのWineを新しいものにする方法は、BLOG「レコーディングエンジニアの杉本さん」の「最新版wineでmikuinstallerを使う。図解入りでやさしいよ!」を参考にして作業をしました。その後、紛らわしいのでMacPortsでインストールしたWineを「$ sudo port uninstall wine」で削除しました。(2012.4.25)

2011年12月23日金曜日

ScratchとPicoBoardで金管楽器の運指確認

小学校で金管楽器の指導をしているのですが、運指表だけだとよくわからないという子どもが多くなり、どのように指導したら良いものかと苦慮しておりました。こちらで指使いを書き込んだ楽譜を配るのも一つの方法には違いないのですが、この辺りは基本中の基本なので、自分で確認して音取りまでできるようになってほしいなぁと思っています。
#そもそも、小学校で普通に担任している教員が金管楽器を指導するのは正直無理なので、日々の練習を含めて子どもたち自身ができることを増やして行かないと、全く上達しないのです。

とは言え、野放しにしていてもどうしようもないので、結局は一人一人指使いを確認する以外にありません。それも、私のスケジュールと子どもたちのスケジュールが合った時だけしか面倒は見られないので、とても効率が悪い状況になります。この状況を解決する方法はないものかと考えて、コンピュータに頼る方法を考えて見ました。それが、ScratchPicoBoardあるいはその互換機を使った「運指確認システム」を作ることです。

材料は、大きめのタクトスイッチ3つと3種類の抵抗でピストンのモジュールを作成。息はモータにプロペラを付けて感知させようと思いましたが、思ったよりも反応が悪くてセンサーとしてイマイチだったので、スライドボリュームで簡単に済ませることにしました。ご存知の方には言うまでもないことですが、3ピストンを使う金管楽器は、ピストンを押す/押さないの組み合わせと息の強さ(唇の締め具合)によって音階を作ります。3つのタクトスイッチを押した(あるいは押さなかった)ときに、8種類の異なる抵抗値が測定できれば良いわけです。

手始めに、スイッチを押して抵抗値を変えることを考えたときに、タクトスイッチを介して抵抗を並列につなげる回路が思い浮かんだのでやってみることにしました。Excelで抵抗値の計算をしながら、自宅にあった10k12k15kの3つの抵抗を選んでHelloBoardにつないでScratchで抵抗値を測ってみました。すると、ちょっと微妙な差だったのでもう少し理想的な数値は出ないものかとあれこれやってみましたが、抵抗が大きくなればなるほどScratchでの値の差が小さくなっていくことがわかりました。ということは…と小さい値のものも試してみたのですが、はじめの3種類よりも扱いやすい値は出てくれませんでした。(3.3k4.7k8.2k辺りでも良いかも知れません)というわけで、そのまま3つの抵抗を使って金管楽器の運指確認システム用センサボードを作ってみました。操作性がイマイチなところはありますが、一応必要な機能は載せられたかなと思っています。

と、ここまでやってみて、スイッチを押して抵抗を通らなくしたら(つまりスイッチを押すと抵抗が減る)、もっと簡単に直列につないでできるじゃないかということに気づきました。(遅!)直列なら抵抗値の計算も単純にたし算(この場合はひき算)すれば良いので楽です。 今まで悩んでいたのがバカバカしいのですが、この方法で1k2.2k4.7kでやることにしました。ついでに、プッシュスイッチを使って、抵抗値を絶縁状態(Scratchでは100)にすると、これでだいぶ金管楽器らしく演奏することができるものができあがりました。Scratchのプログラミングができたら、まとめてWebサイトで報告します。

2011年12月14日水曜日

オカヤドカリの越冬対策

このところ、毎日寒い日が続いています。夜の時間が寒くなり始めた頃から、オカヤドカリの水槽に貼り付けてあるヒーターの電源を入れましたが、今は大小2枚のヒーターを使って水槽内を温めています。11月ごろからは、100円ショップで買ってきた保温シートで水槽を覆ってしまいましたので、普段は中が見えない状態になっています。(家人からは「中が見えない、見栄えが悪い」と不評ですが…)それでも、オカヤドカリたちにとって、寒いのは命を危険に晒すことになりますので、温度対策をしっかりしなければならないのです。

この状態でしばらく大丈夫(温度計で20°を下回らない)だったのですが、真冬並みの気温になってきて、温度計が20°を下回り始めました。最後の放熱場所は、水槽の蓋の部分です。うちでは、園芸用の黒い網状のシートを蓋の内側に入れて(脱走防止対策)その上から透明なプラスチックの蓋を載せています。さらに蓋を固定するために、テープ式のフックを蓋と水槽の両方につけて、髪の毛をとめるための輪ゴムを引っ掛けて固定しています。今はその上に、タオルと新聞を載せて、放熱を防いでいます。これで、明け方でも20°を下回らなくなりました。雪が降る時期になったら、全体をひざかけのようなもので覆う予定です。

防寒対策はこれで十分だと思いますが、一方で空気が乾燥してしまって水分の蒸発が早いという問題があります。水分補給はこまめにしなければなりません。うちでは霧吹きで砂に水を含ませることはしていないのですが、淡水と人工海水を水槽内に用意しています。このところ仕事が忙しくて3日ほど面倒を見ていなかったのですが、先ほど水が減ってしまっていた淡水入れの中で、オカヤドカリの死骸を見つけました。水のある所で脱皮を試みたのではないかと推察しています。まだまだ私自身がオカヤドカリの生態を掴みきれていなくて、かわいそうなことをしたなぁと反省しています。個体が小さいので、脱皮の回数は多いはずです。他のものが元気に生活をしているので、それなりに脱皮に成功しているのですが、適切な環境を整えるためにはまだまだ修業が必要です。

2011年12月11日日曜日

発表会終了…フィジカル・コンピューティング授業

毎年恒例となっておりますが、SPPの助成を受けて取り組んできたフィジカル・コンピューティングの授業の発表会を、去る12月8日(木)、無事に行うことが出来ました。当日は、いつもご指導やお手伝いを頂いている皆さんにもご参加いただき、子どもたちの発表を聞いていただいたり、不具合があったところの調整などに対応していただいたりして、とても助かりました。

今回の課題は、以前にも紹介した通り「人と人とのコミュニケーションを助ける道具(コミュニケーションツール)を作る」ことでした。ミッションとして、「壁(直接顔を合わせることができないという意味)の向こうにいる人とコミュニケーションができる」ことを条件として、KNOPPIX 6.0.1(使っているコンピュータが古くて新しいのは動かないので)上のScratchを中心に、PicoBoardWeDoHelloBoardなのぼ〜どなどをつないでコミュニケーションツールを作らせました。 この環境は、昨年度も使ったものと同様だったので、作業をしていくうちに子どもたちも思い出したらしく、1年前よりはスムーズに作業が進んだと思います。いつの間にか、Linux版のScratchでマイクで録音することもできるようになっていて、活動の幅も広がりました。あとは、日本語入力に対応して頂ければ、何も言うことはありません。
#音を出すためには、起動スクリプトをちょっと書き直す(「-vm-sound-alse」に変更)必要がありました。
#KNOPPIX自体のUSBメモリの扱い方がイマイチなので、保存したはずのファイルが見当たらなくなるという致命的なトラブルが発生してとても困りましたが…。

面白かったのは子どもたちのアイデアです。壁の向こうの相手が何かをしたことをセンサでどのように感知させるのか、そして、それをScratchで処理してどのように(別の人にわかるように)表現するのかと考えた末に、モールス信号を音や光で表現して文字情報を送り合うというアイデアが出てきたり、病気や体の不自由さから話ができない人のために、音や光、手話の写真、パネルに書いた言葉をモータにつけた矢印で指すなどの道具を作るというアイデアが出てきたりして、よく考えるものだなぁと感心しました。モールス信号はデジタルで表現しやすく、通信に使うには良いアイデアだと思いました。さらに面白かったのは、「言葉の壁」に挑んだ子どもたちがいて、Scratchで日本語を認識する仕組みを作って、それに合った外国語を話す仕組みを考えたり、日本語が書かれたボタンを押すと、別の言語に翻訳してくれるという仕組みを考えたりしていました。

 この活動は、総合的な学習の時間を使って、普通の子どもたちに取り組ませています。つまり、プログラミングや電子工作などに興味があって、特別に集まった子どもたちではなく、そもそもそういうことに縁のない子どもたちに取り組ませているということです。この活動によってものごとを分析的に考えたり、別のことに応用しようというアイデアが出てきたりして、同じ子どもたちに2年間取り組んでもらって、教育的効果が高いと感じました。ゲーム機を使ってドリル学習をすれば計算力は向上すると思いますが、真の意味での「生きる力」が身につくとは限りません。これからも、こういう活動を通して子どもたちの「生きる力」を伸ばしていけたらと考えています。

2011年12月3日土曜日

ARM搭載のマイコンボード

以前にも紹介してきましたが、最近はARM系マイコン(Cortexアーキテクチャ)を載せた機器(スマートフォンなど)がPCを超える勢いで普及しつつあるようです。これまでAtmelAVRマイコンを載せていたArduinoにも、Cortexアーキテクチャが採用されると聞いて、マイコンボードの世界もARM系のマイコンが席巻するんじゃないかなぁという予感はしております。

私自身は素人ながら、巷で話題になっているARM系マイコンを搭載したマイコンボードなどを買い集めて、どの程度使えるものか実験しようと思っている(本職が忙しくてそれどころではない…)ところです。mbedを除いて、この手のマイコンボードは、開発環境を用意するのが容易ではない(Code RedDevelopmetソフトが使えるものもある)ので、私のような素人にはかなり敷居が高いのですが、趣味の範囲でできる程度のことをボチボチとやっていけたらと思っています。という訳で、私の手元にあるARM系マイコン搭載のマイコンボードを紹介しておきます。
  • MARY基板(NXP LPC1114搭載)トランジスタ技術増刊「2枚入り!組み合わせ自在!超小型ARMマイコン基板」に付属していた、ちょっと面白いコンセプトのマイコンボードです。ボード同士をつなげて、連携させながら使うことができます。また、拡張基板が用意されていて、それらと組み合わせて使うのも面白そうです。
  • mbed(NXP LPC1768搭載)…開発環境がWebアプリとして用意されていて、ARM系マイコンボードでピカイチの使いやすさだと思います。でも、ちょっと高い。LPC1768はCortex-M3ですが、Cortex-M0のLPC11U24を搭載したものが開発されているので、廉価で気軽に買えるmbedになったらと期待をしています。
  • LPCXpresso(NXP LPCシリーズ搭載)…様々なバリエーションがありますが、私が持っているのは、LPC1769搭載のものとLPC11U14搭載のものの2つです。Code Redの開発環境を使って様々な実験・開発をすることができます。また、同じようなマイコンを載せた他のマイコンボード用に作ったプログラムを動かしてみたいとも思っています。
  • Maple(STM STM32F103RB搭載)…Cortex-M3アーキテクチャのARM系マイコンボードです。姿や開発環境がArduinoに酷似していて、専用のMaple-IDEを使って様々な実験・開発をすることができます。日本では、シリコンハウス共立で取り扱われて(通販でも購入可)います。大阪に旅行に行った際、我慢ができなくて買ってしまいました。
  • STM Discovery(STM 8および32シリーズ)…これもいくつかシリーズがあるのですが、私が持っているのは、32VL8S8Lの3つです。買ったは良いけど、開発環境を構築するのがめちゃめちゃ面倒くさい感じなので、今は手を出していません。いくつか参考になりそうなサイトは見つけたけど、私にはちょっと早すぎたかもと後悔中。
  • Beauto Rover ARM(NXP LPC1343搭載)…以前はルネサスのH8マイコンのバージョンだけしかありませんでしたので全く眼中になかったのですが、ARM系マイコンを搭載したものが発売されたので、早速購入してみました。取りあえず組み立てだけは終わっていますので、LPCXpressoを使って実験してみたいと思っています。
以上が、今のところうちにあるARM系マイコンボードです。開発環境は、MacやLinuxで構築中です。時間を見つけて実験を重ねて、うまく行ったらまたブログにまとめることにします。
#良い情報があったら教えていただきたいのですが…。m(_ _)m

2011年11月28日月曜日

Dashメニューのアプリケーションアイコンの設定

自宅で使っているUbuntu 11.10で、ネットでダウンロードしたり、後からパッケージマネージャでインストールしたりしたアプリケーションのアイコンやカテゴリーがうまく設定できないという問題が発生していました。今までのインターフェイスなら、プルダウンメニューにアイコンが小さく表示されるだけだったので気にならなかったし、カテゴリーが不明な場合でも、探すのは難しくなかった(←詳しくは忘却の彼方)のに、新しいDashメニューだと大きなアイコンが使われることもあって、とても使いにくいし探すのが面倒だと感じていました。そこで、以前の経験を踏まえて「/usr/share/applications/」フォルダの中の.desktopファイルをいじればどうにかなるだろうとあたりを付けて、設定してみることにしました。

まずは、ネットでダウンロードしてインストールしたLPCXpressoのdesktopファイルの設定を見ましたが、インストールが成功しているだけで、中身はほとんど設定されていない状態でした。そこで、まずICONづくりから始めることにしました。Webサイトから適当な画像をダウンロードして、GIMPを使ってそれらしく切り取って、名前をつけて保存し、「/usr/share/icons/」フォルダに入れました。

次に、「sudo vi …」でLPCXpressoのdesktopファイルを開き、「icon=/usr/share/icons/(iconファイル名)」の項目を設定しました。カテゴリーなどの設定は、同じ「/usr/share/applications/」フォルダ内のscratch.desktopファイルを参考にして設定をしました。ここで再起動すると、無事にアイコンも表示されて、意図したカテゴリーに分類されているのが確認できました。

Ubuntuソフトウェアセンターからインストールしたものの中に、アイコンがまともに表示されないものがあったので、同じようにICONを作って設定を試みました。ネットでダウンロードしたものに比べて他の設定には問題がなかったので、「icon=」の設定だけを変更しました。こちらも無事にアイコンが表示されるようになりました。

ここまでやってきて、この操作がデフォルトなら、もう少し簡単にできる方法はないだろうかと感じました。(きっとあるんだろうと思いますが…)

2011年11月22日火曜日

KNOPPIXの時刻設定…失敗

常用しているKNOPPIXがインストールされているPCで、画面下のパネル部分に表示されている時刻がずれているのが気になっていました。GUIだけで設定できるようになっていないか、あっちこっち探してみたり、右クリックでメニューが出てこないか試してみたりしましたが、いずれも徒労に終わりました。

仕方がないので、ネットで情報を探してみると、何となく「date(システム時刻)」コマンドや「hwclock(ハードウェア時刻)」コマンド辺りを使うのだということがわかってきました。このPCは、スタンドアローンなため、タイム・サーバのお世話になるわけにもいかず、何とか手動で時刻の設定をしたかったのです。

まずは、「Root Shell」を起動し、dateコマンドを使って以下のように設定をしてみました。

# date -s "2011/11/dd hh:mm"
※「dd」は設定した日付、「hh」は時間、「mm」は分。実際には2ケタの数字が入ります。

これで、dateコマンドで確認すると、確かに時刻が変更されていました。続けてhwclockコマンドでハードウェア時刻をシステム時刻に合わせました。

# hwclock -w

これも同じく、hwclockコマンドで、ハードウェア時刻が合っているのを確認しました。

ここまでで時刻の設定は完了と思ったら、タイムゾーンの設定がUTCになっていることに気づきました。このままでも支障はないのですが、様々なファイルを他のPCやMacと共有しているので、日本時間(JST)にしておきたいと考えました。しかし、dateコマンドのヘルプを見ても設定の仕方がわからなかったので、またまたネットに頼って探してみました。すると、「# export TZ=JST-9」を使ったり、「/etc/localtime」を「/usr/share/zoneinfo/Asia/Tokyo」へのシンボリックリンクにしたりする方法があることが分かりましたが、どれもうまくいきません。再起動すると、元に戻ってしまうのです。解決方法が見つかっていませんが、取りあえずやったことだけ書いておきます。

1.タイムゾーンを再設定する
「# dpkg-reconfigure tzdata」で設定ウィザードが起動するので、「Asia」→「Tokyo」に設定する。
#「# vi /etc/default/rcS」で設定ファイルを開くと、「UTC=no」になっていた。これは、再起動しても変わらなかった。

2.「date」コマンドでJSTになっていることを確認できた。

3.「# hwclock -w  --localtime」でハードウエアに時刻を書き込んで、「hwclock」コマンドで時間にずれがないことを確認しました。

4.この時点で「/etc/localtime」が、「/usr/share/zoneinfo/Asia/Tokyo」にリンクされていることを確認した。

これで、タイムゾーンが日本時間になりました。ところが、再起動すると、また元のUTCに戻ってしまい、すべての設定がパァになってしまいました。時計は正しいのに、UTCなのは気持ちが悪いし、シンボリックリンクを作ったはずなのに、跡形もなく消えてなくなっているのがどうも腑に落ちないのですが、これ以上いじっていても時間の無駄なのでこのまま使うことにしました。
#そろそろ、KNOPPIXを使うのも考えないといけませんね。Ubuntuをカスタマイズして4Roboを作ろうかなぁと考えているところです。

2011年11月17日木曜日

OpenJDKの日本語フォントの設定

KNOPPIX 6.7.1には、OpenJDKが導入されていて、Javaがすぐに使える状態になっています。しかし、日本語フォントの設定ができていないため、日本語が表示されないという問題があります。今回は、「ライブCDの部屋」から、比較的日本語対応が進んでいるKNOPPIX 6.7.1CD(実はDVDにしか入らない)をダウンロードしてDVD-Rに焼き、職場で常用しているHPのPCにインストールしてみました。
#そのためにCD-RWドライブをDVD-RWドライブに換装しました。

そこに、Dolittle 2.3をインストールして使うことができるか試してみました。(そもそもKNOPPIXでDolittleが使えるようにしたかったのでした)うまくいくことを期待していたのですが、結果はダメでした。仕方が無いので日本語フォントを設定してみることに。ネットでいろいろと探し回った結果、OpenJDKの日本語フォント設定は、それほど難しくないことがわかりました。その手順を以下にまとめておきます。
  1. 日本語フォントを格納するフォルダを用意する
  2. KNOPPIX 6.7.1のOpenJDKで使う日本語フォントは、「/usr/lib/jvm/java-6-openjdk/jre/lib/fonts/fallback/」以下に日本語フォントファイルの実体もしくはシンボリックリンクを入れておくことで使うことができるようになります。まずは、このフォルダを用意します。
    $ cd /usr/lib/jvm/java-6-openjdk/jre/lib/
    $ sudo mkdir fonts/fallback -p
  3. 日本語フォントのシンボリックリンクを作る
  4. 次に、今作った「fonts/fallback/」フォルダの中に日本語フォントファイルへのシンボリックリンクを作ります。日本語フォントは、「/usr/share/fonts/truetype/」内のものを使うことにしました。
    $ cd /usr/lib/jvm/java-6-openjdk/jre/lib/fonts/fallback/
    $ sudo ln -s /usr/share/fonts/truetype/takao/TakaoPGothic.ttf
    $ sudo ln -s /usr/share/fonts/truetype/takao/TakaoPMincho.ttf
たったこれだけで、Javaのソフトで日本語が表示されるようになります。試しに先述のDolittleを使って日本語表示に問題ないか確認しましたが、「かめた=タートル!つくる。」も含めてまったく問題はありませんでした。過去に同じ問題に遭遇した時、sun-Javaを使うことにしてOpenJDKは諦めてしまったことがありました。でも、今回は必要に迫られてOpenJDKでの日本語表示に挑戦しましたが、これほどあっさりできてしまうと、諦めずに挑戦しておけばよかったなぁとちょっと後悔しました。

2011年11月3日木曜日

小学校フィジカル・コンピューティングの教材研究

今年もSPPの支援を受けたフィジカル・コンピューティングの学習活動が始まりました。今年の研究テーマは、「フィジカル・コンピューティング環境を活用して豊かな未来を創る子どもたちを育てる」としました。子どもたち(6年生)の学習課題は、「みんなの願いが実現する社会を目指して---人と人とをつなぐコミュニケーションツール作り---」とし、ScratchKNOPPIX上で使用)にPicoBoardWeDoHelloBoardなのぼ〜どなどを接続して、人間関係を豊かにするためのコミュニケーションツールを作る活動をしています。
#昨年度の報告書は、平成22年度実施報告書としてサイトにアップされています。

 子どもたちに教えるためには、こちらも教材研究をしておかなければならないということで、授業を進めながらせっせと教材研究に励んでいるところなのですが、先日、拙作のWebサイトを更新し、今年の教材研究でわかったことをまとめました。その続きとして、なのぼ〜どで実験したことを記録しておきます。

 授業のために用意した赤外線LED(TLN110(F))と赤外線フォトトランジスタ(TPS611(F))は、確実に動作するものをと考えて、仕様書などを確認しながらこの組み合わせを選びました。秋月で扱っている安価なものは自費で買っていたのですが、確認する暇がなかった(単に知識が不足しているだけですが)のです。今回、教材研究の合間に、秋月で扱っているものでちょっと実験をしてみたところ、OSI5FU5111C-40に1.6kΩくらいの抵抗をつけて、L-51ROPT1D1を赤外線センサとして使う(Aに接続する)と、良い感じに使えることがわかりました。反応する角度が狭いので、真っ直ぐ向きあわせなければなりませんが、ピッタリ合うと抵抗値がかなり低くなりました。
#赤外線LEDは、更に安価なOSI5LA5113Aでもいけると思います。

ついでに、もう少し実験を続けてみました。圧電スピーカーなどの小型のスピーカーで音が出たので、超音波スピーカー(超音波センサとしても使える)でもできるのではないかと思ってやってみました。結論としては、反応しないこともないのですが、微妙な感じでした。もしかすると、PWMの周波数の問題ではないかと思いましたが、どうすれば良いのか解決する方法がわかりませんでした。

次に、振動センサで抵抗値の変化を測定してみましたが、反応はイマイチで使えるとまでは言えませんでした。同じように圧力センサでも実験してみましたが、こちらは十分に使えるレベルでした。

一方、WeDoのUSBハブにモータではなくLEDをつけてつくかどうかやってみました。普通のScratchでは、残念ながら何も起きないので、例によって阿部さんにお願いをしてScratchをカスタマイズして頂き、LEDがつくようにして頂きました。モータも一緒に動かすことができるので、ちょっと面白い使い方ができそうです。ScratchにLEGO WeDo USBハブとLEDをつなげて、可視光通信システムなんてのもできそうな感じです。

2011年10月23日日曜日

自宅PC環境の整理と整備

このところ、PCの自作に興味がなくなってきて、自室にある古いPCたちを処分したいなぁと思い始めていました。いずれも、Linuxで運用しているのですが、一番古いのは2003年に自作したCeleron 1.4GHzのサーバ(ファイルサーバ、DHCPサーバ、自宅LAN専用Webサーバとして使っていました)と、以前にUSB周りが壊れたマザボをカセットデッキの筐体に載せたもの(こちらはDuron 1.4GHz)なので、まずはこれを処分することにしました。

それぞれのPCを解体して、使えそうな部品だけ取り出しました。とは言え、かなり古いものですから、あまり欲を出して取っておいてもどうせ使わないだろうと考えて、思い切って捨てるべきものは捨てることにしました。メモリ、グラフィックボード、LANカード…マザーボードとどんどん片付けていき、サーバの筐体を見たときに、「小さな本棚くらいには使えそうだなぁ」と考えて、本棚として使うことにしました。
#今、この記事を書いているMacBookの下にあります。

本来ならサーバを先に作って移行作業をすべき所ではありますが、そもそもHDDを使い回すことを前提として作業をしていたので、Celeron D 330(2.66GHz)のマシーンにHDD(250GBのHDD2台)だけ載せてみました。はじめは、openSUSE 11.4アップデートインストールでうまく行きそうだったのですが、上手く再起動ができなかったのでクリーンインストールしてみました。(そのため、バックアップ保存していたデータが全部消えました。orz)それでも状況は改善せず、さてはハードウエアの問題だろうと考えて、変則的に接続していたHDDのIDE延長ケーブルを交換したらうまくいきました。はじめから、これをやっておけば良かったと悔やまれるのですが、後の祭りは日常茶飯事なので、くよくよしないで次に進むことにしました。その後、rootのパスワードを設定($ sudo passwd)し、YaST2の「ソフトウェアセンター」を利用してNetatalkやDHCPサーバをインストールしました。NetatalkはYaST2の「システムサービス」から動かして、DHCPサーバはネットワークサービスから設定ウィザードで設定をして、ファイアウォールも設定して以前と同じ環境になりました。

 一方、先日直したばかりのUbuntuで運用してきたPC(Celeron 2.0GHz)も現役を引退させ、Atom 330(Dual 1.6GHz)を使うことにしました。このPCにはHDDを入れていないので、USB 2.0で接続している外付けHDDに最新のUbuntu 11.10をインストールしました。インターフェイスがだいぶ変わったので、ちょっと戸惑いながらも必要なソフトウエアを「Ubuntu ソフトウェアセンター」からインストールしました。でも、ちょっと細かいものになると、上手くインストールできない感じなので、「Synaptic パッケージマネージャ」をインストールして、今までと同じ環境で必要なソフトウエアをインストールすることにしました。まだまだ元の環境に戻ったというところまではできていませんが、時間を見つけてインストール&動作確認をしていきたいと思っています。

2011年10月10日月曜日

3年目のカブトムシ飼育

このところのハンパない忙しさのため、しばらく放置状態が続いていたカブトムシの幼虫ですが、昨日の夜、マットの上にはい出ているのを発見して、世話をしなければならない状況にあることを思い出しました。

以前、卵を十数個、成虫から隔離しておいた平たい飼育ケースからは、 7頭ほど無事に3齢にたどり着いた幼虫が出てきました。ケースの中身はフンだらけでしたから、世話をサボりすぎたことがわかります。生存率が半分程度になってしまったのも、そのせいだと思われます。

次に、先日まで成虫が入っていた大きい飼育ケース(このケースのマットから幼虫がはい出ていた)のマットを少し掘ってみると、3〜4頭いるのがわかりました。このままではよくないと考えて、フンをふるいにかけて取り除き、両方のマットを合わせてこちらのケースに詰めて、朝になるのを待ちました。外においてあるコンテナの様子も気になりましたが、既に暗くなっているので夜の作業は避けました。

という訳で、今日は朝からカブトムシの世話をしました。コンテナの方には、遅く羽化したオスのカブトムシが2頭いますが、空いた平たい飼育ケースの方に移ってもらうことにしました。(落ち葉を敷いて、餌を入れてあります)その後、コンテナの中のマットを見て、自分の失敗に気づきました。マットがほぼ完全にカラカラに乾いているのです。ナメクジが大量発生するほどの湿度があったので、すっかりマットの加水を忘れていましたが、思ったより深刻で、30cm弱くらいの深さまで敷き詰めてあるマットの上部半分は全く水分を感じないほど乾燥していました。取りあえず、乾いている部分を取り除いてまだ湿り気が残っているところを掘り起こして見ましたが、かなり広いのになかなか幼虫が出てきません。そもそも、このマットを敷き詰めるときに丁寧に加水作業をしなかったことも反省しました。(加水に時間をかけて、丁寧に揉み込んだ状態にしておくと長持ちすると思います)

フンが全くでてこないのでもうダメかと思ったのですが、底の方で硬くなったマットの中に3頭の3齢幼虫を発見しました。しっかりフンもしていたので、元気にマットを食べていたことがわかりました。ホッとしたのと同時に、手を抜いてはいけないことを改めて思い知らされました。今回は、丁寧に加水してもう一度マットを入れ直して幼虫を戻しました。(水につけておいた朽木も一緒に入れましたので、少しは水分補給になると思います)
#もしかすると、このコンテナには遅く羽化したものを中心に入れておいたので、遅く羽化したものには、繁殖に関する何らかの障害があるのかも知れないと思いました。

 大きな飼育ケースに入れておいた幼虫たちも、こちらのコンテナに引越しをお願いすることにして、マットを掘り出してみました。こちらのケースからは、13頭の幼虫が出てきました。丁寧にフンを取り除き、マットをコンテナに移しました。こちらのマットは、しっかり加水されていて、幼虫たちにとっても過ごしやすかったのだと思います。これで合計16頭の幼虫がコンテナの中で暮らしていることになります。昨年よりはだいぶ少なくなりましたが、コンテナ飼育のやり方を考えながら飼育するには調度良いかなと自分に言い訳しつつ、それにしても世話をサボりすぎてしまった自分を反省しつつ、次は冬前にマット交換をするつもりです。

2011年10月9日日曜日

Ubuntu 11.04で作ってきた環境を復活させる

先日、Ubuntu 11.04で動かしていたPCの調子が突然悪くなり、OSが起動しなくなってしまいました。ハードウエアの故障かも知れないと思いましたが、取りあえず上書きでOSだけをインストールしなおすと、再び動き出したのでちょっと一安心。と思ったら、マウスが動かない状態になってしまいました。(もしかすると、HDDがそろそろ寿命かもしれないと思っています)このままでは使えないので、渋々クリーンインストールすることにしました。

これまで、いろいろと環境を整えてきていたマシーンだっただけに、かなりの痛手。もし、HDDが寿命を迎えていて、再び同じような状況になるのなら復旧作業が無駄になる可能性があります。そこで、より簡単に復旧できるように、「Synaptic パッケージマネージャ」だけでどこまで必要なソフトウエアを入れることができるか試して見ることにしました。

はじめに、いきなりデフォルトのリポジトリ設定では出てこない「Scratch」を入れてみることにしました。Scratch on Linuxのサイトから、Personal Package Archive (PPA)のページに入り、Ubuntu 11.04でのリポジトリの設定を確認(deb http://ppa.launchpad.net/scratch/ppa/ubuntu natty main)して、Synapticに追加します。すると、Scratchが検索できるようになり、インストールの設定をすれば自動的にインストールされるようになりました。(日本語でのバグは手動で直すしかありませんが)

続いて他のソフトも入れました。Wine 1.3OpenJDKIPA FontpTeXと入れて行って、この作業が面倒になって来ました。そこで、一旦Synapticから離れて、「Ubuntu ソフトウエアセンター」から電子工学(Eagle、Qucsなど)、教育・教養(eToys、Sugarなど)、科学(KSegなど)、プログラミング(Eclipse、Squeakなど)、サウンドとビデオ(Amarok、Rosegardenなど)、グラフィックス(Blender、QCadなど)、オフィス(Kile、Texmakerなど)に分類されるそれぞれのソフトウエアを入れて行くことにしました。驚いたのは、「Arduino IDE」がソフトウェアセンターからインストールできたことです。その勢いで「Processing」もと思いましたが、残念ながらありませんでした。

 この作業をしながら、こういうリストをネット上に保管しておいて、不都合があった場合に読み出して、すぐに復旧できるようなシステムがあるとありがたいなぁと思いました。 Synapticやソフトウェアセンターでそんな機能はないか調べて見ましたが、どうやらなさそうです。せめてインストールしたもののリストだけでも保存しておいて、後から読みだして自動的にインストールする仕組みがあったら何倍も楽だろうと思います。
#既に作られていても良い気がしますが…。

2011年9月17日土曜日

学校で育てられる「生きる力」とは何だろう

子どもたちと一緒に修学旅行へ行ったときのエピソード。家康の墓までの石段の数を数えるのに、1から順番に数えているのがどうも効率が悪くて、もう少し簡単に数える方法は考えられないのかなと話してみました。なぜ効率が悪いかといえば、全ての位の数を読まなければならないルールにすると、何らかの理由で途中で止まってしまったとき、はじめから数え直さなければならなかったり、階段を登ったり降りたりしながらテンポよく数えようと思っても、数の読み方が必ずしもテンポが良いわけではない(数字の読み方をローマ字にするとよくわかります)ためにつまずいてしまったりするからです。

そこで、例えば1〜10まで数えて指を折り、また1〜10まで数えて次の指を折るような数え方をしてみたらどうだろうかと問うと、指を折る方が面倒だというのです。私が提案した方法を分析的に捉え直すと、口は一の位、右手は十の位、左手は百の位を表すというような考えでした。(もちろん、子どもたちにはこんな難しい言い方ではなく、実演しながら説明しました)

このことから、子どもたちの「数感覚」が見えてきました。子どもたち(たとえ6年生であっても)にとって、数とは1から順に並んだ(順序数的な理解)ものであり、十進数の肝である「10ずつ束にする」という捉え方はできていたとしても、それは決して彼らの自然な理解ではないのだということです。わかっていても使えないのなら、わかっている価値がない。数を束で捉えられるような学習機会(あるいは学習場面)を工夫していかなければならないなぁと感じました。

一方で、このエピソードから学習自体を忌避する傾向の根強さも感じました。自分が今までやってきた方法ではないやり方に対して、やってみようとする態度よりも拒絶する態度の方が強いのです。これは、自分自身が有能であることを信じようとする心理的な働きであろうとは思いますが、このことが学習を阻害し、学習したことを生かす力(生きる力)を育てることにマイナスに働くのだとしたら、とても皮肉なものだなぁと感じました。(養老先生が「バカの壁」で言おうとしたのは、こういうことなのかも知れないと思いました)

学ぶことを忌避し、拒絶しておきながら、成人して満足な収入が得られず、保護されることだけを望むような人を見かけることがあります。その根は深いのだなぁと感じるとともに、学校で育てられる「生きる力」とは一体どういうものなのだろうかと考えさせられました。

2011年9月10日土曜日

尊敬する人は「親」で本当にいいの?

最近、子どもたちに「尊敬する人は?」と聞くと、「(自分の)親」と答える子が多いのが気になっています。私の子どもには、私のような取るに足らない人間を目標にしてもらいたくない。親など乗り越えて、立派に成長してもらいたい。そう願っているからです。

幼い頃の子どもたちのあこがれは、仮面ライダーや戦隊ヒーロー、アイドルやスポーツ選手など、テレビに出ている人であることが多いと思います。幼いながら、その「人物(キャラクター)」に憧れを抱くのだろうと思います。あるいは、幼稚園や保育園の先生など、身近にいて親ではないのに自分の世話をしてくれる人(世話になっている意識がないということはあると思いますが…)に憧れる場合もあるでしょう。しかし、成長するに連れて、将来の夢は職業になり、その職業に就いている人物に憧れるものの、生き方としての目標は、身近にいる「親」ということになってきます。そこには既に「大志を抱く」というような感覚はなく、今の自分から考えて「自分の親くらいが妥当」というような感覚が見え隠れします。

また、本気で自分の親を尊敬し、憧れていると言う子どもたちの中には、「では、その生き様やその人生を決めた出来事を知っているか」と問うと、「詳しくは知らない」と答えることが多く、人の生き様を知りたいという感覚もないという場合があります。ただ、「いつも優しい」「兄弟や友だちみたいに接してくれる」「私の言うことをよく聞いてくれる」と。そこに、生き様に関わる何かが含まれていないとは言いませんが、その程度で「尊敬」していると言い、自分の人生の目標としてしまって良いものだろうかと疑問に感じます。

こうしたことからも、先達の生き様を学ぶことは、とても重要なことだと思います。幼い頃からさまざまな人物の生き方や哲学を学ぶことは、その子の人生に大きな影響をあたえることだと思います。今の子どもたちの中にも、歴史的な人物に関心が高い子がいるのは少々救われる気がしますが、その人物が何をしたのかということよりも、どういう哲学を持って生きたかということに関心を持って欲しいと思います。当然のことながら、時代が違う現代にあって全く同じことはできませんが、その哲学を今の自分に生かせる人に育って欲しいと願っています。(だから、歴史的な人物を漫画のキャラクターのように顔立ちや見た目だけ取り上げるようなやり方には、強い違和感があります。過去の人物を現代風に「翻訳」するなら、福田恆存氏がイギリスの古典文学であるシェークスピアを翻訳した時のような慎重さが必要だと思います)

人が生きる上で最も重要なのが「生き方」を知り、「哲学」を持つことなのだと思います。それは、幼い子どもでも同じです。それがなければ、何のために生き、何のために学んでいるかわからないし、真の喜びや楽しみもわからないと思います。そして、自分の口で「こういう人物になりたい」と言える人へと成長して欲しいと思っています。

2011年8月21日日曜日

☆(Star)Board Orangeを組み立ててみました

mbed(詳しくは「mbedを始めましょう!」を参照)用評価ベースボードとして開発された、☆(Star)Board Orange(以下「☆Board」)というのがあります。これは、私も先日購入して使い始めたmbedを載せて様々な実験をすることができる評価ベースボードです。今回は、スイッチサイエンスで「☆Board Orange 単体基板」を購入しました。同完成基板もあるのですが、部品リスト(PDFです)を見ながら自宅の部品箱の中を確かめると、あるものが多かったので、足りない部品だけを買い揃えて作ってみることにしたのでした。

組み立て方法は、「ハンダ付けステップバイステップ」のページを参考にしました。表面実装部品のmicroSDカードコネクタは既についていましたので、その先からスタートでした。部品リストには、秋月の商品番号が書かれていたので、足りなかった部品はそれを参考に買い足しました。部品点数もそれほど多くなかったので、ハンダ付け作業はだいたい2時間程度で、無事に☆Boardが完成しました。

動作確認のために、「mbed評価用ベースボード」のページにある「4.評価済み Cookbook サンプルプログラム」を参考にして、サンプルプログラムを動かしてみました。ちょっと難関だったのは、ジャンパの設定でした。一応、以下のように書かれているのですが、LCDのデータシートと合わせて確認しなければなりません。(写真も若干あてにならない)
ジャンパ説明上側選択下側選択
J1 LCDモジュールの電源電圧を選択します。+3.3V+5V
J2LCDモジュールの2番ピン機能を選択します。J1で選択した電源電圧を供給。グランドに接続。
J3LCDモジュールの1番ピン機能を選択します。J1で選択した電源電圧を供給。グランドに接続。
J4 LCDモジュールのコントラストピンに対する設定です。-2Vを供給。グランドに接続。
J5LCDモジュールのR/W-ピンに対する設定です。R/W-ピンをmbedに接続。R/W-ピンをグランドに接続。
「上側・下側」というのは、mbedを下方向、LCDを上方向に置いた時の上下関係を意味しています。ジャンパの設定については、基板上にもシルクでそれらしきことが書いてありますので参考になります。私の設定は、以下の通りです。
J1…+5V
J2…2番ピンGND
J3…1番ピンVdd
J4…-2V
J5…GND

はじめは、なぜかうまく動かなかったのですが、mbedを抜いたり挿したりしながら、何度かコンパイルし直してプログラムファイルを入れ替えたりしているうちに、無事に表示するようになりました。(もしかすると、半固定抵抗の設定が間違えていただけだったのかも…)

動かしたサンプルプログラムは、次の通りです。
#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p24, p26, p27, p28, p29, p30); // rs, e, d0-d3

int main() {
    lcd.printf("Hello World!\n");
}
「TextLCD.h」は、mbedのWebサイトから「Compiler」に入り(ログインが必要)、「Import」を選択して「Libraries」の中から「TextLCD」を探して入れました。いろいろと試行錯誤したおかげで、mbed Compilerの使い方もだいぶ覚えました。☆Boardは、かなり便利な評価ベースボードだということがわかってきました。これから時間を見つけて試用していきたいと思います。

2011年8月12日金曜日

古い文献に学ぶ

思いがけない方から、40年近く前に出版された本を頂きました。私が算数の研究をしていることを知って、「退職して要らなくなったから」と頂いたものです。そこに著者として名を連ねているのは、今も算数数学教育界の重鎮としてご活躍の先生方や既に伝説となっている先生方でした。当然のことながら、この本が私の手元にやって来たこと自体が稀有のこと。まだ、ざっとしか目を通していませんが、研究意欲が湧いてきています。

中でも目を引いたのが「発見学習」について書かれた一冊でした。ときは現代化の時代。算数数学教育に関する研究も盛んに行われたらしく、今でも有名な研究者が次々と引用されていました。著者は、行政のお立場でこれだけの研究をなさり、かつ本まで出版されるとは並々ならぬご苦労があっただろうと思います。一方で、それを許した時代的な背景を考えると、「いい時代だったんだなぁ」としみじみ思えてきます。

内容としては、今、言われているところの「問題解決学習」に近いのですが、「発見」と言うだけあって、子どもたちに数学的な原理を発見させることを目的とした学習スタイルが提示されています。驚いたことは、既に数学的表現として「式、図、表」を相互に表し直すというようなことが書かれていたことです。そして、話し合い活動も含まれています。今、世に出しても、古いとは言えないなぁと感じながら読んでいます。

これをきっかけに、私の手元にあった古い本や古い本の覆刻本を引っ張り出して読み始めました。時代は様々ですが、普遍的な課題がそこにある気がしています。今でも変わらない「学級経営のツボ」やその昔に提唱されていた「文章問題の系統性」について実践的に論じられている本もあり、まだまだ勉強すべきことはたくさんあるなぁと改めて感じました。

今、学校教育に足りないのは、「子どもの思考への理解」ではないかと感じています。子どもたちが考えていることを理解するのだけでなく、子どもとはこう考えるものであるということを理解するのです。そういうところから授業を作っていくような実践が必要だと思っています。
#本当は、教育課程自体も子どもの思考に添う内容と過程にする必要があると思っていますが、その話は後日に譲ることにして。

現場の一教員である私が、様々な研究をするには自ずから限界があります。同じ立場の教員に、「研究に没頭しろ」とは言えないと思いますし、「一緒にやろう」と言うのも難しい。しかし、ここは手を抜くところじゃないと思っていますし、これができないなら、他の仕事を削るべきだと思っています。

2011年8月8日月曜日

私を動かしてきたもの

自分の仕事の進捗を確認しながら、このところ、あまりの仕事の多さに自分を振り返れていないなぁとちょっと反省。年齢を重ねてやりたい仕事よりもやらねばならぬ仕事が多くなり、その責任も重くなってきたことが原因なのですが、他の先生たちよりもやりたいと思うことが多いというのも事実かもしれないです。

8月に入り、あることがきっかけで、自分の教育観を見直す作業をしています。経験年数だけは毎年重なっていくのですが、自分の中でモヤモヤした気持ちはどんどん増すばかり。このモヤモヤ感の原因は一体何なのか考えてみましたが、ふと、自分が教師になろうと思った頃のことを思い出しました。

私を学校教育界に向かわせたのは、端的に言うと「怒り」でした。穏やかな言い方をすれば「このままではいけないという問題意識」とでも言いましょうか。学習者の立場で考えても、学校教育には矛盾がいっぱいあることがわかったし、常に受動的で本当に学びたいことが学べないし、何も考えずに生きるなら楽なのに、何かを変えようとすると途端にいくつもの壁が立ちふさがるし。およそ「人を育てる場」になっていない学校の姿に怒りを感じたのが最大の理由でした。
#もちろん、採用試験の時はそんなこと言いませんでしたよ。(^_^;;;

当時から、そのすべてが先生のせいだとは思っていませんでした。良い先生にはたくさん巡り会えたし、そういう先生方から学んだことは、今でもとても貴重なものだと思っています。問題は、日本の学校教育システムそのものにあるのだと思います。しかし、私にはそれを変えるほどの力などあるはずもなく、せめて目の前に居る子どもたちにだけは、現状のシステム下でもできる理想的な学習場を提供したいと考えて教員になったのでした。

その意味で、はじめから孤独だったし、自らストイックに学び続けることを目指し、様々なチャレンジをしてきました。問題意識から行政にも働きかけたり、行政の仕事もお手伝いしたりしました。そんな中で、少しずつ見えてきた学校教育システムが抱えるがんじがらめの現状。こんな中で正気でいられること自体が不思議でならない。その昔、高校生だった頃に考えていた、「何も考えずに生きるなら楽なのに…」という記憶が頭をよぎります。先生たちも、矛盾だらけの学校システムの中で、受動的な研修や事務仕事に時間を潰され、問題意識を持っていたとしても、多くの壁に阻まれて結局何一つ変えることが出来なかったのだなぁと。

今から30年前に書かれた本の中に、親の理不尽要求にさらされる学校の現状や学習者の怠惰な状況に対する警鐘のようなものを発見して、30年もの長きにわたって何一つ変えることが出来なかった学校教育の問題が一層はっきりしてきました。今、学校教育の業界内で信じられている、あるいは、指導されていることの一つ一つを「本当にそうなのか?それでいいのか?」と批判的な目で見直す必要があると思います。

先生や学校は責任ばかりを追求されて、保護されるシステムが存在しないのもおかしい。子どもたちの知的好奇心に揺さぶりをかけるような学習環境にしたいのに、金も人も時間も足りない現状を打開しないといけない。無駄な会議、無駄な報告書、無駄な取り組み、無駄な配布物、無駄な…etcを徹底的に排除して、学校現場では最低限何を優先すべきなのかをはっきりさせることが重要だと思います。
#それを保護者も地域も理解すべき。先生は、スーパーマンじゃないし機械やロボットでもない。24時間365日フル稼働が当たり前という意識を変えていただきたい。
#きっと「そんな風には思っていない」って言うんだろうけど、じゃあ、先生に要求される仕事を時系列で整理してみたら、どれだけになるか調べたことあるの?って聞いてみたい。文句が出ないように、全部やることにしたら更に死人が増えるよ。「先生たちが危ない」って役所や議員に抗議しに行く人って皆無だよね。
#究極的に、自分は誰からも(法律からも)守ってもらえない存在だということがわかっているから、自分で自分を守るしかない。だからどこかで手を抜くことを考えちゃう先生が多い。子どもたちを理解するために児童心理を学び、子どもたちの行動を観察・記録したり、自主的に研究会に参加して先輩たちの経験から学んだり、教科書や学習内容についての研究をして、よりよい教材・教具や指導方法を研究したりすることが大事なんだけど、そういうところで手を抜く。
#これじゃぁ何のために先生をやっているんだかわからないよね。授業力が身につかないから、結局子どもたちにも力がつかない。悪循環だよね。無駄仕事が多すぎるから、サボっていてもわかりにくいって知ってます?やるべきことがはっきりしていたら、むしろサボれないのに。
#世間では「学校不信」なんて言うけど、先生たちの「学校教育システム不信」についても考えなければいけないと思う。

立場や肩書きなどどうでもいい。子どもたちを目の前にしたら、そんなものは何の役にも立たない。怒りの炎が青く熱く燃えてきたぞ。

2011年8月6日土曜日

教員研修のあり方を探る (2)

前回の続きですが、今回は校外の研修について考えていることを書いてみたいと思います。

〈2.校外研究会のスタイルを見直す〉
学校を離れてまで研修をしたいという先生たちは、それなりに意識が高いと考えて間違いないでしょう。だとすると、研修のレベルも校内研修レベルでは話になりません。具体的に言うと、ベテランの先生たちから「授業づくりの知恵」を学ぶようなレベルの研修をやっていたのでは、校外で研究会を行う意味が無いと思うのです。日常の仕事の中や学校の先生たちからでは学べないような、より専門性の高い知識や技能を身につけるような研修を行う必要があると思います。

そのためには、まず一人一人が研究の仕方を身につける必要があると思うのです。みんな忙しいですから、即効性があって、明日からでも使えるような指導方法を知りたいと思いがちです。しかし、それでは根本的な解決にはなりません。実践的な内容の研究をする前に、子どもとはいかなるものなのか、彼らの思考や発想にはどんな特徴があり、私たち大人とどこが似ていてどこが違うのかなどというような、基礎的な研究からやっていかなければなりません。大学では、子どもたちに接していない状態で「さわり」程度のことを学習しているでしょうが、教員になったのだから、まさに目の前に良い教材がいてくれるわけです。言い方は悪いかも知れませんが、活用させていただかない手はありません。じっくり子どもたちと向き合って、彼らの思考を読み解くところから始めてみましょう。そして、国内外の様々な研究成果と照らし合わせて、子どもたちを理解していくことが大切だと思います。

そのためには、児童心理学などの論文を教材として、輪読会のようなものを開催しても良いと思います。同じ教材をみんなで読み合えば、お互いの読み取りの違いもわかって、より深く学ぶことができるでしょう。教科指導の「教えたい内容」を全面的に押し出して、教材の研究や指導方法の研究から始めるなんてやめて欲しい。まずは子どもたちを理解することに努めることが先決だと思います。
#ただし、これは子どもたちにおもねることを意味していないのでご注意を。

こうしたことを土台として、学習指導要領やその解説、教科書の研究などを経て教材の研究や指導方法の研究へと進めていかなければならないのだと思います。スタートがしっかりしていると、ものの見え方もだいぶ違います。経験だけでものを言う人の嘘を見抜くことができるようになります。もちろん、経験の中から学べることが多いのは間違いありません。しかし、校外でも研修しようというのなら、経験だけでは片手落ちすぎると思います。子どもたちへの深い理解と、理論と実践をしっかりと結びつけた研修にして欲しいと思っています。

さて、いつどこで提案しようかなぁ…。

教員研修のあり方を探る (1)

大量退職時代の到来で、教員の世代交代が激しくなっています。高齢化していると言われていた学校現場が、一気に若い先生たちで溢れているようなところもあります。そうした中で、若い先生たちを育てる仕組みを再構築していく必要を感じています。

その昔、自分が小学生だった頃の先生たちはみな若くて、志のある人たちは、教材や指導方法を研究するサークルや勉強会などに参加して研修を積んでいました。そうしたものは今でも各地に残ってはいるのですが、形骸化していて若い先生たちを取り込む求心力を失っていたり、レベルが高すぎて若い先生たちのニーズに応えられなかったりして、あてにはならない状況があります。そこで、これから2回に分けて校内と校外でこんなことができたらいいなぁと思うことを書き留めておきたいと思います。もとより、構想の段階なので実現できるレベルのものかはわかりませんが…。

〈1.校内でのニッチな研修〉
教員になって驚くのはその忙しさです。それこそ、教材を研究している暇もない。先輩の先生たちを捕まえてじっくり話をすることもままならない。どうしようもなく悩んでいることは相談できても、本当に大事なのは、日常的な細かなこと。例えば、発問の仕方や黒板の書き方、指名の仕方や授業規律などなど、知らなければならないことはたくさんあります。それを、「マニュアル本」やら初任者研修に頼ることにしたとしても、1年間で学びきれるものではないし、適時性を考えると、職場の先生たちが互助的に研修し合えるのが理想的だと思います。

「だから校内研修を充実させて…」という話ではありません。校内研修は、いわば公の研修。相応のレベルを必要としますし、若い先生たちの個別のニーズに対応するのが目的ではありません。そこで、若い先生たちの資質向上を目的とした「校内サークル」のようなものを作ってみてはどうかと思っているのです。

よく若い先生たちが、連れ立って飲みに行くようなことを聞きます。お互いに仲良くしながら、先輩たちがいないところで同じような立場で悩みを聴き合うというのも大切なことです。しかし、ともするとお互いの傷を舐めあうだけで、答えの出ない堂々巡り。酒のんで鬱憤晴らしをするだけになってしまうこともあるでしょう。だとしたら、もう少し有意義な活動を考えてみてはどうでしょうか。酒席ではなく、勤務時間外を利用して、校内講師(ベテランの先生)を囲んでお互いの実践や今困っていることなどを、一人ずつ話すようなことをやってみると良いのではないかと思っているのです。
#一人A4用紙1枚(文字数行数自由)のレポート持参みたいな形で。

講師も毎回出られる人もいれば、ある時だけ特別に頼む場合があっても良いと思います。会の運営については、若い先生たちが自治的に行うとしても、全教職員に周知して、管理職の後ろ盾も頂いて、学校全体で協力・支援するような形にすることが理想的だと思います。時間外だから強制することはやめて、学校が使えなければ近所の公民館を借りてもいい。こんなことを月1回ずつでもできたら、若い先生たちも力がつくし、なかなか学校外の研修に出られない人でも参加できて良いと思っています。

さて、いつどこで提案しようかなぁ…。

2011年8月5日金曜日

面積の求め方の落とし穴

平面図形の図形としての最小単位は三角形です。(ニ角形というのはないからです)でも、面積の導入は、長方形や正方形の面積です。それはなぜか。答えは簡単です。面積の学習は図形の学習とは違うからです。算数で言うと「量と測定」という領域になります。(「図形」領域ではないのです)

「面積を求める」というのは単位正方形(1cm²、1m²、1km²…etc)がいくつあるかを数える作業です。例えば1cm²は1辺が1cmの正方形と考えてください。これを、広さをはかる尺度にしようと決めたのです。長さの単位を使って、広さの単位を作り出したわけです。でも、そもそも長さと広さには、優位な相関性はありません。周りの長さが同じでも、面積は必ずしも同じではないからです。ところが、このことが子どもたちを混乱させる原因となります。

私たちが何かを「測る」とき、それは必ずしも見やすい形で表されるとは限りません。そこで人々は、わかりやすい尺度に変換して測りやすくする方法を考え出しました。温度計も時計の文字盤も、それぞれ温度と時間を長さに変換して測る道具です。そう考えると、長さに変換して測るパターンが多いことに気付かされます。バネばかりや上皿ばかり、雨量計なんかもみんな長さに変換しています。つまり、長さというのはヒトにとって、とてもわかりやすいものだと言うことができるのです。

すると、面積を求める学習で、長方形の面積は「縦(の長さ)×横(の長さ)」で求められるということを早くから前面に出しすぎてしまうと、子どもたちは「長さ」の方にばかり目が行ってしまって、肝心の「単位正方形を数える」ということを忘れてしまうのです。だから、いろいろな形の広さを調べさせようとすると、一生懸命周りの長さを測って、その長さで比べようとしてしまう子どもが出ます。複合図形に対しても、長方形や正方形が見えてこないと求積をあきらめてしまったり、闇雲に長さを測って適当にかけ算するという子どもたちが現れてしまうのです。

確かに、「縦×横」を定着させると、早くスムーズに面積を求めることができます。また、小数や分数になった場合でも簡単に求積できますのでとても便利です。そのためか、先生たちの中には、「いつまでも単位正方形を数えさせていないで、早く長さに着目させなくてはならない」と思い込んでいる人もいます。でも、肝心なことを忘れさせてしまうのなら、本末転倒と言わざるを得ません。求積公式は、あくまで「単位正方形を数える方法」に過ぎなくて、常に単位正方形を数えている感覚を、面(広さ)を見ることを忘れさせないようにすることが大切なのだと思います。

さらに詳しい面積の話は、図形の等積変形が可能だったり、倍積変形して半分にすればもとに戻ったり、限りなく薄くスライスしてずらすことができたり、…など、図形の操作に関することと同時に身につけていけば良いのだろうと思います。いつかは単位正方形も固定的なものではないことに気づかせなければなりませんが、あわてる必要はないと思います。

2011年8月4日木曜日

数と量、数字の話

小学校の算数では、「量(りょう)」のイメージを使って「数(すう)」の概念を獲得させます。りんごとか、みかんとかいろいろなもののかずを数えて数とは何かを構成させるわけです。でも、そもそも数と量は別物です。象5頭とマッチ棒3本をたし算することにはあまり意味はないでしょうが、「5+3」はできます。量を使って数を理解させたとしても、量と数は同じものではないのです。

そして最も厄介なのが「数」と「数字」の違いです。数の概念に対して、それを数字という記号で表すことは、とても優れた発明ではありますが、お互いが不可分であると考えてしまうと、無用な混乱を生む原因となることもあります。つまり「1」という記号を使って「いち(一)」を表すことに必然性はないのです。このことは、教える側がしっかりと理解していなければならないことだと思います。

そんな中で、こんな表現を見つけました。






2
6
図1
んっ!?何かおかしい。□は、低学年で使うブロックのイメージです。一番上の位の表記がなければ、「2」と「6」であって「26」ではない。子どもたちもそう考えるでしょう。教科書では、(もう少し間は詰まっていますが)
□ □
□ □
□ □
□ □
□ □
□ □
□ □
□ □
□ □
□ □





2
6
図2
と表現するのが一般的です。十の位のブロックが表している「量」は、「数」で言うと「20」です。しかし、十の位には「2」という数字しか書かれていない。十進位取り記数法では、桁によって位を表し、一の位の左隣は十の位ということになっているので、そこに書かれた「2」という数字は「20」を意味し、「二十」と読まなければならないことになってるのです。これを「規約的表現」と言います。平たく言えば「お約束」という訳です。つまり、「26」と書いて「二十六」と読むことには必然性があるわけではなく、約束だからそうしているだけのことで、「206」と書いて「二十六」と読んだって良いわけです。でも、そうすると計算をするときにややこしくなったり、位が増えると0のかずが多くなりすぎてわかりにくいなどという問題があることから、利便性を考えて今の十進位取り記数法がより使いやすいということで普及したにすぎないのです。

だから、十の位に一の位と同じブロックが2つあれば、量として「2」なのですから、数でも「2」として捉えられてしまいます。そこに書かれる数字が「2」だからと言って、量や数までも2にしてはいけないのです。十の位はあくまで「10の束」の個数が数字になっているのだということに注意しておく必要があると思います。これは、□をすべて1円玉に置き換えてみると、簡単に理解できると思います。十の位に1円玉を2枚おいても20円にはなりません。十を表す10円玉が必要になるのです。
#このように、一の位に置くものと十の位に置くものが別のものなら、子どもたちにも理解できると思います。

それを、図1のようにしてしまうのは、具体物を使って「10の束」の考え方を導入(はしごをかける)しておいて、それがわかったから「本当は違ったんだよ ね」とはしごをはずしていしまうようなものです。 ますます、算数なんて信じられないという状態になり、混乱を煽るだけでしょう。

同様に、お金(札)のイメージで一の位に[ 1 ]のカードが6つ、1/10の位に[0.1]のカードが4つで、「6.4」などと表す場合も、[0.1]のカードは数を表しているのであって、1/10の位に書かれる数字を表してはいません。数字で1/10の位に0.4を書いたとすると、それは「0.04」という数を表します。この場合も[0.1]のカードの個数(枚数)が数字になっているのであって、数は「0.1が4つ」で良いはずです。

ここからは余談ですが、私は、「数が数字のスキンをかぶっている」という理解をしています。つまり、「26」は「2」と「6」が並んでいるのではなく、「二十六」という数が「26」という数字のスキンをかぶっていると考えます。そうすると、数と数字の違いがわかりやすいからですが、これが万人に受け入れられるものとは思っていません。人によっては、数を色で理解している人もいるようですから、理解の仕方も様々なんでしょうね。

大切なのは、「二十六」を「26」と表すお約束なのだということを繰り返し徹底することだと思います。6のバックに0が隠れていることをイメージさせるだけでもだいぶ違います。(そういう教具を作ったことがあります)その方がずっと価値的だと思います。だって、「26」の「2」は「二」ではなく「二十」なのですから。

【追記】そろばんの考え方は、 図1の表現に近いと思います。ただ、そろばんの珠は、桁を離れて移動しませんし、低学年の教科書にそろばんは出てきません。同じ珠が並んでいるようですが、「その位専用の珠」であって、他の位への転用は不可能です。その昔、地面に書いた線に石を並べて計算をしていたというのがそろばんのルーツとされていますが、それがそろばんの形に(つまり「その位専用の珠」に固定された)なったのは、単に持ち運びが便利であるという理由だけにとどまらないと思います。(2011.9.11)

2011年7月31日日曜日

「〜る」による動詞化について考えてみました

数年前に考えていたことなのですが、どこにも意見表明していなかったので、今さらですけど書いておきます。発端は、数学記号の言語性の研究から、数学記号を日本語で読むことによる認知負担に思考が及び、そもそも日本語ってどういうものなのかを研究し始めたことからスタートします。

日本語には動詞が少ないとよく言われます。大野晋(おおのすすむ)先生の研究をたどると、元々の日本語は2音、3音の語が多く、それ以上のものは、2音語、3音語の組み合わせであることが多いことがわかっています。となると、必然的に動詞として使える組合せも限られてくるわけで、「動詞を作る仕組み」が必要になります。その一つとして、語尾に「る」や「する」をつける方法があります。「かもる」(かもにする)「お茶する」(軽食をとる)などです。この感覚は、日本語を話すものとしては比較的容易に理解できると思います。ということは、日本語が作られていく過程で、「〜る」という2音語動詞も作られたのではないかと考えて、50音順に検証してみることにしました。

ある…有る、在る、或るetc
いる…居る(「おる」とも)、射る、煎るetc
うる…売る、得る(「える」とも)
える…得る(「うる」とも)、獲る、選る
おる…居る(「いる」とも)、折る、織る

かる…狩る、刈る、駆るetc
きる…切る、着る、斬るetc
くる…繰る、来る
ける…蹴る
こる…凝る

さる…去る
しる…知る
する…する、刷る、擦るetc
せる…競る、迫る
そる…剃る、反る

たる…足る
ちる…散る
つる…釣る、吊る
てる…照る
とる…取る、撮る、獲るetc

なる…成る、鳴る
にる…煮る、似る
ぬる…塗る
ねる…寝る、練る、錬るetc
のる…乗る、載る

はる…張る、貼る
ひる…放る、干る
ふる…降る、振る
へる…減る、経る、歴る
ほる…掘る、彫る

まる…まる(古い言葉で「便をする」こと)
みる…見る、観る、看るetc
むる…?
める…?(愛でる)
もる…盛る、漏る、守るetc

やる…遣る、犯るetc
ゆる…揺る
よる…寄る、因るetc

らる…?
りる…?
るる…?
れる…?
ろる…?

わる…割る
をる…居る(古い仮名遣いで「をる」)

んる…?

こうしてみると、50音のすべての音に「る」をつけた言葉が存在するとは限らないことがわかりました。もしかすると、「る」を付ける前の1音には、そもそもの意味があったのかも知れません。つまり、1音語ということです。今でも東北地方では「け(食え、来い)」というような1音語が存在します。一方で、この中には発生年代の古いものと新しいものが混じっていて、日本語の起源とは関係がない語が混じっていることも考えられます。

特筆すべきことは、ラ行には「る」が含まれているにもかかわらず、ラ行に「る」をつけた言葉が見当たらないことです。ラ行は日本語の中でも特別な役割を持っているとか、何らかの形で後から日本語に組み込まれた音であるとか、何か理由がありそうです。また、日本語には珍しい子音のみで使われる「ん」の存在も特別なものと考えることができます。

というわけで、きっとどこかの誰かがすでに研究をしていることだと思うのですが、動詞の成り立ちを語の組み合わせで考えてみました。私は言語学者じゃないので、素人の戯言に過ぎませんが、こういう見方も面白いのではないかというちょっとした提案として受け止めて頂ければありがたいです。ちなみに、「2音語+る」もやってみたいところですが、検証に時間がかかる(「50通り×50通り+る」を検証する必要がある)のでやっていません。

今年のカブトムシは

前回報告した通り、カブトムシが続々と羽化して、ケースの中が大賑わいになってきました。毎晩のように、ケースの底を引っかく音がしているので、そろそろ卵もあるかなぁということで一度ひっくり返してみることにしました。

多頭飼育をしているケースから出てきたのは、メスが10頭、オスが1頭でした。ところどころに成虫の残骸が見つかりましたが、1頭分あるかないかくらいなので、先日無残な姿で見つかったオス1頭の体の一部かも知れないと思いました。

コンテナの方には、羽化が遅かった蛹を入れていますが、人工蛹室のかわりに、トイレットペーパーの芯をマットに埋め込んで蛹をその中に入れて羽化を待っています。今のところこの方法で3頭(メス2頭、オス1頭)が羽化に成功しましたが、別の2頭はダメでした。成功率は半分くらいといったところです。イヤ、実のところダメだった2頭は、アリにやられていたのでよくわかりません。羽化直後にやられたものと思われるのですが、羽化に成功してからやられたのか、うまく羽化できずに途中で死んでしまってアリにやられたのか、はっきりとしたことがわからないのです。一応、アリ用のコンバットを周辺において、アリ避けをしていますが、餌のゼリーも狙ってくるので、外での飼育は厄介なのだということだけはわかりました。

ここまでで、コンテナにメス2頭、オス1頭いますので、現状では、メス12頭、オス2頭いることになります。残っている蛹はオスが2頭です。また、既に息子の友達にあげたものが、メス3頭、オス4頭なので、先ほどの成虫になってから死んだものも含めて合計すると、メス15頭、オス7頭が成虫になったということがわかりました。

肝心の卵ですが、出てくる出てくる、十数個ほど見つけたので別のケースにマットを敷いて入れておきました。まだまだ夏は続いているので、頑張ってもらいたいと思っていますが、残っているオスが2頭と羽化が遅れている小さな個体なのがちょっと気になっています。メスはたくさんいるので、オスに頑張ってもらうしかないですね。

2011年7月10日日曜日

カブトムシの羽化

7月も中旬に入り、そろそろカブトムシが成虫になる頃です。そこで、早い時期に幼虫として発見されたものから順に、確認作業をすることにしました。とは言え、まだ羽化していない蛹の蛹室を壊してしまうと大変なことになるので、慎重に作業を進めました。

麦茶ボトルに入れておいたものは、2頭が羽化不全、蛹化不全で死んでいたのをのぞいて、全て成虫になっていました。全部で10頭。もともとこのカブトムシは、観察したら逃がしてやる予定だったのですが、メスが多いのがもったいない気がして、ちょっと保留。麦茶ボトルで育てたものは、1〜2頭の個室に近い状態だったので、競争する必要がなく穏やかに過ごしたためかメスが多くなったのかなと思いました。(そんな単純な話ではないのかも知れませんが…)まぁこの方法で育てたのが始めてなので、もう少し繰り返しやってみて結論を出したいと思います。

多頭飼育のケースの方は、上の方から慎重にマットを崩していくと、出てくる出てくる。オスばかり5頭ほどみつけたところで掘り進むのをやめました。途中、羽化不全で死んでいたのを2頭見つけたので、全頭羽化は叶いませんでしたが、もしまだ羽化途中のものがいるようなら、これ以上掘ると危険だと判断し、成虫の活動スペースを確保するためにマットの一部を取り除いて餌(昆虫ゼリー)を入れておきました。

幼虫になるのが一番遅かったものを入れたケースでは、蛹になっているのもいますが、まだ前蛹状態のものが残っています。マットの上で蛹になってしまったものについては、対応を考えなければなりません。取りあえず人工蛹室を作って、縦に入れてあげました。(はじめてなのでうまくいくかどうかわかりません)

これで3年目となったカブトムシ飼育ですが、これまでの反省を活かして、大きなケース(屋外用コンテナ)を用意することにしました。これならば、近所の公園で落葉広葉樹の落ち葉を拾い集めて飼育することも可能です。(マットだけで飼育するのはかなり辛かったので…)成虫が出てきたばかりなのに、既に幼虫のことを考えているあたりがなんとも言えないところですが、できるだけ「じゃま!」と言われないように気をつけながら育てていきたいと思います。

2011年7月6日水曜日

自室TVも地デジに対応できるかな?

私の部屋には、DVD録画機能付きのTVチューナーがあり、これに小さなモニタを接続してテレビを観ていましたが、地デジ化に伴って対応を考えざるを得なくなりました。地デジ対応の小型テレビを買うと環境的にはすっきりするのですが、そんな予算はどこにもありません。そこで、今あるものにチューナーとアンテナを買い足して、地デジに対応したいと考えました。

早速Amazon(なぜAmazonかというと、地元の家電量販店などでは、品数が少なく価格設定がちょっとお高めなので)で地デジチューナーを探すと、さまざまなものが検索されました。その中から、UnidenというメーカーのDTH11という地デジチューナーを購入。決め手は、お手軽価格な上に「予約視聴」という機能が付いていることでした。この機能を使えば録画機能付きのTVチューナーと合わせてDVD録画ができるということになります。

アンテナもAmazonで購入しました。買ったのは、BUFFALODT-OP-RAというブースター機能付き室内用アンテナです。Dpaのサイトで確認すると、私が住んでいるところは、あまり電波状態が良くなさそうなので、ブースター機能は必須だろうと考えて購入しました。この組合せで地デジが視聴可能かどうかやってみました。

結論としては、アンテナレベルが42あるものの、電波の状態が不安定で視聴することが出来ませんでした。風向きによっては、部分的に見える時もあったのですが、アンテナを室内においてもベランダに置いても、高いところからぶら下げても大差はない状態でした。とても残念。別の方法を考えてみることにします。

2011年7月2日土曜日

構造が見えると理解が早まる?

文章でも数式でも楽譜でも、パッと見てその構造が見える(読める)人がいます。これ以外にも、いろいろなことがパッと思いついて直ぐに理解できてしまう人っていますよね。そういう人達にとっては、見えない(読めない)人のことがわからないと感じてしまうのではないかと思います。逆に見える(読める)人が天才だと思ったり、自慢しているようで感じが悪いと思ったり…。

見える人にとっては、それは至極当たり前で、なぜ見えるのかなんてあまり考えることもないかも知れません。でも、ちょっと振り返って、自分が何故見えるのかを考えて、見えない人にも分かりやすいように説明できるようになったら、きっとみんなの役に立つし、自分の理解も更に深まるのではないかと思います。もしかすると、その理解の方法は、他の人のそれとは全く違ったり、今まで信じられてきた学習・習熟方法とは明らかに違う可能性もあったりするのですから。
#これを子ども同士ができるようになることを目指しています。

息子が楽譜を見ながらたどたどしくピアノの練習している姿を見て、ふとそんなことを考えてちょっとやってみました。全体を見るとIntro-A-B-A-Cという構造の楽曲で、Aは伴奏を担当し、B、Cは旋律を担当するような楽譜でした。伴奏部分はI、IV、V7の3和音が繰り返し出てくるだけのごく簡単なものです。しかし、息子にとっては構造が見えないので、同じパターンが繰り返し出てきているだけなのに一々音符を読もうとしている。(和音の音符なんか弾くたびにいちいち読んでいたらスムースに弾けるわけがない)そこで、同じ和音を蛍光ペンで色分けすることにしました。息子と一緒に確認しながら3色に色分けすると、構造がはっきりしたらしく、スムースに弾くことが出来るようになりました。面白いのは、2回目のAが現われたところで、「さっき(はじめのA)と同じ」だということに気づいて、色分けをしなくてもスムースに弾くことが出来たことです。つまり、パターンが読めたということです。

この楽譜には、AやBなどの構造を表す記号もなければ、和音に対してもIやIVなどは明記されていません。多分、子どもたちには難しいのではないかとか、記号が多すぎるとかえって混乱するのではないかというような配慮があったものと推察しますが、楽譜を読むことが苦手な子どもにとっては、手がかりをつかむことが出来ずに往生することになってしまうのではないかと思いました。(だからと言って、変えた方が良いというような自分勝手なことは絶対に申しません。だって、ほとんどの子どもが、そうしなくても理解しているのですから。)

翻って、日常の学習指導において、「見えないものを見えるようにする」ことはとても重要なのだと思いました。今回は、色分けすることで見えるようになりましたが、人の理解は一様ではないので、万人に通用するとは言えません。しかし、「わかっている人たち」がどう見えるのかを語ったり、視覚化したりする、つまり表現することで、よりわかりすくなることがあるということだけは間違いなさそうです。子どもたちの表現力を育てるというのは、こういう意味があるのだと思います。子どもたちが「わたしには、こう見える」と語り合い、表現し合う教室を目指したいなぁと思っています。

2011年6月20日月曜日

小学生には難しい?算数の問題

あるところで話題になった算数の問題について、小学生でも解答できそうな方法を考えてみました。もとより、この問題を使って授業をしたことはありませんし、問題以外の参考資料にも目を通しておりませんので、これこそが正しいと主張するつもりはありません。(そもそも私自身は数と計算領域が一番苦手ですので)しかしながら、小学生にはムリだという主張に対しては、こうすれば解けるよということを示しておきたかったので、拙いながらここにまとめておきます。間違いのご指摘は大歓迎ですので、よろしくお願い致します。

【問題】
2,3,5,6,7,8の6枚のカードを□.□×□.□のように組み合わせて(□の中に数のカードを入れるイメージ)かけ算の式を作ります。答えが整数になるようにするためには、どのように組み合わせたらよいでしょうか。
#答えの形としては、□□.□□となる。

【解答】
(1) はじめに、小数第二位(1/100の位)を0にすることを考えます。すると、
□.5×□.2
□.5×□.6
□.5×□.8
という組み合わせが考えられます。ここで、□.5は決定です。

(2) 次に、小数第一位(1/10の位)を0にすることを考えます。
(わかりやすいように記号を変えます)
□.5×○.2のとき、小数第一位には1があることになりますので、かけ算の決まりにしたがって、2×□の下一桁と○×5の下一桁をたして9になれば、1と合わせたときに小数第一位が0になります。
これを筆算の形にすると、
  □.5
 × ○.2

a b+10
c d e
最終的に(b+1)+eの下一桁が0になればよいのですから、b+eで9になればよいということです。
#以下も同じように考えます。

(3) 残りのカードを考えると、2×□の下一桁は
2×3→6、2×6→2、2×7→4、2×8→6
となります。同じように○×5の下一桁は
3×5→5、6×5→0、7×5→5、8×5→0
となります。この組み合わせで、たして9になるのは、2×7の4と3×5の5だけ(7が2枚ないから)です。すると、□が7、○が3となるので、
7.5×3.2
という式の答えが整数になることが分かります。

(4) 同じように□.5×○.6の場合は、小数第一位には3がありますので、6×□の下一桁と○×5の下一桁をたして7になれば、3と合わせたときに小数第一位が0になります。
6×2→2、6×3→8、6×7→2、6×8→8
2×5→0、3×5→5、7×5→5、8×5→0
ということで、6×2の2と3×5の5および7×5の5、6×7の2と3×5の5の組み合わせのときに、たして7になります。すると、
2.5×3.6
2.5×7.6
7.5×3.6
という式の答えが整数になることが分かります。

(5) 同じように□.5×○.8の場合は、小数第一位には4がありますので、8×□の下一桁と○×5の下一桁をたして6になれば、4と合わせたときに小数第一位が0になります。
8×2→6、8×3→4、8×6→8、8×7→6
2×5→0、3×5→5、6×5→0、7×5→5
ということで、8×2の6と6×5の0、8×7の6と2×5の0および6×5の0の組み合わせのとき、たして6になります。すると、
2.5×6.8
7.5×2.8
7.5×6.8
という式の答えが整数になることが分かります。

(6) 結論として、以下の式のときに答えが整数になります。
2.5×3.6
2.5×6.8
2.5×7.6
7.5×2.8
7.5×3.2
7.5×3.6
7.5×6.8

この問題は、(2)の考え方に気づけるかどうかというところが大きな分岐点ではないかと思います。多分こんな解答で良いのだろうと思いますが、他に方法があったら教えてください。

2011年6月12日日曜日

カブトムシの蛹化が始まりました

このところ、休日も仕事に追われていて面倒を見ていなかったカブトムシたちですが、ケースの壁面に蛹室を作り始めるものが現れて、そろそろ蛹化の時期が来たということでチェックしてみました。

まず、数十頭を一緒に飼育している大きなケースでは、下から覗いて8頭程度が蛹室を作っていました。でも、まだ前蛹状態にもなっていない感じで、盛んに動きまわっていました。ケースのフタを開けると、もぞもぞと動き回っている感じがして、何頭かは表面近くにいました。既に表面は糞だらけのため、環境が合わないのだろうと考えて上部5cm程度(その下は、比較的糞が少ない)の糞を取り除き、加水した新しいマットを固く敷き詰めてみました。すると、スルスルと中に入っていきました。この過程で、表面近くに1頭の死骸を見つけました。

次に、初期の段階で成長が遅かった10頭を入れたケースを見ると、まだ盛んにマットを食べまわっているらしく、どこまで行っても糞だらけ。糞の多いマットを半分ほど取り出して新しいマットに替えました。蛹室は、まだ作られていないようでした。今朝確認すると、やはりあっちこっち食べ回った跡がありました。こちらは、蛹化が遅いチームと考えてよさそうです。

最後に、1〜2頭で飼育している麦茶ボトルの方を確認しました。前回、1頭が死んでいたのが麦茶ボトルだったのでちょっとドキドキしていましたが、順調に成長していてほとんど全てで蛹室づくりが行われていました。その中の1つでは、既に蛹化(メスでした)していて、側面に沿って蛹室が作られていたので観察が可能な状態になっていました。また、別の1つでは、前蛹状態のものが見つかりました。その他のものは、まだ前蛹状態になっておらず、もぞもぞと体を動かしていましたが、時間の問題だろうと思っています。上部5cmくらいにたまった糞を、できるだけ衝撃を与えないようにしながら取り除き、新しいマットを入れて蛹室を壊さない程度の力で固めておきました。

手探りで始めたカブトムシ飼育ですが、この方法なら蛹化から羽化を確認できそうです。子どもと一緒に、これから毎日覗いてみようと思います。

2011年5月28日土曜日

mbedを使い始めました

これまで、ScratchPicoBoardWeDoの他にArduino系のものやGainer系のものでフィジカル・コンピューティングを小学校教育に持ち込む研究をしてきましたが、PicoBoardは、HelloBoard新しくなったPicoBoardでArduino系に仲間入りした感があり、Arduino系のものを使うことが多くなっていました。
#Gainer系のものは、Scratchとなじまない感じなので、この研究では「使えない」と評価せざるを得ませんでした。

一方で、ちょっと違った発想で作られたMARY基板にも以前から注目し、MacやLinuxで開発環境を整えていたのですが、これに載っているARMマイコンが秀逸(かなり広く使われていたことを知りませんでした)らしく、本命のmbedを小学校教育に持ち込みたいと思っていました。しかし、ArduinoやGainerなどに比べてちょっと高い。(Arduinoだと2つ分の値段)そこで、とりあえず同じNXPLPCシリーズを使ってみようと考えました。LPCXpressoは、IDEと評価ボードの組み合わせで開発・研究を進められるパッケージで、価格もお手頃な製品です。mbedのようにWebアプリで開発できないのは残念ですが、mbedは値段を考えると簡単には手が出せない。しばらく逡巡した結果、先にLPCXpressoに手を出そうと考えてLPC1114(MARY基板と同じCortex-M0)を載せたものをマルツパーツ館で注文しました。ところが、長らく入荷待ち状態。ちょっと肩すかしな気分で待っていたのですが、5月に入ってもまだ届かないので、意を決してmbedの方を購入してしまいました。

日本語のmbed解説サイト「mbedを始めましょう!」を参考にしながらLチカ実験に成功し、さて次は何をやろうかと考えているところです。とりあえず、このサイトの情報をもとに、一通り実験をして、使い方に慣れていきたいと思っています。それにしても、Webアプリでコンパイルして、USBストレージと同じように保存すれば動くなんて、ユニークで素敵なアイデアだと思います。こんなことまでできるようになったんだなぁと感心するばかりです。

【追記】結局、マルツからLPCXpresso LPC1114の入荷が再度延期されたという連絡をもらったので、これをキャンセルしてLPC1769にしました。まだピンヘッダをはんだづけしていませんが、これから試用していきたいと思っています。(2011.6.8)

2011年5月25日水曜日

市販の古いPCにLinuxをインストールする

ある研究に参加したことで手に入れたHPPen 4 2.8GHzを積んだマシーンを、日常的に使えるようにしようと考えていろいろ試してみました。

まず、自宅でも常用しているUbuntu 11.04のインストールを試みました。インストール作業自体はスムーズに終了しましたが、どうしてもXウィンドウシステムが動かないので、コンソールモードでの起動となってしまいます。何がいけないのだろうと思って設定を見てまわろうとしましたが、時間がかかる上に本職が忙しいので断念。自宅サーバのOSをopenSUSE 11.1から11.4にバージョンアップしようとしたときに似たような経験をしていた(このときは、ビデオボードを別のものに挿し替えた)ので、ビデオボードが未対応なのだろうと考えて本体を開けてみましたが、マザーボード上にはPCIスロットしかなく、しかもロープロファイルにしか対応していないので選択肢が狭く、ビデオボード増設も断念して別のディストリビューションを入れることにしました。

次に試したのは、これもよく使っているKNOPPIX 6.4.4でした。こちらもインストール作業は順調に終了し、HDDからの起動もできましたが、画面の動きが妙ですぐに固まってしまいます。どうやらcompiz-fusionが原因のようでしたが、ちょっと使うとすぐに画面が固まってしまうので設定の変更もままなりません。少々イラつきながら他のものも試そうかと、手持ちのInstall CD(Live CDを含む)を見回してみましたが、常用に耐えるものが思いつかず、作業が中断してしまいました。

自宅に帰って久しぶりに「ライブCDの部屋」を眺めていくつかのディストリビューションをダウンロードしてCDに焼いてみましたが、この中に「KNOPPIX 6.4.4/CD版(スモール版)」というのを見つけました。Webページの説明によると、無駄に重たいcompiz-fusionを削除してあるらしく、これなら行けるかもしれないと思いました。早速ISOファイルをダウンロードしてCDに焼いて自宅のPCで試してみました。起動はスムーズだし、使いやすくカスタマイズされているし申し分有りません。

祈るような気持ちでHPマシーンへのインストール作業をしました。すると、見事に使える状態になりました。(感謝感激)問題は、LibreOfficeも削除されているのでインストールし直さなければならないこと。職場に持ち込んだPCはネットにはつなげないので、自宅のUbuntuでインストールパッケージをダウンロードしておいてこのマシーンに持ち込み、コンソールから展開したフォルダ内に入って「sudo dpkg -i *.deb」でインストール作業を行いました。
#LXDEのメニューに登録されない問題は、Ubuntuから「.desktop」ファイルとicon(png)ファイルを持ち込んで対処しました。

【追記】メニューにアプリケーションのアイコンを登録する.debファイルも付属していて、簡単に設定ができることがわかりました。orz(2011.11.27)

これで無事に常用環境が整いました。次の課題はプリンタの設定ですが、本職が忙しいのでとりあえずここまでということで。

2011年5月22日日曜日

音楽(金管バンド)クラブの本格始動

昨日、学校の運動会が無事に終了し、すっかりご無沙汰していたクラブ活動にも力をいれることが出来る状態になりました。昨年度は、希望者が足りなかったため1年間休部状態だった音楽(金管バンド)クラブも、これで本格的なスタートをきることができそうです。

一昨年度、今の学校に着任してすぐに音楽クラブを任されましたが、そもそも学級担任や学年主任、分掌の仕事などが優先ですので、慣れない生活の中でなかなか思うように活動をすすめることができませんでした。今年度は心機一転、常時活動する場所を確保して頂いて、子どもたちもどんどん練習を進めることができるようになり、メキメキと力をつけてきています。

昨年度は、1年間だけ演劇クラブの担当をしました。何を隠そう(イヤ、隠すほどのことではありませんが…)私は中学校&高校の6年間を演劇部で過ごし、趣味的な活動の中でも一番力を入れてきたことでしたので、演劇クラブが発足したことをとても嬉しく思っていました。所属してくれた子どもたちも、とても積極的に良く動いてくれたし、校内での公演も度々行ってたくさんの子どもたちに観てもらっていたので、今年も演劇クラブができると思っていました。しかし、今度は演劇クラブの希望者が減ってしまい、再び音楽クラブの担当をすることになったのでした。(若干複雑な気持ちではありますが…)

ともあれ、「表現活動」という意味において、音楽も演劇もともに私の中でつながっているものですので、今年も大いに楽しみながら活動させてもらおうと思っています。そして何よりも、子どもたちのやる気一杯のキラキラした目を楽しみにしています。

2011年4月30日土曜日

電子工作キットの組み立て

GW前半ということで、電子工作のために集めていた部品を組み立てたり、壊れたままになっていたものを修理したり、買ったまま放置していた電子工作キットを組み立てたりしました。中でも、電子工作キットは手軽な趣味として人気が高いようで、私の周りでも電子工作を趣味としている人が増えているように感じます。というわけで、今回作ったものをいくつか紹介してみます。

1つ目は、秋月で購入していた「スクロールクロックキット」を組み立てました。8×8のドットマトリクスLEDを2つ並べてスクロールクロックとして使うキットです。PIC16F877Aが使われています。大量の抵抗を挿し込んで、ひたすら半田付けするという作業を延々と続けました。このところ8×8ドットマトリクスLEDとマイコンの組み合わせに注目していて、この組み合わせでどんな表現ができるのかということを考えています。Arduinoの技術を使った「Dotsduino」というのもあって、簡単な工作で8×8ドットマトリクスLEDを活用できる可能性を感じています。
#ちょっと品薄感があるのが心配ではありますが…。

2つ目は、同じく秋月で購入していた「デジタル時計キット」を組み立てました。大型の7セグメントLEDで時間を表示するキットです。PIC16F57が使われています。1つ目に引き続き時計に関するものですが、マイコンを自動的に動かしておいて生活に役立つものを作ることを考えると、時間を表示するというのは需要が高いのではないかと思っています。7セグメントLEDは、ドットマトリクスLEDに比べて表現できることに限りがありますが、時間(数字)を表示することに特化させることで、使用方法が分かりやすいというメリットもあります。12インチもある7セグメントLEDで時計ができたら面白いなぁと妄想しています。
#1つで$50ですから、思いつきでやるにはちょっと高いかもです。

最後に、Arduinoをゲームコントローラのように使う「Joystick Shield Kit」を組み立てました。これは、共立エレショップで購入したものです。以前に「アナログジョイスティック」をスイッチサイエンスで購入していて、ブレッドボードで使っていましたが、シールドとして載せた方が操作性が良いだろうと思って購入しました。時間を見つけて、試用してみたいと思います。

2011年4月29日金曜日

コンソールを使った計算

だいぶ前の話ですが、コンソールを使いながら計算ができないかと思って、何気なくpythonを使ってみたら計算ができてしまったという経験をしました。(以下の記述は、MacとLinuxで動作確認をしています)
$ python
※バージョン番号などが表示される
>>> 1+1
2 ←答えが表示される
※quit() or Ctrl-Dでコマンドから抜けられる
というようなことができます。このことをtwitterでつぶやいたところ「bc」というコマンドがあるということを教えていただきました。
#ITproに解説があります。「数値計算を行う」「複雑な計算を行う
$ bc
※バージョン番号などが表示される
1+1
2 ←答えが表示される
※quitでコマンドから抜けられる
コンソールでの作業中に、わざわざGUIの計算機を起動しなくても済むため、なかなか便利です。いわゆる電卓だと、式を打ち込むことができなかったり面倒だったりするのですが、これなら式をまるごと打ち込んで一発で計算できます。
#計算式を打ち込める計算機を作ったことがあります。textboxに直接式を打ち込んで「=」を押してみてください。

ここまでは普通な感じですが、最近になって「dc」というコマンドを見つけました。(若干紛らわしい気もしますが…)このコマンドで逆ポーランド記法(RPN)で記述された式を計算することができます。
$ dc
1 1 +
f
2 ←答えが表示される
※quitでコマンドから抜けられる
というような使い方をします。RPNユーザがどれだけいるのかわからないので、どれほどの需要があるのかはわかりませんが、興味がありましたら詳しい解説を読みながら使ってみるのも良いのではないかと思います。単に計算をするというだけのことが目的で調べ始めたのですが、いろいろな方法が用意されていること知って奥深さを感じました。

2011年4月24日日曜日

今年のオカヤドカリたちがやって来ました

飼える天然記念物でもあるオカヤドカリたちがやって来ました。毎年、決められた期間の中で決められた量だけ採取(許可された業者のみ)が許されているオカヤドカリですが、今年の採取が始まり販売も始まっています。寒い冬の時期に購入(これはかなり無謀なことでした)した2匹のオカヤドカリがいる水槽中に、新しく購入したオカヤドカリたちを入れてみました。

はじめにいた2匹に比べてあまり人の気配に敏感でなく、私が見ていてもゴソゴソと動きまわっています。大した長旅ではなかったはずですが、すぐに水場に集まってきて水を飲んだり、中には、すぐに宿替えを始めるものまでいました。比較的、大きな貝がお好みのようで、かなり無理な大きさの貝に入ってしまったものもいました。

用意した餌もすっかり食い散らかし、人工海水の中にもどんどん入っていく活発さ。ここまで元気に派手にやってくれると、飼い主としては世話のしがいがあるというものです。オカヤドカリは、餌や宿貝など好みに個体差が大きいと言われていますが、やはりポップコーンは大人気ですね。干し桜えびも「こんなに食べるんだ!」と驚くほど食べてくれました。これから、いろいろな餌を試しながら、彼らの生態について研究してみたいと思います。

オカヤドカリは、ネットでちょっと調べるといろいろな情報が得られます。中には、飼育自体に反対する意見もあります。確かに、自然の生き物を人間の恣意で小さな水槽で飼うという行為自体が間違えているということであれば、その通りだと思います。自然界では20〜30年も生きる、寿命の長い生物であるという認識が広まっていないため、十分な世話がなされないまま、飼育下ですぐに死んでしまう個体が多いことも問題視されています。人工繁殖技術が確立していないため、自然のものを採取するしかないという意見もあります。実際には、個人で人工繁殖に成功している例もありますので、こうした人工繁殖個体を飼育用に販売することで、自然のものを採取しなくて良くなるのではないかと思っています。

こうしたことも含めて、じっくり彼らと付き合っていきたいと思っています。

2011年3月26日土曜日

MacでARM(MARY基板)開発環境を構築する

前回の記事で、NXPのARMマイコン:LPC1114を載せたMARY基板をLinuxで動かすという話を書きましたが、この記事のためにいろいろと調べまわっているうちに、こんな記事を見つけて、MacでもARM開発環境を構築することができそうだということがわかってきました。とは言え、そう簡単なことではなさそうなので、備忘を兼ねてここにその方法をまとめてみることにしました。目指したのは、「MacでMARY基板を動かす」ことです。

まず、Xcodeが必要です。Xcode 4になって有料化されたという話を聞いていたので、どうなんだろうと思って調べてみましたが、developer登録をしておけば無料でダウンロード出来るようです。ただ、自分のところではまだOS X 10.5.x(Leopard)を使っているので、Xcode 3.1.xまでしか動きません。現時点での最新バージョンであるXcode 3.1.4をダウンロードサイトから落として使うことにしました。(Snow Leopardを使っている場合は、Xcode 3.2.xやXcode 4も使えるようです)

次に、必要なBSDパッケージを導入するためにMacPortsをインストールします。(ここから先は、「ソフトとハードの交差点:ARM LPC2388 開発環境構築方法 @Mac」を参考にしました)今回はLeopard用のdmgファイルをダウンロードサイトから落として、インストールしました。これを使って、以下のコマンドで「arm-elf-gcc」をインストールします。
#Xcode→MacPortsの順でインストールしないと、エラーが出てインストール出来ません。
$ sudo port install arm-elf-gcc
続けて、同じくMacPortsを使って「openocd」をインストールします。
$ sudo port install openocd
次に、「Eclipse(現時点での最新版はVersion:3.6.2)」(Eclipse IDE for C/C++ Developers)をインストールします。既にEclipseをインストールしてある場合は、「Help」メニューから「Install New Software…」を選択し、「Helios - http://download.eclipse.org/releases/helios」から「Programming Languages」→「C/C++ Development Tools」をインストールします。作業は、チェックマークをつけて下の「Next >」ボタンを押すだけです。

そして、「Zylin Embedded CDT」をインストールするために「Help」メニューから「Install New Software…」をたどって「Install」ウィンドウを開き、「Work with:」に「http://opensource.zylin.com/zylincdt」と入れます。すると、Zylin Embedded CDTを選択できるようになるので、チェックマークをつけて「Next >」ボタンでインストールします。
#今後もアップデートなどのチェックをしたい場合は、「add…」ボタンを押して設定名とURLを登録しておくことができます。

次(まだあるのか…と思った方、もうそろそろ終わりですので)に、「arm-elf-gdb」をインストールします。これは、MacPortsでインストールすることができません。ちょっと面倒な作業が必要です。FTPサイトからarm-elf-gdb(現時点での最新版は7.2)をダウンロードして自分のユーザフォルダに展開します。後は、以下のコマンドでインストール作業を行います。
$ cd gdb-7.2 #ダウンロードしたバージョンによって異なる
$ ./configure --target=arm-elf --prefix=/opt/local/arm-elf/ --enable-language=c,c++ --with-cpu=arm7tdmi --disable-werror
$ sudo make
$ sudo make install
2つ目の./configure以降は、1つ1つの作業が終わるまで少々時間がかかりますが、これまでの手順がうまくいっていれば問題なく終了すると思います。(今回の作業は、順番も大事みたい)

最後に、ハードウエアのドライバとして、Silicon LabsCP210x USB to UART Bridge VCP Driversをダウンロードしてインストールします。これですべての環境が整ったはずです。

と、いうところまでやっておいて、肝心なEclipseの使い方がよくわかっていないということに気づきました。(ぇえっ〜!今さらかよ!)というわけで、これから時間を見つけてEclipseの使い方を勉強をするところからやってみます。
#というわけで、動作確認できていません。(苦笑)それでもお付き合いいただける方がいらっしゃいましたら、試してみてください。もちろん、自己責任でお願いします。

2011年3月21日月曜日

LinuxでMARY基板を使えるようにする

先日、CQ出版社から発売された「2枚入り!組み合わせ自在!超小型ARMマイコン基板」(トランジスタ技術4月号増刊)にNXPセミコンダクターズの32ビットワンチップマイコン: LPC1114が搭載された超小型マイコン基板が2枚付属しています。

LPC1xxxと言えば、以前からLPC1768を載せたmbedに注目していました。mbedは、この手のマイコンボードにありがちな開発環境を整える手間を省くために、開発環境は全てネット上にあるという面白いコンセプトを持ったマイコンボードで、買ってすぐに使える手軽さが人気となっているようです。ネットにつながったパソコンから、Webブラウザを通して開発環境にアクセスすればよいのですから簡単ですし、マルチプラットフォームだというのも嬉しいところです。しかし、若干高い。

同じNXPのワンチップマイコンを搭載した、
LPCXpresso NXP LPC1769(1768)評価キット同LPC1343評価キット同LPC1114評価キット秋月で販売されています。こちらはそれなりにリーズナブルなお値段です。開発環境としては、code_redLPCXpressoを使います。まだこの評価キットを入手していないので、そのうち購入したいと思っているのですが、それよりも魅力的だと思ったのが「MARY基板」だったのです。

1つの基板は、「こんなので何が出来るんだろう?」と思わせるほどサイズが小さいのですが、複数の基板をつないで連携させることができるというのが最大の魅力です。つまり、基板を増やすことで表現の幅が広がるということです。付属基板や拡張基板、その他の関連部品などがマルツパーツ館で販売(もう少し安いとありがたいのですが…)されています。一目惚れ状態で2冊(MARY基板4枚分)購入しましたが、説明を読みながらWin環境のないことに気づいて我にかえりました。開発環境のLPCXpressoは、WinもLinuxも同じように使うことができそうですが、Flash-ROMに書き込むFlash MagicというソフトがWin専用なのです。ネットでいろいろと探し回りましたが、有用な情報を見つけることができなかったので、Twitterでつぶやいてみました。すると、なんと著者から「LPC21ISP」で書き込めると教えていただくことができました。(なんともありがたい話です)
#これがダメなら、Flash MagicをWineで動かすという方法もあるようです。

早速zipファイルをダウンロードして展開し、解凍されたフォルダに入って「make」して出来上がった実行ファイルを「sudo cp lpc21isp /opt」でコピーしました。(ダメもとでやってみたらMacでも出来ました←驚き!)/optにパスが通っていない場合はパスの設定(.bash_profileや/etc/profileあたりで)をする必要がありますが、簡単に使えました。これからいろいろと試してみたいと思います。

2011年3月20日日曜日

オカヤドカリとカブトムシの世話

三連休の初日だった昨日、これまでずっと気になっていたオカヤドカリとカブトムシの世話をしました。

2匹のオカヤドカリは、一回り大きい横幅約40cmの水槽(今までは、横幅約32cm)へお引越しをしてもらいました。オカヤドカリは、水槽内のレイアウトを考えるのが楽しみの一つだと思っているので、1ヶ月ほどかけてレイアウトに使うものを買い揃えて、オカヤドカリの動きを考えながらレイアウトをしてみました。防寒対策にみどり商会のパネルヒーター:ピタリ適温プラス1号同2号の2枚を使っています。また、寒さが厳しい夜は、100円ショップで購入した断熱シートを水槽の周りに巻きます。

この状態で、気温が25度(パネルの直近はさらに高いだろうと思われる)くらい。オカヤドカリたちもそれなりに快適に過ごせる温度だと思います。オカヤドカリたちは、隠れる場所として入れた「植木鉢」や「やどり木」の中が気に入ったようで、ゴソゴソと動き回っている音だけが聞こえます。慣れるまではしばらく時間がかかるかもしれませんが、時々様子をのぞき込みながら、思い通りのところにいてくれると嬉しくなります。暖かくなったら、もう少し仲間を増やしてやりたいと思っています。

カブトムシの方は、飼育2年目にして41匹(今回1匹が死んでいました)の幼虫を飼育中です。独居・雑居の様々な容器からマットと個体を取り出し、フルイを使って糞を取り除いてマットを補充して元の状態に戻しました。死んでしまった1匹は、独居用の麦茶ボトルに入れていたもので、前回世話(昨年11月頃)をしたときに、マットへの加水が多かったためかマットの上の方(少し掘れば見える辺り)へ出てきていて、黒ずんだ状態で見つかりました。糞がほとんどなかったので、早い段階で死んでしまったものと思われます。それでも、41匹が元気な状態で見つかり、思ったほど共喰もしないで共存していることがわかりました。

大量の糞は、肥料(というか黒土)として使うことにして、気温が上がるとさらに活発に餌(マット)を食べ始めるので、夏前にもう一度くらいマット交換をしなければならないだろうと計画しています。他の動物を飼うのに比べて、リーズナブルな飼育ではありますが、これだけ大量にいるとマット交換も一苦労(今回は2時間ほどかかった)なので、計画的にやらないといけません。あとは、大量に羽化した場合の受け入れ先を決めておかないといけませんね。

2011年3月9日水曜日

Macでファイルとアプリケーションとの関連付けを直す

感動的というか、今までとても困っていたことが簡単に解決したので、備忘も兼ねて手短にまとめておきます。

以前から、Linuxを中心にオープンソースを活用してきましたが、同じPC-UNIXのMacでも使えるソフトが多いので、MacとLinuxの両方で同じソフトを使うこともしばしばです。中でもOfficeソフトは使用頻度が高く、OpenOffice.org(以下OOo)とLibreOffice(以下LO)をインストールしています。Linuxでは、この2つに頼るところが大きいのですが、職場で使っているのがWindows版のMS-Office(orz…)なため、MacではMS-Officeをメインで使っています。ところが、いつの頃からか、MS-Officeで作ったファイルもすべてOOoで開かれるようになり、毎回右クリック(Control + クリック)で開くアプリケーションを選択するという面倒な状態になっていました。

ご存じの方も多いと思いますが、Macでファイルとアプリケーションの関連付けを変更するには、ファイル上で右クリック(Control + クリック)して「情報を見る」からファイルの情報を表示させて、「このアプリケーションで開く」でアプリケーションを選択すれば、デフォルトのアプリケーションを変更することができます。さらに、その下の「すべてを変更…」を押すと、類似したファイル(同じ拡張子のファイルを意味していると思われる)のデフォルトのアプリケーションをすべて変更することができます。しかし、今回はこれもうまくいきませんでした。
#そもそも、クリエイタータイプが無視されているという状況にも納得がいかない昔ながらのMacユーザですので。

そこで、他に方法はないものかと探し回っていると、「MacFun.jp」のサイトで「アプリケーションの関連付けがおかしくなった場合の対処法」という記事を見つけました。まさにこの情報が欲しかったので、早速コマンドを試してみました。(FinderからGUIでたどることはできません)
$ /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -f -all local,system,user
「Launch Services database」を最適化する「lsregister」というコマンドを使っているみたいです。確かにちょっと待つ必要があるのですが、その後の作業のスムーズさを考えたらたいしたことはありません。こんな便利なものを隠しておくなんて…と思いながら、快適になってちょっといい気分なのでした。

2011年2月27日日曜日

小学校で使えそうなArduino互換機

最近、Arduinoの成果を利用した互換機がたくさん出てきて、面白いことになっています。本家ArduinoのWebサイト内でも、これまでに開発されたものが紹介されていますし、このBLOGでもDiavolinoejackino(AE-ATmegaも含む)を紹介してきました。また、たびたび紹介してきたPicoBoard互換機でもあるHelloBoardは、Scratchと連携可能なArduino互換機でもあります。

Arduinoをできるだけ安く作ることを考えると、Diavolinoのように部品数を減らしたり、安い部品を使ったりする必要があります。Seeeduino V2.21は、そんなArduino互換機の1つです。既にさらに安いArduino互換機があるので、魅力が薄いかもしれませんが、構成として本家Arduinoに近い物を求めるなら、選択肢には入ると思います。

さらに安いArduino互換機を作ろうと考えると、どうしてもUSBシリアル変換IC(FT232RLなど)のところでつまずきます。メインのマイコンより高い。そこで、USBシリアル変換ICなしで動くMetaBoardに注目しました。日本では「ちっちゃいものくらぶ」で「めたぼ~ど」として頒布されています。既存のArduino用シールドが使えないのが難点ですが、子どもたちに使わせる教材という意味では、安いというのは大きな魅力です。これをさらに安くしたのが「ちびでぃ〜の」です。ブレッドボード上に組むので、基板がない。中高生くらいなら、これでもいいではないかと思います。

Duino-Vは、MetaBoardとちびでぃ~のの中間くらいの位置にあり、回路自体は基板上に組んであるので、ブレッドボードに載せるなどして簡単に利用することができます。これならば、小学生でも使える可能性があります。ただし、USBコネクタ部分が弱い感じがするので、作業は慎重に行わせなければならないと思います。

最後に他のものと大きく違うけど、今注目しているDotsDuinoというものがあります。見た目は8x8LEDドットマトリクスそのものですが、裏側にArduinoが組み込まれています。似たような発想で、LCDと組み合わせたものもあります。Arduinoの汎用性を若干犠牲にしつつ、ある部分に特化することで新たな利用方法を提案するもので、こういう展開もありだなぁと思います。来年度の活動に何を使うか、考え中です。

2011年2月20日日曜日

入手しやすい部品だけでArduino互換機を作る

先日、拙作のWebページ「小学校にフィジカル・コンピューティングを」で紹介した、Arduino互換マイコンボード「ejackinoAE-ATmega)」基板を使った格安Arduino互換機作りについての続きです。

ejackino基板とAE-ATmega基板を比べると、微妙に回路の取り回しが違うのですが、部品はほとんど同じ。でも、一つだけ「整流ダイオード」が「ブリッジダイオード」になっているところが違います。整流ダイオードなら秋月で「1N4007」が20本入りで100円(単価5円)です。一方、ブリッジダイオードは、「DI1510」が50個入りで950円(単価19円)ですが、50個はちょっと多すぎです。そこで、「AM1510」(5個入り100円、単価20円)を使うことにしても、単純に考えて値段は4倍です。しかも、DI1510とAM1510はピンの配列が違うので、ピンを折り曲げて加工しなければなりません。これが如何にも面倒です。

そこで、整流ダイオードで回路を組むことにしました。(今回は、以前にマルツパーツ館で購入していた「10DDA10」を使いましたので、少々お高めですが、これを1N4007に置き換えることができます)ejackinoと同じ回路にするためには、手前の「~」と奥の「-」をジャンパして、奥の「~」と手前の「+」を整流ダイオードで繋ぎます。(向きに注意)これで、少し安く(20円→5円)なりました。

さらに、「背の低い電解コンデンサ」を「普通の電解コンデンサ」で代替する方向を考えました。背の低い方が10個入りで567円(単価56.7円)なのに対して、普通のはだいたい1つ10円です。1枚のAE-ATmega基板に2つ必要なので、その差はさらに大きくなります。普通の電解コンデンサを寝かせて取り付けることができれば、背の低い電解コンデンサと同じくらいの高さになります。そこで、基板の穴に合うように足を折り曲げて取り付けてみました。これで、普通の電解コンデンサを使っても、シールドなどに干渉することがなくなりました。また安く(56.7円*2→10円*2)なりました。完成したものは、twitpicに写真をアップしてあります。

ここまでで、合計108.4円の節約になりました。何とも地味な節約ですが、如何に安く作るかということを考えるのも、頭の体操にもなって良い気がしています。

大量生産することにして部品を大量に卸してもらえば、こんな努力がバカバカしくなるくらい、ものすごく安くなるってことは知っています。でも、私の本職はこれじゃないし、ジョブチェンジするつもりもありませんので、こんなことを楽しんでいます。(^_^;;;

2011年2月15日火曜日

USB-TTL変換をDiavolinoで使ってみました。

先日、aitendoPL-2303HXが載ったUSB-TTL変換を購入しました。その名の通りTTLとUSBを相互に変換するものですが、USBコネクタ(A)やクリスタル、発光ダイオード、L字ピンヘッダまでついて500円とはお値打価格だと思います。

早速、Arduino互換機であるDiavolinoや自作のDiavolinoクローンで使えるかどうか試してみました。これまで使っていたFTDIFT232RLを載せた自作ケーブルでは、RTS(緑)、RXD(黄)、TXD(橙)、VCC(赤)、GND(茶、青)をDiavolinoにつないで動かしていました。しかし、aitendoのUSB-TTL変換には、RTSが出ていません。そこで、RTS(PL-2303HXの3番ピン)に導線をはんだづけして、「3V3」とシルク印刷されているところのピンヘッダにつなぎました。(3.3Vをピンヘッダまで引いてくるパターンは削ってあります)これで、FTDIのUSB-TTLケーブルと同じように使うことができるようになります。

次は専用ケーブルづくりです。共立で取り扱っているQIケーブルを加工して、USB-TTL変換のピン配列に合わせて専用ケーブルを作りました。反対のDiavolino側は、GNDを共有するように加工しました。これで無事にDiavolinoを動かすことができました。

ピンヘッダは、USBコネクタに比べて貧弱な感じで、子どもたちに使わせる際は気をつけなければならないことや注意させることが多いと思いますが、これだけ安くArduino互換機が自作できることがわかりました。これなら予算の厳しい学校現場でも使ってもらえると思います。(まぁこれが普及するためには、機器が安く使いやすくなるだけではダメなのですが…)今後は、複数のArduino互換機を使って、相互にやり取りさせながら使ったり、使用するプログラミングソフトウエア(Arduino-IDEScratchDolittleなど)を工夫して、より簡単にアイデアを実現する方法を考えていきたいと思っています。

2011年2月12日土曜日

Arduinoで考えたことを実現してみる

今、子どもたちと一緒に、ユニバーサルデザインを実現する学習をしています。昨年12月までは、「ちょっとの工夫で豊かな未来」という課題で、自分の身の回りにあるものを見直して、フィジカル・コンピューティング的な発想で改善を提案していくという学習活動(KNOPPIXScratchを動かし、PicoBoardWeDoHelloBoardなどをつないで使ってもらいました)を行ってきましたが、この活動をさらに発展させて、自分たちの生活だけでなく、いろいろな人たちとバリアフリーな生活ができるような工夫(ユニバーサルデザイン)を一人ひとりが考え、モデル化して提案する活動を行うのがこの学習の要点です。

この中で、子どもたちが「耳の聞こえない人に振動や光で時間を知らせる仕組み」や「目の見えない人に音で触ったものを知らせる仕組み」を考えたいと相談に来たのですが、センサー部分は子どもたちに作らせるとしても、それを動かすコントローラ部分をどうしようか考えました。

パソコンでプログラミングをすることでも簡単にできることは間違いないのですが、パソコンとのやり取りに終始している感じになってしまうことで、現実感がなくなってしまうことは避けたいと思いました。そこで、電池を使ってArduinoを動かし、光や音を出したり、振動モータを動かしたりできるようにしようと考えました。

ご承知の通り、音を出す仕組みはそれほど難しくはない(音は以前に実験した楽器を作ったり、メロディICモジュールを利用したりすればよい)のですが、振動モータは「Prototyping Lab」を参考にして作ったモジュールを使うことにしました。光についてはもっと簡単で、LEDモジュールでLチカするだけです。
#エレキットのメロディICモジュールは生産完了品のため、超小型ユニバーサル基板にメロディICとトランジスタ、4.7kΩ抵抗を載せてクローンを作りました

これらに比べて「時間に合わせる」というのがちょっと引っかかるところでした。まず、Timeライブラリ(以前のDateTimeライブラリから派生したもの)をArduino-IDEに導入し、TimeAlarmsライブラリ付属のサンプルプログラムを加工して、時間になったら光や音が出るようにしました。また、現在の時間の設定がわからないと不便なので、LCDが接続できるシールドを載せて、LiquidCrystalライブラリを使って時間を表示するようにしました。

自分が考えたアイデアをできるだけ簡単に実現(モデル化)することを考えると、Arduinoなどの汎用マイコンボードを使うと効果的だと思います。特に、プレゼンテーションする際、実際に目の前で動いているものを見せられれば、説得力が何倍にも増すこと間違いなしです。こういうことが簡単にできるのがArduinoの良さですね。今後は、教育現場での導入・活用が進むことを期待しています。

2011年1月29日土曜日

HAIKU r1α2インストール成功

今さら何のために?という質問はなしにして頂きたいのですが、(^_^;;; BeOS(既にBe社が解散しているのでWikipediaを参照)の後継OSとして、オープンソース・コミュニティによって開発が進められている「HAIKU(日本では、HAIKUユーザーグループJPBE.netで情報提供されています)」ですが、α2が公開されたので、以前にインストールしていたr1α1をアップデートすることにしました。

実は、だいぶ前にα2のISOファイルをダウンロードして、CDに焼いてインストールを試みていたのですが、どうしてもうまくいかず試行錯誤を続けていました。今回は、はじめからインストールし直すことにして、HDDをKNOPPIXのcfdiskで初期化してからインストール作業を始めました。作業にあたっては、HAIKUユーザーグループサイトの「インストールガイド」を参考にしました。
#JPBE.netの「はじめよう!HAIKU」にも情報がまとまっています。

上記のWebサイトを見て行くと「libwebcore.soのインストール中に General System Error が出る場合は…」という記述があり、対処方法を示す英語のページに飛ぶことができます。これまで、インストールがうまくいかなかったのはこのためだったので、書いてある通りに対処することにしました。

まず、HAIKUをCDから起動して、デスクトップのDeskbarメニューから「Applications」→「Terminal」を起動します。次のコマンドで、一時的に一部の.soファイルを削除します。
rm -rf /boot/apps/WebPositive/lib/*.so
#CDから起動しているので、再起動すればもとの状態で使うことができます。

この後は、インストールガイドに従ってインストール作業を行って、悔しいくらい何の問題なく動作確認することができました。(CPU:Celeron D 330、MEM:1GBの自作機です)もっと早くこの情報に巡り会いたかったです。

次に、「日本語環境を整える」を参考にして、日本語が使えるようにしました。日本語表示は、Fontsの設定(標準でインストールされているVL PGothicを使う)をして、Localeを「Japanese」優先(マウスで上位に移動させる)にするだけです。日本語入力は、Terminalを起動して以下のコマンドを実行すると、CannaIMが使えるようになります。
ln -s /boot/optional/system/add-ons/input_server/methods/canna /boot/system/add-ons/input_server/methods/canna
Webブラウザを使いたい場合は、先ほどのインストール作業で一時的に削除してしまった.soファイル群を回復しなければならないので、Terminalで以下のコマンドを実行します。
installoptionalpackage webpositive
#DHCPサーバが動いている環境が必要です。

現状ではたいしたことはできませんが、今日のところは取りあえずここまでということで。

2011年1月20日木曜日

ツェナーダイオードの代わりにLEDを使う

これまで、格安Arduino互換機を作るために、DiavolinoejackinoMetaBoardなどを試してきましたが、Metajackino?(仮称)が完成し、その作り方を拙作Webサイトで公開しました。今まで様々な形でご支援いただいた皆様に感謝いたします。m(_ _)m

中でも、「ちびでぃ〜の」の件でお世話になった「ちっちゃいものくらぶ」の@tomonnn1さんには、その後のMetajackino?を作る過程でもお世話になりました。見ず知らずの私のようなものに対しても、快く対応していただいて、本当に感謝しております。で、わかったことを一つ。

Metajackino?をUSBにつなぐために作った専用ケーブルの回路の中で、ツェナーダイオードを使う部分があるのですが、ちっちゃいものくらぶのちびでぃ〜のの作り方では、発光ダイオード(LED)になっているのがずっと気になっていました。MetaBoardの回路図USB直結Arduino互換ボードの回路図ではツェナーダイオードになっているのに、LEDを使うというのはどういうことなのか。しかも、アノードとカソードのつなぎ方が逆になっているし。取りあえず、やってみるだけやってみようと思ってちびでぃ〜のキットを完成させましたが、まだよくわからないので、自分で作ったときには小信号ダイオード(1N4148)でやってみました。これでも動かないこともない状態だったので、まぁいいかと思っていたところ、@tomonnn1さんから「Vfが足りない」との指摘がありました。

そもそも電子部品の知識なんてほとんどないに等しい私ですので、Vfとは何ぞやと思って調べてみました。確かにLEDの仕様の中にVfの項目があり、数V程度の値が記されています。すると、Wikipediaの「発光ダイオード」について書かれた中に、「ツェナーダイオードの代用品として」という記述を見つけました。つまり、LEDはツェナーダイオードと代替できるということのようです。そのための手がかりとしてVfの値が重要だということのようで、@tomonnn1さんの「白か青」との指定に従って、ネットで白と青のLEDを探して、Vfの値を調べてみました。確かに、白や青のLEDは3.xV程度のVfになっているものが多かったです。これは、今回必要なツェナーダイオードの降伏電圧の値に近い値です。(小信号ダイオードではVfが1.0Vになっていました)

ここまでわかったので、Metajackino?のUSB接続ケーブルを直すことにしました。幸い、手元に青色LEDがあったので、それを使いました。使用感としてはさほどの差はありませんが、なぜ、ちびでぃ〜のキットではLEDを使っていたのかということがわかってすっきりしました。

2011年1月10日月曜日

MetaBoard(ちびでぃ〜の)を試してみました

できるだけ安価にArduinoを作ろうと考えて、いろいろと試しているところですが、拙作のWebサイトでも吐露した通り、USBポートへの接続(FT232RLなどのUSBシリアル変換ICが必要)がネックになっていました。そんな折、ATmegaxx8をUSBに直接つなぐ方法があることがわかったのでネットで探し回ると、MetaBoardというものがあることがわかりました。子どもたちに使わせることを考えると、ブレッドボードに載せて使うものよりも、Arduino UNOのようなボードになっているものの方が良いと思っているので、これを使おうと考えました。

日本でMetaBoardを制作・頒布されている「ちっちゃいものくらぶ」で問い合わせたところ、MetaBoardは、本家Arduinoボードのちょっとズレたピンソケットを変更してあるので、Arduino用シールドには対応していないとのこと。それでは、これまでArduino用に作ってきた自作シールドたちが無駄になってしまいます。そこで、「ちびでぃ〜の」キットを使って、Arduinoに合わせた互換ボード(Diavolino PCBATmega168/328用マイコンボードなど)と組み合わせてArduino互換機を作ってみることにしました。

早速ちびでぃ〜のキットを購入して、ArduinoやMetaBoardの回路図を見ながら、「アーデュイーノ互換マイコン・ボードを作る」に付いていた「ejackino-mini」に載せて動作確認してみました。(とりあえず、最小の部品構成と回路の変更で、どこまでArduinoらしくなるかをチェックしたかったので、Metajackino-mini?的なものを作りました)ATmega328Pを載せる28ピンICソケットの13番ピンをGNDにつながるようにジャンパーして、MetaBoardブートローダ書き込み済みのATmega328Pを挿し、「USB直結Arduino互換ボード」や「ちびでぃ〜の作り方」を参考にしながら、USBのD+とD-に抵抗(R1,2…51Ω、R3…1.5kΩ)やLED、ツェナーダイオード、セラミックコンデンサをつないで、4番ピンと6番ピンに接続しました。USBから供給される5VとGNDは、ejackino-mini基板のVとGにそれぞれ接続しました。

次に、Arduino-IDEの設定に取りかかります。まず、Arduino-IDEの内容を表示して、「Java」までたどったら、「hardware」→「arduino」内のboards.txtにMetaBoardの情報を書き込みます。MetaBoardに対応した.hexファイルは、MHVBoard用ファイル群に含まれているので、これをダウンロードして展開し、同じくArduino-IDEの「arduino」フォルダ内の「bootloaders」の中へ「metaboard」フォルダをコピーします。(この他にもファイルやフォルダがあるので、必要に応じてコピーします。ただし、boards.txtをファイルごとコピーしてしまうと、設定が168用なのでうまく動きません。テキストエディタで開いて、必要な部分だけをコピー&ペーストするのが良いでしょう)

こうしてできあがったejackino-miniに組んだちびでぃ〜のに、Arduino-IDEから「Lチカ」スケッチを流しこんでやると、無事にArduinoらしい動作をしてくれました。これで、FT232RLなどのUSBシリアル変換ICを使わなくても、USBに接続可能なArduinoが作れることがわかりました。
#スケッチをATmega328Pに書きこむ際には、Uploadボタンを押した直後に、ejackino-miniのリセットスイッチを押す必要があります。(1度うまくいかなくても、再度挑戦するとうまくいくことがあります)

この実験で得られた知見を利用すれば、秋月のATmega168/328用マイコンボードをベースにして、格安のArduino互換機が作れそうです。部品の構成をどこまで減らせるのか、その際、どの程度回路を変更(パターンを切ったりジャンパしたり)すれば良いのかを検討する必要がありますが、今後も時間を見つけて研究を進めていきたいと思っています。

【追記】ついでに、ちょっと古いですが「AVRFuses」というAVRライターソフトを見つけました。これを使うと、簡単にブートローダなどが書き込めるらしいです。(Arduino-IDEで用は足りているのですが…)(2011.1.10)

2011年1月8日土曜日

Arduino互換機を作ってみました

前回も話題にしたDiavolinoですが、基板のみを買ったものに部品を付けて組み立ててみることにしました。使用した部品は以下の通りです。(数字は必要数)
  • 1kΩ抵抗…1
  • 10kΩ抵抗…1
  • 0Ω抵抗(ジャンパー)…1
  • 0.1μF積層セラミックコンデンサ…4
  • 18pFセラミックコンデンサ…2
  • 16MHzクリスタル…1
  • 小型タクトスイッチ(2端子タイプ)…1
  • ATmega328P…1
  • ICソケット(28ピン)…1
  • 三端子レギュレータ(XC6202P502TB:5V150mA)…1
  • 10μF電解コンデンサ(背の低いもの)…1
  • LED…1
  • ピンソケット(1×6)…2
  • ピンソケット(1×8)…2
  • ピンヘッダ(2×3)…1
これだけの部品を用意すれば、Arduino互換機が作れちゃうのですからありがたいものです。入手しにくかったのは、2端子タイプのタクトスイッチと三端子レギュレータ、背の低い電解コンデンサです。Diavolino基板のシルク印刷を見ると、三端子レギュレータのところには「750L05」と刻印さ れています。しかし、この部品を見つけることができず、必要な電圧と電流の値を手がかりに、上記のものを選びました。あとの2つは、あっちこっち探し回っ て何とか見つけることができました。

次に、以前にJapaninoのクリスタルを使えるようにするために購入した「AVRISPmkII」を使って、ATmega328Pにブートローダを書き込みます。(この作業をしないとArduino互換機にはなりません)ネットで探しまわっても、MacからAVRISPmkIIとArduino-IDEを使ってATmega328Pにブートローダを書き込む方法についての詳しい情報が見つかりません。(むしろ、「できない」「やめた方がいい」という情報ばかり)そこで、本当のところはどうなのか実験も兼ねてやってみることにしました。

〈作業手順〉
  1. 最新のArduino-IDE(今回は0022を使用)をダウンロードして展開し、「アプリケーション」フォルダにコピーする。
    #CrossPack-AVRは、以前の作業でインストール済みですが、まだの場合はこれも必要です。
  2. 組み立て終わったDiavolinoのICSPピンに、Macに接続したAVRISPmkIIをつなぐ。(「▼」マークを合わせるようにつなぐこと)
    #Diavolino自体にも電源が必要なので、電池などをつないでおく必要があります。
  3. Arduino-IDEの「Tools」メニューから、「Board」→「Arduino Pro or Pro Mini (5V,16MHz) w/ ATmega328」を選択して、同じく「Tools」メニューから「Burn Bootloader」→「w/ AVRISP mkII」でブートローダを書き込む。
    #AVRISPmkIIとDiavolinoのLEDが点滅して、書き込んでいる状態が確認できます。少し時間がかかるので、慌てずに待ちましょう。
以上で作業は終了です。試しにLチカ実験をしてみましたが、問題なく動いてくれました。この方法が一番簡単だと思います。

ついでに、マルツパーツ館で購入した「Arduino Pro(5V,16MHz)」にピンソケットやピンヘッダをハンダ付けして、Diavolinoと同じように使えるか実験をしてみました。こちらも問題なく使えました。できるだけ安価で気軽にArduinoが使えるようになることを、そして、子どもたちのアイデアをカタチにする道具として使えるようになることを目指して、これからも研究を重ねていきたいと思っています。(…続きは次回)

2011年1月2日日曜日

Diavolinoは教材として使えるか

アメリカ・カリフォルニア州にあるEvil Mad Science LLCで開発・販売されている「Diavolino」というArduino互換機があります。簡単に手に入る市販部品を使って、最小限の部品で構成されたもので、キットだけでなく基板のみでの販売もしています。(10枚セットで$36)残念ながら日本に取り扱い店がなく、通信販売の個人輸入で購入するしかありません。そのため、どうしても送料が高くなる上に、注文から到着まで、えらく時間がかかるという問題があります。とはいえ、使ってみないことにはどれだけのことが可能なのかわからないと思い、個人輸入に初挑戦してみました。

注文してからすぐにメールが届き、次いで「ご注文の品を送ったよ!」というような文面のメールが来ました。できるだけ送料を安くあげようと考えて、ちょっとリスクのあるUSPSのPriority Mail Internationalで送るようお願いをしたので、総額は$44弱。2週間がかりでやっと届いたDiavolinoのキットと基板は、簡単な包装で、日本郵便EXPACK500のような、A4サイズの平たい厚紙の封筒に入っていました。

中の部品や基板に問題はありませんでしたので、正月に組み立ててどの程度使えるものか実験をしてみました。
#詳細は、拙作のWebサイトをご覧ください。

結論から言うと、チープな割に問題なく使えます。手に入りやすく電子工作に向いている部品を使っている(表面実装部品ではないということ)ので、基板だけ大量にあれば気軽にArduino互換機を作ることができます。問題は、Diavolinoは直接USBポートにつなぐことができないので、USBシリアル変換ケーブルなどを用意しなければならないことです。それも、TTLレベルでの変換が必要なので、USB-TTL変換ケーブルを購入するか、FT232RLを使ってUSBシリアル変換基板を作らなければなりません。

このあたりの問題を乗り越えることができれば、Diavolinoを教材として使うのもそう難しいことではないと感じました。