« 2010年7月 | トップページ | 2010年9月 »

2010.08.31

SP6の問題か、MITOUJTAGの問題か

Spartan-6ボードのSPI ROMをST Micro社のM25P32に張り替えたところ、SPI ROMから起動できないという現象が発生しました。

特電Spartan-6ボードは、ATMEL社のSPI ROM「AT45DB161D」を搭載していますが、昨今、SPI ROMの供給状況が非常に厳しいため、他社のROMも乗せられるよう、2種類のICのパターンを用意しています。

下の写真は、AT45DB161DをはがしてM25P32に付け替えたものです。(なお、ジャンパが飛んでいるのは、部品をはがす際に鉛フリーはんだなので扱いにくく、周辺部品のランドをはがしてしまったためです。本当はジャンパは要りません)
M25p32

このようにAT45DB161DをはがしてM25P32を取り付ければうまくいくだろうと思ったのですが、そうでもありませんでした。
さて困りました。

クロックの質が悪いんじゃないかとか、データが反射しているのではないかとか、いろいろ考えたのですが、どれも違っていました。Virtex-5やSpartan-3AではM25P32でもうまくいっていたので、なぜSpartan-6ではM25P32ではだめなのか・・・

原因は意外なところにありました。

Spartan-6は、それまでのデバイス(Virtex-5やSpartan-3E,3AN)と違い、VS[2:0]という端子がありません。SPI ROMのベンダの違いによるコマンドの違いを指定端子のプルアップ/プルダウンで指定するのではなく、自動で判別できるようになっているとのことです。

次の図はSpartan-6のコンフィギュレーションガイドに載っている、SPI コンフィギュレーションシーケンスの図です。
Sp6spiseq

Spartan-6は、まず0x03という命令コードをSPI ROMに与えてデータを読み出します。その際、32バイト分のデータを読み出します。その中にAA 99 55 66という同期ワードが含まれていれば、そのままコンフィギュレーションを実行します。
もし同期ワードが含まれていなければ、0xE8という命令コードをSPI ROMに与えてデータを読み出します。2度目は実際には512サイクルではなく、340msくらい行われます。CCLKの1サイクルはおよそ1.04μ秒なので、320000サイクルくらい、つまり40kバイト程度のデータを読み出していると思われます。

このように、Spartan-6はSPI ROMに対して2回の読み出しをチャレンジします。

まとめると、Spartan-6は1回目のチャレンジで同期ワードが検出できなければ2回目のチャレンジを行います。2回目のチャレンジでは0xE8という命令コードが使われます。この命令はATMELのSPI ROMにはありますが、M25P32にはありません。そのため、2度目のチャレンジでデータが読み出せないのです。

では、1回目のチャレンジはどうなっているかというと、MITOUJTAG(や、Spartan-6ボードに付属のSP6JTAGユーティリティ)では、BitStreamファイルの先頭にある文字列(デザインの日付やファイル名などが記述されている)を削除せずに書き込んでいます。そのため、先頭の32バイトには同期ワードが現れません。
Bitstreamheadder

それゆえ、MITOUJTAGやSP6JTAGで書き込んだSPI ROMは必ず2回のチャレンジを行っていることになります。

しかし、M25P32では2回目のチャレンジに相当する命令コード0xE8が定義されていない・・
これが原因でした。

ではどうすればよいかというと、BitStream先頭のヘッダを削除して、FFFFFFFFFFFFFFFF5599AA66・・・から書き込むしかないのでしょう。

さらに、Spartan-6のバグ(?)と思われる現象を発見しました。先のXILINXのデータシートに記載されていたフローチャートでは512サイクルで同期ワードが現れるかどうかで判断していたようですが、実は、512サイクルぴったりで見つかった場合にはダメなようです。

つまり次のデータのようにAA995566が先頭の32バイトに書き込まれていてもダメでした。
Ng

もう1バイト余分にあればコンフィギュレーションに成功するようでした。
Ok

ST社のROMをSpartan-6に対応させるために、BitStreamのヘッダは削除して書き込むべきなのかもしれません。

というわけで、MITOUJTAGのSPI ROMライタに、BitStreamのヘッダを削除する機能を追加することにします。

| | コメント (0)

2010.08.30

MITOUJTAG Light 2.1→2.2へのパッチ

