2015年2月21日土曜日

負け続ける週末>故BBB、24GHzレーダー、LTSpice IV

FRDM-KL46につないだ24Ghz、10Ghz、24Ghz勢揃い

昨夜、Beagleboneさんを壊してしまいました…端子に過電圧がかかって、いや掛けてしまい、あっという間でした。電源入らず、3.3v-GND間がほぼ短絡状態になっているので、私の手には終えません。私の電子工作史上、自分で壊したもののとしてはもっとも高価なデバイスです…。ごめんなさい>beaglebone

これが生前最後の姿でした…
ということで、死蔵してたもう一台のBBBを箱から出してきましたが、これは悪名高きsshで入れないバージョン。BBB-FlusherをSD Cardに組み込むところからはじめて約2時間かかって何とかBBB警備?システムをリカバリしました。

その後は秋月から届いた24Ghzドップラーレーダーで遊びます。

これは出力が-300mV 〜 +300mVとのことなので、ADCで読むには 0-1800mVぐらいに変換してやる必要があります。

オペアンプで減算回路というものを組めばうまく行きそうなのですが、算数のできないワタシには抵抗値を決められませんw しばらくGoogle Spreadsheetで数字をいじったのですが、ぴったりの数字が出てこないし、そもそもそれで正しく動くのかも不明。

というわけで、LTSpice IVに初挑戦してみました。いつの間にかMac版があるのですね。

しかし起動しても、よく見るような画面ではなく、ボタンが3つ並んだだけのシンプルというより殺風景なウィンドウ。ツールバーっぽいものは無く、どうやらファンクションキーやコンテキストメニューで操作していかなければならない様子。

いやー…EagleのGUIが素晴らしく見えるレベルで、面倒くさい操作でした。それでも折角MacにやってきてくれたLTSpiceさん、ちゃんとシミュレーションができればそれで十分、今後に期待します。ただ、Windows版ではパラメータをGUIから設定すればドットコマンドというのを生成してくれるようですが、mac版では手動です。手動で入力している例があまりなくて探すのに苦労しましたが、とりあえず「.tran 1s」と入力してやれば、10秒間の任意の箇所の電流電圧をグラフ化してもらえます。ここまで約2時間でした。いやはや。


一度抵抗値を決めたものの、手持ちのパーツに100kを越える抵抗がなかったので、また計算し直してLM358でブレッドボードに回路を組みます。



で、ドップラーレーダーをつない電圧を見る…のですが、レーダーの前で手をひらひらさせても、想定していたような電圧は出てくれません。だいたい±30mVぐらいで、動きと一致しているようなしていないような微妙な値です。大きなものがもっと高速移動しないとダメなのかもしれませんが、これ室内用なんですよね。

日本無線の24GHzドップラーレーダーよりも安いし、アナログ出力でいろいろ遊べそうだったのですが…。

あと、アマゾンで「サンハヤト ジャンプワイヤキット SKS-100 単線タイプでよく使用する短めジャンプワイヤのセット品」ってのを売ってたので買ってみました。495円。



ブレッドボードのセットによく付属してくる固いジャンパ線は、長いのばかりがやたら余ってしまいますが、これはまさに不足しがちがな短いものの詰め合わせです。いつも抵抗などのリード線の切れ端を曲げて作っていたのですが、ラクをしたいのが人間というものです。で、使ってみたのですが…いやー、品質の酷さに大笑いできます。平気で45度ぐらいねじれていて、挿す前にちゃんと修正しないと刺さらないw こういうのは機械でさくさく作っちゃうと思っていたんですが、手作業というか中国あたりで内職で作っているんじゃないだろか。

2015年2月18日水曜日

BBBにI2CでLCDつないでみた

BBBも混雑しはじめてきたw

いやー、嫌ですね、技術屋って略号ばっかりで…と言われそうなタイトルですが。とりあえず、いろいろググっていたら、シェルスクリプトだけでI2C液晶が時計になってしまう記事を見かけたので、さっそく試してみました。


まず、i2cの初期化をします。初期化について参考にさせていただいたのはこちらです。
記事はRev.A5AでうちのはRev.Cなのが原因かどうか、少しパラメータなどが違っていました。

まず、P8-17/18ピンのi2c端子I2C1を有効にしますが、その前にポートの状態を調べておきます。


