2014年11月30日日曜日

小ねた

ウォーキング用ライト、自分で使ってみた。

小さなじわじわネタってことで最初「小じわ」にしたんだけど、とある年齢層の女性から不評を買いそうなので改題。

■Arduinoデジタル時計改良■

「夜中は時計なんか気にしないで寝ろ」ってことで、23-4時まではLEDの輝度を1/10に下げて時計と温度の表示も時計2秒+温度1秒の繰り返しに変更。

高齢者たる私は夜中にふと目覚めた時に時計を見て「ああ2時か。もうひと寝入りしよう」と考えただけで目が覚めてしまうので、「時計を見る→暗い→寝直す」というフローにすれば改善するのではないかと。

■リチウムポリマーバッテリーの端子を固定■

某デバイスのリチウムポリマーバッテリー端子は1.27mmしか離れておらず、もし断線してショートしようものなら大炎上を免れない。ソレが怖くて今までまじめに使っていなかったんだけど…大掃除の準備をしていたらホットグルーガンが出てきたので、早速端子を固めてみた。まぁ絶対大丈夫ってことはないけれど、とりあえず取り回し→金属疲労→断線→短絡→炎上…という路線は防げるかな。

しかし、まだ、使い道を思いつかない。組み込まれているファームが条件設定などのできない単なるBLE中継ソフトで、例えば「離れたらLEDを点灯する」という当初目論んでいた処理に使えないため。ファームを消して「リチウムポリマーバッテリー付属切手サイズのnRFボード」として使おうにも端子が小さすぎて私には無理orz

さて、どうしたもんか。

■乱視用時計を再設計■

以前も書きましたが、私は「プロトタイプが機能を満たしてしまうと、そのまま使い続けてしまって製品化(笑)へ進まない」という悪癖がありまして。

乱視用時計もその1つなんですが…さすがに年が開けてしまうのはイカンと思うので、プリント基板の設計始めました。いやー、部品ライブラリが揃っているとEagleってホント快適に作業が進みますw まぁ「コマンドを選んでから操作する」というイカニモCADっていうUIへの違和感は未だ消えないのですが、とりあえず慣れた。

このまま1週間ほど寝かせておいて、来週あたりElecrowに発注しようと思います。

■読書灯ボードの変更■

ボードを設計した時、「LEDを2セットつなげられれば、電球色と昼白色LEDを組み合わせて色温度を調節できるな」と考えていたんですが、結局昼白色しか使ってません。本が読みやすいので。

ただ、よーく考えたら3本あればRGBが可能になり色の調整がものすごく幅広くなります。

ということでドライブをもう1系統増やそう…と思ったのですが:


…見事に隙間がありません。前回発注したボードはスカスカだったんですが、その後、RTCとバックアップ用の電池スペースを追加したもんで。左上のスペースはバッテリ、右下はDCジャック用です。RTCとDCジャックは秋月の変換基板対応。RTCはSMDチップが小さすぎてハンダ付けする自信ないっす。

となれば、あとはDCジャックを何とかしないといけないですね。先日、「電子工作部」で普通の丸穴で使えるDCジャックを教えていただいたので、ソレを手に入れて何とかしないと。

というわけで、今度はこれが先送りの言い訳に…あああああ。

少しはアンジェリカたんの豪腕っぷりを見習わないといかん。

楽園追放、面白かった。

いや、無理だけど。

2014年11月28日金曜日

転職して二ヶ月経過

ようやく落ち着いてきたので、ぼちぼちブログ再開します。

とりあえず、やりたいことが溜まりすぎてどこから手を付けて良いのかわからないですが、何よりも先に部品沼の整理と某Salesforce Chatter対応アプリのSwift版を早いとこリリースしないと。

タイムテーブル的には、審査があるから先にiPhoneアプリを仕上げて、それから部品沼かな。

そんなこんなで、よろしくお願いします。

2014年10月26日日曜日

読書灯:ミスった 組み立てた 動いた

しかし、デカいな>28pin 600mil幅

先日オーダーした基板、設計のミスで一部のグラウンドが配線されておりませんでした。部品をハンダ付けした後のチェックで発覚。三端子レギュレータから電圧出てなくて調べてみたら三端子は正常、外部センサー用のGNDが宙ぶらりんになっていました。

うーん、GNDクラスに設定してあるし、チェックでもエラー出なかったんですが…とEagleの自動配線頼りきりなのがバレバレな話。ジャンパ一本で済む話ですが、良い教訓になりました…。