MITOUJTAG Light 2.1xをLight 2.2へバージョンアップさせるパッチをリリースしました。
http://www.tokudenkairo.co.jp/jtag/sp.html
(BASIC版とPro版のパッチも、今月中には出したいと思います。)

このパッチを適用していただくと、昨年のMITOUJTAG Light2.1xが、今年版の2.2にアップグレードします。

これまでの改善点がすべて累積的に適用されます。
2.16からの主な改善点は、
・SPI ROMへの書き込み対応(Spartan-3/6,Virtex-4/5に接続されたもの)
・Spartan-3AN内蔵ROMの書き込み対応
・印刷機能のサポート
です。
このパッチは、もちろん無料ですから、新たな出費のご心配なく適用していただけます。

このパッチを適用すると、カタカタカタカタとハードディスクが鳴って、各種のDLLやEXEが次々と最新のものに置き換えられていきます。
Mjlupd

約1分程度で、適用完了です!

秋以降は、MITOUJTAGの開発を本格的に進めます。まず最初にやりたいことは、JTAGロジアナの強化と、BLOGANAのALTERA対応です。
今後出るであろうパッチも、このような形で適用できるようにするつもりです。

それから、MITOUJTAG LightにはBLOGANAや、フラッシュROMライタなど、BASIC版の機能をお好みでチョイスして追加できるようにしたり、BASIC版へのアップグレード手段を提供していこうと思います。

なお、MITOUJTAG Light2.2は、明日、8月31日で販売終了とさせていただく予定です。MITOUJTAGがこのお値段(36,500円~)でお求めいただけるのは、もう最後かもしれません。
どうかお求めの忘れないよう、お気を付けください!

| | コメント (0)

2010.08.24

EXPARTAN-6Tの再設計

Spartan-6LXTのPCI Expressボード、通称「EXPARTAN-6T」を出図しました。

前回の設計ではいろいろ問題があったので、今回、設計をしなおしました。

主な修正点は以下のとおり
・PCIeのTXとRXが逆になっていたのを直す→これでジャンパがなくなる
・PCIeエッジのリセット信号をFPGAに直結にする
・SPI ROMをST社のM25P32に変更→M25P32は大量に確保!
・3.3Vドロッパ電源をスイッチング電源に変更
・HSWAPENをLにして、未コンフィグ時にI/Oがプルアップされるようにする
・シルクの直し
・マイクロストリップラインのインピーダンスと長さを揃える
・2つあるSATAコネクタの1つをホスト、もう1つをスレーブにする。
などです。

今回、3.3Vのスイッチング電源にはTPS54318、1.2Vのドロッパ電源にはTPS74401と、高級なものを贅沢に使いました。

基板の出来上がりは9月1日です。そのときは、1枚だけ試作します。
問題なく動作するようであれば10枚ほど量産試作を行い販売を開始します。
順調にいけば9月中旬には販売開始できそうです。

価格は6万円前後を予定しています。

Np1032a

| | コメント (0)

2010.08.19

食べるラー油

食べるラー油というのが世間では流行っているらしいですが、手に入りません。
桃屋とかSB食品といったメジャーどころはまず売っていません。

かろうじて手に入れられたのが、長野県のお土産屋で買った2種類と、品川駅前の成城石井で買った瓶詰の「鹿角らーゆ」とかいうものです。
長野県のは、生のニンニクが入っているのと、カリカリのがあって、カリカリのほうは美味しかったけど、生のニンニクのほうは気持ち悪い。鹿角らーゆは辛くないので論外。

しかし、市販のラー油はどれもパプリカ色素が入っているのが問題です。
これらの市販のラー油の赤は唐辛子の赤ではなくて、パプリカ色素の赤なのです。

そこで、パプリカの入っていない、本物のラー油を自分で作ることにしました。
ラー油を作るのは9年ぶりです。

作ったのがこちら↓
Layou_2

① 玉ねぎをみじん切りにします。量は中玉を1/8くらい。
② ニンニク1かけをすりおろします。青森産に限ります。中国産は味が薄いのでだめ。
③ フライパンに①の玉ねぎと②のニンニクとサラダ油をたっぷりといれ、110℃で揚げます。
このとき決して温度を上げないこと。焦げて苦くなります。
油の温度を測るのに便利なのが放射温度計。東洋計測器ランドで売ってます。
Housha

④ 塩と砂糖を投入