つぎに、ポートを初期化します。
echo BB-I2C1 > /sys/devices/bone_capemgr.9/slots
もう一度ポートの状態を確認します。


良いようです。はい。ここで注意。配線したのはI2C1ですが、今設定して変化したのはi2c-2って書いてある行です。上の記事によれば、1と2の番号とデバイスが入れ替わっているのだとか。よーわからんのですが、Beagleboneにはこういう要素が多いような気がします。ともかく、先人のおかげでハマらないですみました。ありがとうございます。

というわけで、秋月の液晶「 I2C接続小型LCDモジュールピッチ変換キット」をBeagleboneと接続します。GND, 3.3V、あとは10kΩでプルアップしたSDAとSCL。基本これだけでいいのですが、RESET端子を3.3Vにつないでおきます。オープンにしたままだとリセットされないことがあるので。

接続したら、確認します。


液晶のデバイス番号3eが見えますね。秋月の資料には「スレーブアドレスは、0x7Cです」と書いてありますが、これはread/writeビットを最下位に置いて読んでいるためです。これ、メーカーなどによって読み方 / 指定の仕方が違うので悩むんですよね…。ともかくBBBでは3eです。

では、今度はBeagleBone Black のハードウェアハック(5)を参考にしてデジタル時計を動かしてみます。viでコードをコピペするのですが、記事とはi2csetのパス(i2cset=/usr/sbin/i2ctest)と接続しているポート(bus=2)が異なるのでそこは書き換えたのですが…記事の通りでは真っ黒い四角が並ぶだけでした。上記秋月の資料と比較してみると、コントラスト設定値として0x3fが指定されてて液晶が真っ黒になってしまうのと、意味はわからないですがICONってのがOFFになっていること、が原因のようでした。秋月の資料と同じデータ順にして、ばっちり動きました。


スクリプトでこんなことできちゃうんですね。すげー。

改めて、初期化とスクリプト時計の執筆者の方々に感謝申し上げます。おかげさまで今夜はすっきりぐっすり眠れそうです。

ありがとうございました。

Emberjs:定数のロードはload/loadManyじゃなくてpush/pushMany

最近のマイブームはドップラーレーダーw

Ember.jsのFixturesを使えばRESTサーバが動いていなくてもRESTで取ってくるのと同じ形式のデータを予め用意することができるので、Webデザイナとサーバサイドがいい感じで同時並行して作業ができます。

が。

Fixture AdapterはREST Adapterと共存することができません。例えば、「他の処理/データはすべてRESTで取ってくるけど都道府県を定数配列として置いておきたい」というような場合に「都道府県だけFixtureであとはREST」というワザは使えません。

そういう場合には、REST Adaptetを指定しておいてDS.Storeに定数配列を置きます。困ったときのStackOverflowさんにも出ています。
ってか、あちこちググっても、みんなload/loadManyを使えって書いてあります。

でも、使えませんorz 最初、Ember.jsの公式ページ(Ember.js - DS.Store)の一番下にあるリストで「Deprecated」をチェックしてみたのですが、load/loadManyのことは出てきません。それから迷走しまくり探しまくりだったのですが…結局、push / pushManyを使えば同じことができると判明しました。


なお、こうやっておいといたデータは、コントローラの中で this.store.all('model名');って書けば取り出すことができます。これで良くある「都道府県プルダウンメニュー」が作れますw こんなものまでRESTで取ってたらキリないし。

Ember.js本体は最近落ち着いてきたんですが、Ember-Data.jsについては、まだβだといえばそれまでなんですが、こういうundocumented(いや、どこかに書いてあるのかもしれませんが)な変更が多くて困ります。どこかの「俺様がEmberを使わない理由」っていうページにも書いてあったんですが、ドキュメントが古かったり矛盾してたりするんですよね。

せめてわかったことだけでも貢献したいけど英語力がないので、とりあえず自分のブログに書いておきます。

2015年2月11日水曜日

Beaglebone black(bonescript)からメールを送る

サランラップ+お湯で柔らかくなるプラスチックによる雑な仕事w

まず、SMTPサーバを入れてその設定、次にBoneScriptを書く。

SMTPサーバの入れ方はこちら。とても参考になりました、ありがとうございます。
記事との相違点はMacではなくBeagleboneなので「brew/aptitudeの替わりに apt-get を使う」ことと、設定ファイルの中身です。蛇足ですが、fromとuserは同じでOKです。設定したら記事にあるように、テストしてみてください。