元はこんな状態(この他にCL6807用のサブ基盤)だったのですが、だいぶすっきりしました。
下にあるのは「カンパチ」

ブレッドボード上でいろいろ改良していこうと思って作ったものなんですが、一発目でかなりいい感じに動いてしまい、いつもの「動いてるんだから、いーんじゃねーのーw」病が出てしまいました。UIとしてPIRと距離センサを付けて、当初シリーズの定電流回路だったものをCL6807に変えたりはしましたが。

さて、「製品」が出来上がればブレッドボードはお役御免です。どうもモノに思い入れしてしまうタチなので、バラす前につい手を合わせてしまったり。

短い間だったけど、お疲れ様。


余談ですが、一度使った抵抗、1個1円なので、作業に要する時間を考えたら捨てた方が効率良いのはわかってます。でも、もったいなよね。


2014年10月25日土曜日

ホームリフロー:3度目の正直で大成功!

アルミ基板にチップLED 3種。

■追記(2015/12/30)■

サンハヤトの「表面実装部品取り付けキット SMX-21」を使うともっとラクです。

■準備■

冷凍庫に入れておいたハンダクリームを出しておく。買ってから半年ぐらいになるので、いろいろ実験的な意味で冷凍してみた。結果として元々良質なハンダというわけではなかったので特に違いは感じられなかったw

■ハンダクリームを塗る■

これまでマチ針を使っていたのですが、作業性が悪いというか何十回も試してたまたま乗るというレベル。どうしようかと日々悩んでいましたが「ハルロック2巻」を読んでいたらマイナスドライバーらしきもので塗っているシーンがあり、「ユーレカ!」と叫びつつ全裸で家を飛び出した次第です(※精神的な意味で)。

ハルロック2巻 p170(c 西餅/講談社)

というわけで、幅4mmほどのどこにでもあるマイナスドライバーで使ってみたところうまくいきました。コツとしては左官屋さんが漆喰を伸ばすようにドライバーを寝かせ気味にして押し付けるというか擦り付けるという感じ。これまた左官屋さんがコテをコテ板の上の漆喰を伸ばしたりまとめたりするようにしてハンダクリームの調子を整えると乗せやすいです。塗り上がりはこんな感じ。先日届いた基板です。

ご覧のようにはみ出しまくりですが気にしない。


これにCL6807を乗せますが、ランドが隠れてしまったので位置がわからないw でもパターンの延長線上にあるのは間違いないので、まぁ誤差0.5mmぐらいの感じで置いていきます。

あとはレジストと表面張力を信じて。


■リフロー■

ホットプレートに基板を置いて、放射温度計でホットプレート表面が180-200度前後になるように保ち、基板表面が180度になったところから2分間測ります。途中で灰色だったクリームがいい感じに溶けてきます。2分たったところでホットプレートの温度をあげて、ホットプレートが270度ぐらいになるようにスイッチを調整し、基板が230度を越えたあたりでスイッチを切り、あとは250度を超えないように祈りながら30-60秒間230度以上をキープします。あとは冷ましてできあがり。

下の右側中央ピンは手ハンダで補正したので少し汚いorz

…これ書いてて気づいたですが、ホットプレート上は周辺にあるヒーター直上部と中心部は25%ぐらい温度差があります。いつも中心の低目のところにおいていたのですが、周辺部においておいて、基板が250度に達したら中央部で涼んでもらう、という手がありましたねぇ。忘れないようにしなくては←忘れるフラグ

なお、上の赤いガラスエポキシ基板の後に、秋月のアルミ基板もリフローしてみたのですが(一番上の写真)、小さなアルミ基板の右端と左端で15度ぐらいの温度差がありました。もっと熱伝導率が良いと思っていたのですが、意外です。

■検査の結果■

ガラスエポキシ基板の方は1箇所だけ浮き気味でした。ハンダクリームが少なかったのだと思います。導通は問題ないのですが、放熱ピンなので手ハンダで修正しました。

一方、アルミ基板については、その経験を受けて少し多めに乗せたので、問題ありません。盛りすぎたような気もしますがw LEDの電極と基板のパターンがずれないか心配だったのですが、表面張力補正が効いたのか問題ありませんでした。

■今後■

こうやってみると、やっぱりホットプレートは熱慣性が大きくて温度制御が大変です。

ただし「できるだけお金をかけないで、最低限の加工ができるラインを見極める」というのが当初の目的でした。特にステンシルが必須なのかどうかと、消費期限が一ヶ月しか無いサンハヤトのハンダクリームでなければダメなのかを確認したかったのですが、今回これら2点がクリアできました。