⑤ 水分が飛んでカリカリになってきたら、温度を80~90℃まで下げて、粉末唐辛子を入れます。
お勧めは、SB食品の「カイエンペッパー」
Kaien
これを半分くらい使います。
もともとスコビル値が高い上に粉末なのでカプサイシンの抽出が早く、お勧めです。

⑥ できあがり
この自作ラー油は、普通の人が食べると辛さで悶絶します。
市販のラー油のようにパプリカで着色した赤色ではなく、本当に唐辛子から抽出した赤色だからです。

美味しく作るコツは、油の温度を上げないこと。
唐辛子は焦げると苦くなります。
辛み成分を抽出するなら、80℃もあれば十分です。

ごはんにかけても旨い。
Gohan

すごく辛い。

唐辛子を摂取しすぎると、味蕾が破壊されると言われています。大学の4年間、毎晩毎晩坦々麺を食していた私はすでに破壊されてしまっているのでしょう。普通の人とは明らかに唐辛子の辛さに対する感受性が違います。

唐辛子の辛さに耐性がついてしまったそんな私でも辛い。

さて、ラー油をはじめとする唐辛子の辛さ(カプサイシン)を定量的に測る単位に「スコヴィル値」というのがあります。辛い液体を砂糖水で薄めていって何倍に薄めたら辛さを感じなくなるか、ということで辛さを定量化したそうです。
一説によれば、スコヴィルさんは筋肉痛に効くクリームを作りたかったと聞きますが、本当は辛い物好きだったのではないでしょうか。
調べによると、
タバスコはせいぜい2140スコヴィル。
カイエンペッパーは30000スコビル。
ハバネロは10万~35万スコヴィル。
純粋なカプサイシンはなんと1千600万スコヴィルだそうです。

普通の市販のラー油は、一般の人が食すため、タバスコ以下に抑えてあると思われます。せいぜい2000スコヴィルくらいでしょう。
この自作ラー油はたぶん、1~2万スコヴィルくらいあるかなと思います、

| | コメント (8)

2010.08.17

Spartan-6のサンプルデザインを更新

Spartan-6評価ボード用のサンプルデザインを更新しました。

かなり見栄えもよくなって、それらしいアプリケーションになりました。

Refdesign0802

USB経由でDDR2 SDRAMの内容を読み出したり、書き込んだり、テストパターンを発生させて画像として表示させるなどということができます。

なお、DDR2 SDRAMのメモリの内容の初期値を読み出して表示してみると、こんな感じでした。
Ddr2_default

見慣れている人にはお馴染みの画像ですね。

いくつか問題も残っているのですが、前のに比べると各段に良くなったと思います。
今後も継続して開発していって改良していきたいと思います。

サンプルデザインのダウンロードはこちらから行えます

使用しているDDR2 SDRAMコントローラや、USBインタフェースコアのソースはこちらにあります

今後は、DDR2 SDRAMコントローラをマルチポートにして、周辺回路からDDR2 SDRAMにデータを書き込めるようにしたいと思います。
それをベースにしてロジアナやCMOSイメージセンサアプリを作っていこうと思います。

| | コメント (0)

2010.08.11

はじめての輸出

今日、はじめて、製品の輸出を行いました。

数か月前に海外の業者さんからSpartan-6ボードを取り扱いたいという話が来ていたのですが、いろいろ時間がかかってしまって、ようやく今日出荷できました。

なにぶん自分で輸出するのは初めてなので、まずは輸出に関する本を買うことから始めました。

買ってみた数冊の本は、どれも信用状の話から始まって保険とか通関の書類とか、さまざまな書類の作り方が書かれていました。
インコターム?キャッチオール?
知らない言葉ばかりで、非常に刺激的です。

一通り勉強してみたものの、いったいどれが本当に必要な書類で、どれがいらない書類なのかなんて、最初はなかなか判断できません。
どうやら、今まで読んでいた本は、コンテナを借りて船に積んで、出港するような場合の本でした。

結局、佐川やクロネコ、UPS、DHL、郵便局などを使って航空便で送る場合は、ほとんど何も、というか全部いらないということがわかりました。
国内便にくらべると運送料はかなり高いです。重さにも普通の重さだけではなくVolume Weightなんて概念もあるし、知らないことばかりです。