で、BoneScriptで書いてみます。Node.jsから直接SMTPを呼び出せるmailなどのモジュールも試してみたのですが、エラーの山を解決することができなかったので、child processとして呼び出す方式にしました。




メール系のテストをするとこうなるよねw

さて。

この度、玄関にもPIRセンサーを取り付けました。恐ろしいことに15mのワイヤ(余ってた6芯の電話線)による有線接続ですw センサーをほどよくナナメに固定するのは結構難しいのですが、玩具として売られているお湯で柔らかくなるプラスチックを使いました。80度のお湯に3分ほどつけておくと練り消しゴム状態になり、好きな形に成型してから冷します。プラスチックというよりもスーパーゴムのような素材なので、パッキングがわりに使ったり、断線しやすいiPhoneコネクタの補強、壊れた自転車用パーツの補修などに使えると思います。これでまた3Dプリンタの購入が遠ざかってしまいました(笑)。

これだけ入って1080円

なお、お湯を保温性のあるカップにいれて作業場所まで持っていくのがコツです。PIRセンサーを覆うように形を作っておき、反対側を冷たいドアに押し付けると丁度いい角度に調整することができます。私は面倒くさいので養生テープで止めちゃいましたが、プラスチックの中に磁石埋め込めばそのまま固定できると思います。電子工作において、「ナナメ固定」は結構鬼門ですが、これはホントに便利です。安いし。

養生テーブが泣かせます
先日の「自室での人間の動きを記録するアプリ」をちょっと改造して、来客を検知したらメールを送るようにしてみました。

これで留守番中に間違ってドアチェーンをかけてしまって外出中のヨメを締め出してしまっても大丈夫だ(ごめん)。

うちは宅配便ぐらいしか来ない&廊下の端で他の住民が通らないから通知ごとに送るようにしていますが、人通りの多いところでは一度送ったら数分間は検出しても送らない、などの工夫が必要かもしれないですね。


2015年2月1日日曜日

自家製キット?


買ってきた部品、特にICは一度試しておきたいものです。今回、TO92パッケージで外付け部品4つで簡単に0.9vから5vまで昇圧できるHT7750Aを使って赤外線リモコン受光器を動かしてみました。

もろもろの事情によりバラすことになったのですが、こういう場合、捨てるのは論外としても元の新品部品沼に戻すのも気が引けます。

そこで、こういう汎用性のあるパーツは秋月のチャック袋に入れてメモを添えておくと部品のピックアップが楽になります。

…なんかおバアチャンの知恵、みたいなネタだな。

2015年1月31日土曜日

電池昇圧回路+赤外線リモコン受光センサー

今回は素回路だけで終わってしまった

長い間何故か手を付けなかった赤外線リモコンを扱ってみます。

手元にある赤外線リモコン受信センサーは5v駆動、しかし最近私の周りは3.3vプラットフォームがメイン。ということで、昇圧ICを使って3.3vから5vを作るところから。昇圧にはこのICを使いました。
DC/DCのモジュールなら500円ぐらいで売ってるけど、このICは外付けにコンデンサ2個、インダクタ1個、ショットキーバリアダイオード1個で簡単 / コンパクト / 廉価 / 電源0.9vから利用可能なので部品箱に転がしとくと便利です(「転がしとくと便利」は部品沼への直線コース)。

なお、同じタイプのICで3.3v出力のものもあり、両方買っても400円です(その発想が部品沼だと何度言えば)。


まず部品拾い。100uのマイクロインダクタがないので47uでいいか、とか、47uと22uのチタコンないから同容量の電解とセラミック積層でいいや、逆電圧防止のSBDは1S4で…みたいに多少の違いは気にしない。インダクタは気にした方が良いのですが、今回消費電力微弱で入力も3.3vなので、まぁ試してみてダメなら考えます。やっぱりマイクロインダクタと積層セラミックコンデンサの詰め合わせも買っておこう。

Amazon : ありゃ在庫切れだ


ブレッドボード上に昇圧IC回路と受信センサ回路を組み立てて、受信センサを抜いてから電源チェック、問題なければ受信センサを戻して手近のリモコンに出力に反応が出ているか、異常な電圧が出ていないかを確認。問題なし。