現状の「基本1品もので表面実装する部品もせいぜい数個」という状態ならば、ステンシルなしでハンダ付けと同等の作業時間で処理できます。

そんなわけで…次に買うとしたらリフロー炉かなぁ。

オーブントースター改造? 私、金属加工が苦手なんです。

ではでは。

2014年10月21日火曜日

Elecrowからプリント基板が届いた!


9月末に発注したけどガーバーデータに誤りがあったので、一度ストップ。そしたら中国の祝日に引っかかってしまって発送は10月8日。14日に日本に届いて、今日配達されました(遅いな、日本国内)。
包装は外から紙、プチプチ、シュリンク包装

ところどころパターンが無駄に曲がっているのは私がEagleで手を抜いたせい。ベタアース作らなかったので妙にすっきりしてる^ ^;

ハンダメッキも美しいw

それにしても画面上に実寸大で表示したよりもでかく感じるなぁ。わかっちゃいるけど、LPC1114FN28でけえw



さぁ週末が楽しみだ。

それにしても10枚頼んで約2000円。ヘタすると秋月のユニバーサル基板より安いw …とか書いてしまったけど、一桁違うな。すいません、ハイになりすぎましたm(_ _)m

Play! + Scala + Eclipseで落とし穴

お久しぶりでございます。

私自身初心者なのですが、会社でPlay! + Scalaの入門教材を作っております。そしたら見事に自分が落とし穴に落ちました。

Actionでよく出てくるこれ:

    Ok(views.index.html("Message")) {}

今までエディタを使ってましたが、「なるべくハードルを低くしよう」とEclipse+Pluginで試していたら…「views.indexにhtmlなんてねえよ」というエラーが消えない。いろいろインポートしたりしても消えない。頭を抱えつつStack Overflowで検索してみたら。

「Eclipseの間違いだから、気にすんな」とのこと。

ブラウザをリフレッシュしたら、動いたです。

これで小一時間潰したのは残念すぎるorz

あ、あと、コマンドがplayじゃなくてactivatorになったんですね。playのダウンロードページをクリックしたつもりが変なところに飛ぶので何が起こったのかと思いました。はい。

2014年9月20日土曜日

Beaglebone Black Rev.CをMacOS Xでリカバリ


■うっかり■

SDカード上にubuntuを入れていじってみよう、と思ったら間違えてeMMC Flasherを選んでしまったために、今までBeaglebone上で作っていたものが全部消えてしまいました。

まぁ大したものは入っていなかったのですが、初めてnode.jsで書いた「7セグメントLED時計(ちらつきまくり)」のソースなども消えてしまったので、ちょっと悲しい。

ということでリカバリーまでの約2日間のドタバタを記録しておきます。

■その前にうまく行った方法を■

ウダウダと試行錯誤を書いて、最後に「これでうまく行きました」というのは不便なので、最初に出荷当時の状態に戻す方法を書いて起きます。

-Latest Firmware Imagesを落とす。
ここから。http://beagleboard.org/latest-images
BeagleBone Black (eMMC flasher)
Debian (BeagleBone Black - 2GB eMMC) 2014-05-14
※日付などは変わっている可能性もありますが、eMMC flasherの下のDebian BBB用をダウンロードします。時間帯によってはダウンロードに2時間かかったりするので、お出かけ前などにどうぞ。ダウンロードしたら解凍しますが、xzコマンドは標準では入っていないし、面倒なのでThe Unarchiverを使います。

-SDカードに焼く
イメージをSDカードに焼くにはPi Fillerがよく使われるのですが、上のimageはPi Fillerではダメでした(焼くことはできても、BBBに入れてUser Boot起動できない)。

なのでコマンドラインで焼きます。ターミナル.appを起動しSDをセットして
diskutil list
▶これでSDのドライブ名が出てきます。つながってるドライブ全部出てきますが、容量などを参考に判断してください。うちは /dev/disk4 でした。もしマウントされている場合には以下のコマンドでunmoutします。
sudo diskutil unmountDisk /dev/disk4
▶Unmount of all volumes on disk4 was successfulと表示が出ればOKです。では、焼きます。
sudo dd if=BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img of=/dev/disk4
▶時計見ていなかったのですが30-60分くらいで終わります。ActiviyMonitorでディスク読み書きを表示させておくと、終わればI/Oが急に落ちるのでわかりやすいですw