それに、どういう品にどれだけ関税がかかるか、各国の禁制品、輸入規制、廃棄物の規制、HSコード、・・勉強することが山のようにありました。いろいろ勉強したことのほとんどは今回の件では使わなかったけれど、商社を通さなくても、世界のどこにいる消費者に対しても輸出できるだけの知識が付いたような気がします。
輸出について勉強していると、世界の街が目に浮かぶようで、夢が膨らみます。

いつかコンテナを基板でいっぱいに満たして東京港から出港したいですね。

| | コメント (3)

Spartan-6ボードのテストアプリの開発

只今、Spartan-6ボードのテストアプリの次期バージョンを絶賛開発中です。

Testapp2_1

次期バージョンでは、USBのIN、OUT、INOUTの通信をわかりやすく行えるようにしました。
「IN」というボタンを押せば、IN方向のテストを行います。これはFPGAの中からPC上へデータを転送するモードです。データのソースには、テストパターン、BlockRAM、DDR2 SDRAM、GPIOが選べるようにしました。
テストパターンにはシーケンシャル番号、水平グラデーション、垂直グラデーション、フレーム番号、乱数などが選べます。
Testapp2_3

データソースにDDR2 SDRAMを選ぶこともできるようになります。これはDDR2 SDRAMの中のデータを読み出して画面に表示します。
GPIOを選べば、I/Oピンの端子状態をデータに見立てて、PC上へ転送します。指で触ったときにはこんな映像が表示されます。
Testapp2_2

OUT方向のテストは、PCからFPGAへ送ったデータを、BRAMに書き込んだり、DDR2 SDRAMに書き込んだり、GPIOから出力したりできます。

IN方向のテストも、OUT方向のテストも、転送速度が画面に表示されます。

INOUTのテストでは、読み書きしたデータを比較して、エラーが発生すれば停止する、というチェックが行えます。
明日にはUSBとDDR2メモリがつながるはずです。

アプリの使い方がだいぶん分かりやすくなったかなと思います。

| | コメント (0)

2010.08.09

MITOUJTAG Lightを出荷開始しました!

お待たせいたしました。
MITOUJTAG Light2.2を出荷開始しました。

このソフトウェアが趣味でもハイレベルな回路を作成されている皆様のお役に立つことができますように!

| | コメント (0)

2010.08.08

MITOUJTAG Light 2.2の開発

今年発売のMITOUJTAG Lightのバージョンは2.2となります。

Mjl22

従来のバージョン2.1との違いは、FPGAに間接的に接続されたSPI ROMの書き換え機能と、印刷機能です。

SPI ROM書き換え機能では、現在選択しているファイルの日付を出すようにしました。

FPGAのBitファイルを書くときに、「どれが最新のだったっけな・・」、「○月○日には動いていたはずなのに・・・」とファイルを探してしまうことがありますが、このように日付が出れば迷いません。それに、BitStreamの先頭には論理合成された日付がASCII文字で書かれているので、JTAG-SPI ROMライタのダンプ機能で先頭領域を読み出して、日付と記述内容を照合すれば、より一層迷わなくなります。

Mjlspi

MITOUJTAG Light 2.2は、明日、月曜日の出荷開始を目指して、最後のデバッグを行っています。
もちろん、これからもどんどん開発を進めていって、バージョンアップのパッチを出していこうと思います。

| | コメント (0)

2010.08.07

MITOUJTAGの画面が印刷できるようになります。

いま、MITOUJTAGの画面が印刷できるように、急ピッチで開発を進めています。
来週早々に出荷するMITOUJTAG Light 2.2に間に合わせるつもりです。

MITOUJTAGのツールバーに、印刷ボタンが追加されました。
Mjprint_1_2

ファイルメニューにも印刷メニューが追加されました。
Mjprint_2

このボタンを押すと、印刷ダイアログが開きます。
使用するプリンタでAdobe PDFを選べば、MITOUJTAGの画面をPDFファイルにすることもできます。

印刷ダイアログではコメントを入力することができます。
「この画面はどんなときだったかな・・・」というのを思い出さなくてもよいので、画像の整理が楽にできます。

Mjprint_3

ためしにPDFとして印刷した結果です。
Mjprint_4

このPDFファイルは↓のリンクをクリックしてみてください。
「mitoujtag_light_version_2.pdf」をダウンロード
なかなか綺麗でしょう?