5v出力を3.3v回路の入力端子につなぐと壊れるので、分圧回路作らなきゃな…と思いつつ受信センサの出力端子を5v・10kでプルアップして電圧みたら約3vしか出ていなかった。のでそのまま接続w


Energia付属のリモコンライブラリで動作チェック、動きました。なお、そこらに転がっていたMP3プレイヤ用のカード型リモコンは問題なく受信できるのですが、やっぱりエアコン用はライブラリが対応していませんでした。

で。

これを使って、先日のデジタル時計に時間合わせ機能を付けようと思っていたのですが…デジタル時計で使っているRTCライブラリとレジスタがかち合ってしまい、ビルド通りませんでした。ソース追ってみたけど、あちこち影響が出そうでどちらのライブラリも手を入れるのはめんどくさそうな感じ。諦めました。

今朝はウォーキングに出たら路面凍結してるし、どうもツイてません。

2015年1月27日火曜日

MSP430/Energia+RTC+秋月巨大LED=デジタル時計

暗いとアラが目立たない

■またデジタル時計だ■

お前は他にやることがないのか、と言われるのは承知で作ります。

前回はダイナミック点灯させたところで力尽きたので、今回はちゃんと時計として動くようにします。TIの低消費電力MCU MSP430G2シリーズの2553、開発環境は同LauchPad + Energiaを使います。2553/LauchPadは日本だとちょっと手に入れにくいですが、RS onlineなどでLaunch Padとして$9.99で売ってます。せっかくなので、チップ単体のMSP430G2553も何個かまとめて買っておくと良いと思います(1個300円ぐらい)。LPC1114FN28と比べるとメモリなどごく限られるのですが、うそみたいに電池が長持ちしますし、かなりフットプリントが小さいので。

表示器は秋月の「超大型4桁7セグLED表示キット」です。低消費電力チップと組み合わせるのもどうかと思いますが。本来、秋月の時計キット用なのですが、巨大なLEDが今どきこの値段(1500円)で手に入るのは珍しいと思います。まぁaitendoで1280円で売ってたけどね…。注意しなければいけないのは、使っているLEDは16セグメントなのですが、秋月のキットでは7セグメントとして使ってます。aitendoのは16セグメント全部使っているけどね…でも16セグメント使いたくてもピンが足りないのよだからこれでいいのよ文句ないのよ(何その未練)

あとはRTCですが、今回は2553内蔵の発振回路 / カウンターを使います。キットには32768hzの水晶発振子が同梱されてます。小さくてLaunchPad基板へのハンダ付け大変ですけども。

温度計も2553内蔵の温度センサを使います。analogReadで華氏☓10の数値が直接返ってくるので便利です。まぁチップが多少なりともあたたまるので正確ではないけども(電源を入れた直後は他の室温計と一致していた)。

■先に落とし穴を書いておく■

内蔵温度センサも同じA/Dコンバータ使ってます。なので、Reference電圧を正しく設定しないと値がズレます。これで30分つぶしましたよ…。

■ハード編:巨大LED■

追記:
キットに付いてくるコロン用のLEDはクリアタイプで、方向によって明るさがかなり異なります(というか正面が眩しい)。「LED光拡散キャップ(5mm) 赤 (50個入)」を被せるか、広角タイプのLEDを用いると良くなると思います。