-eMMCへのインストール
では、micro SDを取り出してshutdownして通電していないBBBにセットし、user bootスイッチを押したままUSBや電源アダプタを接続します。しばらく押したままにして、Ether近くのLEDが「ナイトライダー状態」(光の点滅が左右に走る)になったらスイッチを離します。

あとはそのまま放置で、朝起きたら電源が落ちて終わっていました。micro SDを抜いてから電源を入れなおすとちゃんと立ち上がりました。

ログインは ssh root@192.168.7.2 です。

■追記:2015-05-09■

内蔵eMMCではなくSDカードにインストールした場合(Flasherでないimageを使います)、以下のコマンドで空きパーティションの容量を使うことができるようになります。
cd /opt/scripts/tools
git pull
./grow_partition.sh
sudo reboot

■設定など■

出荷時と少し変わっているのか、dateで見ると日付設定されていました。買った時には電源入れるたびに設定しなおしが必要だったのですがw もし設定されてない場合は
ntpdate -b -s -u pool.ntp.org
以下のページを参考にしました。なお、ここはBBBに関する宝の山なので、ブックマークしておきましょう:-)
http://derekmolloy.ie/automatically-setting-the-beaglebone-black-time-using-ntp/

あとはいろいろ細かい設定ですが、私はとりあえずheartbeatがウザいので消します。
echo none > /sys/class/leds/beaglebone:green:usr0/trigger
アップデートとアップグレード
apt-get update
apt-get upgrade
ロケール設定、以下のコマンドからAsia/Tokyoを選んでください。
dpkg-reconfigure tzdata
などなど。

Cloud9も http://192.168.7.2:3000/ でちゃんと見えます。良かった良かった。

■ubuntu+cloud9失敗の記■

注意:以下の操作をすると eMMC(内蔵flash)の中身がきれいサッパリ消えます。その点、理解した上で、試してみてください。

-imageのダウンロード
これを使いました。

https://rcn-ee.net/deb/flasher/trusty/BBB-eMMC-flasher-ubuntu-14.04-console-armhf-2014-07-06-2gb.img.xz
例によってThe Unarchiverでxz形式を解凍し、img形式とします。

-SDカードへ
前記と同様の手順でSDカードに焼きます。

-BBBにインストール
前記と同じ手順です。BBBの電源を落としてからSDカードをセットし、user bootスイッチを押しながら電源を入れ、光が左右に流れたらスイッチを離ししばらく放置します。点滅が終わったら、インストール完了です。SD抜いて電源を入れ直します。id=ubuntu, pw=temppwdでログインできます。macのターミナルからだと
ssh ubuntu@192.168.7.2

-うざいHeartbeatが消えない
ubuntuでは
echo none > /sys/class/leds/beaglebone:green:usr0/trigger
とやっても消えません。以下のコマンドでどぞ。
echo none | sudo tee /sys/class/leds/beaglebone\:green\:usr0/trigger 
あとはlocaleの設定やupdate/upgradeなどのお約束。

ここまでは問題ありません。

-Cloud9が起動しない
この辺を参考にして、Python, Node.js, Cloud9をインストールしたのですが、IDEは起動できても実行できなかったりCloud9が落ちたりでダメでした。

・PythonとNode.jsのインストール
apt-get install python
apt-get install build-essential

・Cloud9のインストールと起動
git clone https://github.com/ajaxorg/cloud9.git
cd cloud9
npm install
bin/cloud9.sh -l 0.0.0.0
とりあえずCloud9を動かすのが目的というわけではないので、今回はこれ異常の追求はできません…いつかまた…。

2014年9月18日木曜日

iCloudからGoogle Docsへスプレッドシートを移す(ローテク編)

部品在庫リストw

iCloud上にあるスプレッドシートを開こうとしたら、「iCloudDrive.comへアップグレードしろ。アップグレードするとYosemiteかiOS8じゃないと使えなくなるけどなww」ってお知らせが来ていました。Webは使えますが。

私は自他ともに認める林檎依存症ですが、アップルのこういうところは大嫌い。

というわけで、まだそれほど数も多くないので、さっさとGoogle Docsへ戻ることにしましたが…Web版のNumbersからだとNumbers形式でしかダウンロードできないようで、Google Docsでは読み込めません。

慌てず騒がず

  1. Numbers上の表をコピーする
  2. Google DocsのSpread Sheet上にペーストする
で、移し替えました。数式も書式もコピーされないですが、私はデータ入力用としてしか使っていなかったので問題ありません。

2014年9月17日水曜日

HRM1017でANCS


HRM1017、買った後でGPIOの電流容量が0.5mAしかないと知り、さてどう使ったものか…と考えたままと止まってましたが、使わないのはもっと勿体無いので、とりあえずサンプル動かしたみました。