MITOUJTAGの画面が印刷できるようになると、レポートの作成や資料の保存に便利ではないかと思います。

この機能は来週発売予定のMITOUJTAG Lightにいち早く搭載されます。ご期待ください。

| | コメント (0)

2010.08.06

夏限定!MITOUJTAG Light版が復活します

今年のお盆休みは、新しいスタイルでFPGAの開発をはじめてみませんか?

まもなく、この夏限定の「MITOUJTAG Light(ライト)版」を発売します。
夏限定というのは夏しか販売しないという意味です。
もちろん、秋以降も使えますのでご安心下さい。

MITOUJTAGを使うと、BGAの裏側が見え、FPGAが論理合成しなくても動くデバッグができるようになります。
オシロや埋め込みロジアナだけでは決してできなかった「見える・楽しいデバッグ」が待っています。

Mjl_banner

MITOUJTAG Light版は、非営利・非商用目的に限ってご利用いただけるMITOUJTAGの個人向けバージョンで、MITOUJTAG2.0 Proのプラットフォームをベースに構築されています。
ユーザインタフェースは、従来のMITOUJTAG BASIC1.5から格段に進化しており、ロジアナとバウンダリスキャン可視化の同時動作が可能となっています。

また、JTAG経由のフラッシュROM書き込みや、印刷サポートが追加され、さらに便利になりました。それから、Sparatn-6ボードで作るUSB-JTAGにも対応します。

Mjl_image

このバージョンは、仕事だけではなく個人でもFPGAの技術を身につけたいというパワフルな方や、先進の回路を趣味で研究する方、展示会や学園際のためにFPGAのデバッグに本腰を入れたいという方を対象にしています。

よって、個人のお客様でもご購入いただけるよう3万円台の価格を目指しました。
具体的にいうと、36,540円(消費税込、送料込)です。

Light版は、廉価なBASIC版というわけでは決してありません。MITOUJTAG BASICの中から必要な機能に的をしぼって抽出し、その機能を強化したものです。たとえば、Pocket JTAG Cableの動作速度が2~3倍速くなっていたり、J-WriterをJTAGケーブルとして使うことができたり、目的のデバイスのBSDLファイルを探してくる必要がなかったり、といった感じです。最新のパッチやアルゴリズムも自動アップデート機能で、楽々アップデートしていただけます。

ただし、このバージョンは見ていただいたイメージのとおり、
夏限定です。
燦々と太陽が照り注ぐ夏の間だけの限定バージョンです。

Mjl_cdrom

したがって、秋になったら販売終了します。少なくとも8月いっぱいは発売していますが、9月には販売終了して、従来のBASIC版とPro版の2種類のラインナップに戻ります。
その後の秋や春のLight版を作る予定はありません。

夏限定と言っても、入手可能時期が今年の夏だけということです。もちろん、秋や冬になってもそのままお使いいただけます。期限のある試用版ではございませんので、末永くお使いいただけます。

来週には出荷開始したいと思います。Light版の詳しい情報や新機能、そして既存ユーザ様向けのお得なについてはこれから書いていきたいと思います。
約3週間しかリリースしない限定バージョンですが、どうぞよろしくお願いします。

お得なキャンペーンの第一弾として、
① MITOUJTAG LightとPocket JTAG Cableをセットでお買い求めのお客様は、52,290円(消費税込、送料込)でご購入いただけます。約13000円ほどおトクです。
ただし、先着30名様限定とさせていただきます。

Campaign_2

② みえたジェイプラスをお買い上げいただいてから半年以内の個人のお客様は、総額から5,250円(税込)引きでご購入いただけます。ご購入の際に備考欄にその旨をお書きください。
つまり、MITOUJTAG Light とPocket JTAG Cableのセットが、47,040円(税込)となります。MITOUJTAG Light単体の場合は31,290円(税込)でお求めいただけます。
(ただし、みえたジェイプラスをお買い上げから6か月以内に限ります。)

MITOUJTAG Lightについての詳細は下記のページをご覧ください。
http://www.tokudenkairo.co.jp/jtag/lightv.html

ご注文はオンラインショップから承ります。
http://www.tokudenkairo.co.jp/shop/shop.cgi

どうぞよろしくお願いします。

|

2010.08.04

Spartan-6のIO遅延のすべて

Spartan-6にはすべてのI/Oに遅延回路が含まれています。