ほぼキットの説明書通り組み立てるだけなのですが、キットに付属しているコネクタはL型で表示器と平行に下側に伸びるように取り付けます。私は下面をフラットにしたかったので、手持ちの20ピンヘッダを取り付けました。あと、ハンダ付けの注意ですが…

  1. 金メッキ基板にはフラックスを(昔やった
  2. くれぐれもLEDの向きを間違えない(昔やった
  3. くれぐれも水平垂直平行を(昔やった
  4. ハンダ付けは必要十分に(昔(ry
基板と部品はまず最初に必ず仮組みをします。はんだ付けをしないで並べてみて、ぶつからないかちゃんとピンが全部ホールに入るかどうか、などを確認します。

1)のフラックスというのはピンや基板などをハンダで濡れ(?)やすくする処理剤です。小瓶で数百円、まぁ10年ぐらい使えます。キャップをあけると小さな刷毛がついてますので、それでハンダ付けする部分(ランドと言います)に少量塗ってやります。

2)はピンが多い部品を外すのはかなり困難です。確認確認また確認しましょう。

3)はピンを通す穴は案外大きいです。なので、雑に取り付けると微妙に部品が傾いてしまいます。傾く方向は左右だけでなく、基板と部品が平行になっているかも注意しなくてはいけません。なので、最初に1本をハンダ付けしたら、平行になっているかどうかをしっかり確認し、ずれていたらもう一度コテをあてて修正します。これで平行になっていることを確認したら、対角線上にあるピンをハンダ付けして再度確認します。これでOKならば、一応、隣のLEDも支障なくピンに入ることを確認してから、最初のLEDの残りのピンをハンダ付けします。

4)はリズムを身体で覚えるしかないっす。ただ、温度調整機能のついたハンダゴテを使っている分には最近の部品は滅多に壊れないです。それよりも、溶かしこむ時間が短すぎて接触不良になるケースの方が遥かに多いと思います。コテをあててピンを温める、コテというよりピンにハンダを当てて溶かす、ピンに自然にハンダが流れ込んだところでハンダとコテを同時に離す…ここまでまぁ3〜5秒くらい、10秒くらいかかってしまってもOKです。

今回の配線はソースに書いてありますが、こんな感じで。

信号名LEDボードのピン2553のピン番号同ピン名
Anode1桁目43P1_1
Anode2桁目22P1_0
Anode3桁目15P1_3
Anode4桁目56P1_4
Seg A177P1_5
Seg B188P2_0
Seg C129P2_1
Seg D1410P2_2
Seg E1311P2_3
Seg F1612P2_4
Seg G1513P2_5
dp<未使用>
コロン(+)204P1_2
コロン(-)18(GND)
水晶-19XIN
水晶-18XOUT

水晶は、Launch Padにこんなのが付属しています。


袋およびパッケージから取り出すとこんなに小さい。


2553のXIN-XOUTは右側のピンヘッダにもつながっているのですが、水晶発振子はピンから離れると動作が不安定になるので、なるべく近くに取り付ける必要があります。下の写真では中央の2553の右ちょっと上の方にある縦に2つ穴の空いたところがソレです。



貧乏症のワタシはこういう開発キットのようなものに手をいれるのはイヤなのですが、ハンダ付けします。ただ、こんなに小さいものなので、まずテープで止めて位置をルーペで見ながら位置を微調整してからハンダ付け。

これはハンダ付け前

ああしんど。

その他LaunchPadとLEDボード間は、メス−オスのジャンプワイヤで一本ずつ配線していきます。

■ソフト編■

MSP430/Energia用のRTCライブラリを使います。ライブラリ、ありがとうございます。なお、同ライブラリのライセンスはGPLです。
リンク先フランス語ですが、英語に切り替えられます。リンクからダウンロードすると、他にも面白そうなライブラリが並ぶのですが、今回はsRTCだけを使います。sRTCフォルダをEnergiaのディレクトリ下にあるLibraryに入れます。

使い方は簡単で、ヘッダをインクルードし、setup()で.begin()を呼び出し、秒単位の割り込みルーチンで秒をインクリメントします。あとは時分秒を取ってくるだけ。2秒間時計〜1秒間温度表示、を繰り返します。



あとはもういつものダイナミック点灯方式のよくあるデジタル時計ルーチンです。

以下ソースを公開しますが、ライセンスは一応GPLで。難しいことはしていませんが、ご質問いただければ喜んでお答えします。この後は、これに赤外線リモコン受光器か時刻合わせスイッチを取り付けてから、久々にプリント基板にしてみようと思います。


■使ってみて■

いやー、デカい。存在感ありすぎます。3.3vでのダイナミック駆動なのをいいことに電流制限抵抗もドライバも入れてないので少し表示が暗いのですが、ちょっと昭和の薫りがしていい感じw 昼間でも見えますし夜電灯を消すと睡眠の邪魔にならない程度の明るさで動いてくれています。何より、乱視+近視でも目を凝らさず見えるのが良いです。

ピンがあと2本空いているので照度センサと時刻合わせスイッチ(または赤外線受光器)は取り付けられるか…。プリント基板が遠のくなぁ。

■更新■

  • 2015-01-31
    コロンの出力をPWMに変更。ほどよい明るさになったけど点滅が見えてウザい

2015年1月24日土曜日

スマートフォン クイックジャック ソリューション



スマートフォン クイックジャック ソリューション (Quick-Jack Solution) OM13069は秋月などで売っているスマートフォンのマイク/ヘッドフォン端子に接続するI/Oモジュールです。モジュール上にはLPC812が乗っていて、音声端子を通じてマンチェスター符号(TJさん、ご教示ありがとうございました)で通信するだけではなく、音声出力から電力ももらおうという素晴らしいデバイス。

最初、つないでも反応しない!?と焦ったのですが「ボリュームを上げないとダメよ」とのこと。ボリューム上げたらLEDが点滅始めました。なるほど、信号だけじゃなくて電力としても使っているんですね。

動作を確認したところで、さてiOS用のSDKを落としてこようと思ったら…iOS用は公開されていませんでしたorz Android用は提供されているのですが、iOS用はサポートに連絡してくれ、とのこと。

週末遊ぼうと思ったのに…まぁ買う前に調べておけって話なんですけどもw

2015年1月23日金曜日

完璧なゆで玉子

お前は何もわかっていない(海原雄山風に。


上記はココロ社「宗派が乱立する半熟ゆで卵の製法を統一。簡単&短時間&失敗なく半熟卵を作る方法と、ゆで時間と仕上がりの比較写真」より。

試行錯誤の結果、倉橋家で確定したメソッドは以下の通り。「ためしてガッテン!」がベースだけど、より成功率が高い。室温や卵のサイズが変わっても失敗しないよう調整してきました。

  1. コレールなどガラスの鍋に50cc+卵1個あたり10ccの水を入れ火にかける。
  2. 冷蔵庫から出した卵の丸い側に針で穴を開け、スプーンで軽く叩いてヒビを入れる
  3. 沸騰したら卵を入れて蓋を閉め、タイマー起動。
  4. およそ1分経過したところで十分に沸騰したら少し火を弱める。弱めすぎないこと。
  5. 蓋を閉めてから3分30秒(夏は3分)経過したところで火を止め、静かに放置
  6. 火を止めてから6分30秒経過したら鍋に水を500cc入れて、30分ほど放置
  7. 水から取り出して濡れているうちに殻をむく
卵は買ってから1週間以上経ったやつを使うとベター。冷蔵庫から出した卵を使うのは開始温度を一定にするため。穴を開けヒビを入れるのは気室にある空気と卵白などに含まれる二酸化炭素の逃げ道を作るため。卵膜内側の圧力が高いと卵膜に白身が貫入(?)して剥きにくくなるから。

コレールを使うのは火を止めてから熱が下がりにくいからです。普通のいわゆる金属製ラーメンサイズの鍋の場合は加熱時間を1分程度長くしたほうがうまくいきますが、室温の影響を受け易いので安定した品質を維持するのは難しいです。

6で火を止めてからすぐ冷水にいれると黄身は生っぽい仕上がりになり、追加する水を250ccにすると昔ながらの半熟卵になります。

鍋の熱容量や気温によって、秒数は変わってきます。上記の数字を参考に調整してみてください。

2015年1月22日木曜日

EmberをXMLで

はい、まだ続きます>Ember

このところ平均睡眠時間が4時間を切っているので今日は手短に。勤務先で別のシステムについてもEmberを使えないか?という話が出てきまして。ただ、問題はそのシステムはAPIがすべてRESTというかXML。

しかしEmber DataさんはもうXMLの欠片もない世界。公式APIを隅から隅まで見ても、やっぱりできません。

が。

需要あれば供給あり。見つけました。


さっそく試してみたのですが…エンベロープなどXMLの書式が違うのか、エンドポイント間で通信はできるものの取得したXMLをmodelに入れても表示できない…というか変換できねーよエラーになってしまいます。

で。

こうなったらjQueryでXMLを取得して、それをJsonに変換すりゃあいいんじゃね?と思ってググってみたら…ありました。


やっぱりみんな困っているのね。もちろん、今更XMLなんて使いたくないんだけどレガシー対応とかいろいろあるからしょうがない。

ということで、上記ページで教えてもらったコード、ばっちり動きます。良かった良かった。

念のためですが、xml2jsonにはjQueryのプラグインを使ってください。同じ名前の他のライブラリ等だと動きません(ハマりました)。