参考にしたというか丸っきり書いてあることをなぞったのは以下のページ。


ここのページのサンプル「ANCS」を試します。

MacとHRM1017をmini USBで接続し、「BLE_ANCS_SDAPI_IRC」のところにある「import program」をクリックし、mbedのオンラインIDEにインポートします。その際にdeviceとしてNordic nRF51822を選びます。HRM1017も使用可能になっているのですが、このサンプルではdevice.hが見つからない、と言われます。

あとは、サンプルに書いてある通り。iPhoneに着信するとターミナルにメッセージがバラバラ…っと出てきます。めでたしめでたし。

なお、MacでUSBシリアルと通信するには、ターミナル.appを起動し
screen /dev/tty.usbmodem***** 9600
とタイプします。*****のところには5桁ぐらいの数字が入ります。その数字を見つけるには、まずHRM1017を接続していない状態で ls /dev/tty.usb* で一覧表示し、次に接続してからもう一度同じコマンドを繰り返します(カーソルキー上向き↑、returnで繰り返せます)。そこで、接続前と違うポートが出てきたら、それがアナタのHRM1017。

…通常は1つしか出ないですよね。うちはArduinoデジタル時計その他をつないだままなので、バラバラ出てくるのですw

ではでは。

2014年9月16日火曜日

ホームリフロー:放射温度計を使って2回目の挑戦

というわけで、ホームリフローに再挑戦。

前回は、安ホットプレートの温度目盛を信用したら予熱で基板が溶けるという恐ろしい事態に至りました。

6月1日。焦げというか焼死体

で、放射温度計を注文したのですが、いろいろあって入手できたのが8月。でも糞暑い中ベランダで作業するのはイヤなので、ようやく今日になって2回目と相成った次第です。

試すのは、基板もチップもわりと在庫が潤沢で価格も安いNJM11100基板。今度は1608のチップコンデンサも付けます。

作業を始める前に、冷蔵庫からクリームハンダを取り出して常温に戻します。待っている間にホットプレートに何もおかないでスイッチを入れ、どんな感じで温度が上がるか放射温度計を使って様子を見ます。すると160度でも場所によっては軽く250度を越えていく始末。そりゃ焦げるわ。しばらくスイッチを入れたり切ったりして上昇具合を確かめますが、かなり遅れがあり場所による温度差も大きいので、人間インバータとなってこまめにon/offを繰り返さないと温度プロファイルを守るのは難しそうです。ふと「電子立国日本の自叙伝」でゲルマニウム結晶を作るエピソードを思い出しました。

で、基板にハンダを塗ろうとするのですが…何だか前回よりも乾いて固くなっていて、前回よりも更に塗りにくくなっています。もう寿命なんだろうか…。でも、とりあえずICの足に絡めるように塗って、チップコンデンサについてはピンセットで挟むようにして何とか塗りました。明らかに多すぎですが、まぁ試してみるさ。

で、冷めたホットプレートの上に基板を乗せます。


スイッチを入れ、まず130度までそのまま放置、あとはこまめにon/offしながら基板周辺が150度になるよう調整します。

…150度になるとフラックスが溶け始める、とのことですが全然その気配がありませんorz

ので、またスイッチをon/offしながらゆっくり温度をあげていくと、200度を越えたあたりでハンダが光り始めました。220度を越えたところでスイッチを切ると22秒で245度まであがり、そこからブロワで風を送って冷やしたのですが、なかなか温度は下がらず結局1分以上220度を越えてしまいました。大丈夫だろうか。

で、出来上がりがこちら。



はい、コンデンサは見事にイモハンダ、ICは見事に不均衡で見事にブリッジしてますorz

というわけで、リフローに塗り過ぎはいかんという当然の教訓を得て二回目を終えました。後はハンダゴテで直します。直すのに結構苦労しました…そんなら最初からハンダ付けすりゃいいんじゃね?は禁句ですorz



…拡大してみるとコンデンサのイモハンダが直ってないorz

…とりあえず当面のテーマである「あまりお金をかけずにホームリフローを試してみる」という目的は達成できた、ということにします。ホットプレート+クリームハンダ+放射温度計で5-6千円でした。

ということで、次はサンハヤトのキット(接着剤とクリーム半田、それぞれが注射器に入っているヤツ)を試します。どこか店頭で買えれば良いんだけど通販のみ、しかも消費期限が1ヶ月しかないので、なかなかタイミングが難しいです。