それは、IODELAY2といって、0~255までの範囲で遅延量を変えられるというプリミティブです。
ただし、ユーザガイドにはその遅延量の値の1つが何psなのか、全く書いていません。

確かにシミュレーション用に75psという値は用意されていて、CoreGenでもその値が表示されます。
しかし、75psというのは、これまでの経験上、信用できません。

そこで実験してみることにしました。やり方は・・・
① 次のようなパルスをあるI/Oから出す。
 _
| |____
② それと同じものを別のI/Oから出す。このI/Oは双方向にしておいて、出力値を入力したものを入力遅延に通す。
③ 入力遅延の量を0~255まで変化させる。
④ 入力遅延の出力値を別の出力ポートから出す。

図に描くと、こんな感じです。
Usage_iodelay2

出力遅延を可変にすればもっと簡単では、と思われるかもしれませんが、それはできません。なぜなら、IODELAY2の可変遅延モードは入力モードでしか使えまないからです。だから、いったん出力してそれを入力遅延に通して出力するという面倒なことをしています。

結果は、255タップで約8ns。つまり、1タップが30~32psでした。
その変化の仕方はリニアにみえました。

その様子をムービーに収めたので、ご覧ください。
上の波形が遅延素子を通した後の波形で、255タップまでいったらゼロに戻しています。

IODELAY2はなかなか謎が多いプリミティブで、どうやって使えばよいかわからないポートがいくつもあります。
実験の試行錯誤の結果わかった「IODELAY2の使用上の注意点」をまとめておきます。
・入力を遅延させるIDELAYモード、出力を遅延させるODELAYモード、双方向で遅延させるIODELAYモードがある。
ODELAYモードでは固定遅延モードでしか使えない
IDELAYモードでは遅延量を可変できる
・IDELAYモードではクロックが必要。それは、IOCLKとCLK。とりあえずは両方ともFPGAのロジック用のクロックを入れておけばよさそう。
・外から受けたクロックをIOCLKポートに入れる(つまり、ソースシンクロナスを想定)と、キャリブレーションを実行した際に、クロックの半分の周期に遅延量を自動的に合わせてくれる(らしい)。
・CLKポートは、IDELAYの可変遅延モードで使う(らしい)。
・ODELAYモードで使うなら、クロックは不要。固定遅延。
・遅延量よりも早く入力信号が変化すると、出力がおかしなことになる。
CAL入力は必須。これが'0'のままだと可変遅延モードが動かない。必ず1回はアサートすること。
・RST入力は必須ではない。
・正確には測っていないが、タップが0でも800psくらいの遅延が入る(らしい)。
・出力遅延として使う場合、ODATAINに入れた信号が、DOUTから遅延されて出てくる。
・入力遅延として使う場合、IDATAINに入れた信号が、DATAOUT、DATAOUT2から遅延されて出てくる。
・DATAOUTは必ずFFやISERDES、IDDR2に入れなければならない。DATAOUT2は任意の組み合わせロジックに入れられる。

今回の実験で使用したサンプルのソースコードは「JTAGひろば」にアップロードしました。どうぞご利用ください。
http://www.tokudenkairo.co.jp/hiroba/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=47

| | コメント (0)

2010.08.03

Spartan-6ボードが届いた

特電Spartan-6ボード量産版の実装があがり、当社に届きました。
最初のロットは30個。そのうち、XC6SLX16が20個、XC6SLX45が10個です。

さっそく分離して、綺麗にして、ファームウェアを書き込んで動作チェックを行っています。
Np1027a_30pcs

| | コメント (0)

2010.08.01

LED光センサ3号機の開発(2)

開発中のLED光センサ3号機が、ちゃんと光に反応するようになってきました。
綺麗な色も出るようになりました。

FPGAの中にメモリがたくさんあるので、これをフレームメモリとして使うことにします。
光センサの値を1秒間蓄えてから光らせるようにしました。
すると、1秒前の影の濃さに応じて光がついてきます。

補足:原理を説明します。

LEDは電流を流すと発光しますが、逆に、光を当てると起電力が生じます。
このLEDパネルは、LEDを光センサとしても使っていて、部屋の周囲の明るさと影になった部分の明るさの差を感じとって、その値によってさまざまな色を出しています。

| | コメント (0)

« 2010年7月 | トップページ | 2010年9月 »