Recent Photos from Atelier (Flickr)

作業場で撮影した写真をアップロードしています。記事にする前の試作なども公開中です。

2016年6月4日

秋月で買える電子部品でリスト作成して色々できるサービスを作った

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

大きな地震があったりでバタバタしてたら4月5月と過ぎて6月になっていました...
というわけで2か月ぶりのブログ更新。

タイトル通り、秋月電子通商で扱っている電子パーツでパーツリストを作成、公開、共有、そして秋月の買い物かごに一括して放り込めるWebサービスを作りました。

その名も AkiCart
http://aki.prioris.jp/
(ちょっとダサいネーミングだったかも)

そう、秋月通販をよく使っている人は知っている... 秋月の買い物かごはセッション切れで放置してるとすぐに消えることを...

そこで、このサービスでは秋月で扱っている商品をリストに登録して保存し、リストのページにある「まとめてカートに入れる」ボタンを押すことで、いつでも秋月の買い物かごに商品をまとめて登録できるようにしました。


Twitterでログインすると、ダッシュボードが登場、ここから新しいパーツリストを作成できます。
作成するパーツリストは、アクセスレベルが公開(Public)、限定公開(Unlisted)、非公開(Private)の3種類から選択可能。
公開を選ぶとAkiCartのトップページにリストされる(こともある)ようになり、限定公開を選ぶとリンクを知っている人だけが閲覧可能なリストになり、非公開は文字通り自分しか見れないリストができます。


商品の追加はリストの画面からもできるのですが...
AkiCartの一番の特徴は、超超超便利なブックマークレット。
秋月の商品画面でブックマークレットをクリックすると、一発で作成したリストに追加できます。


ブックマークレットをブラウザに追加しておくと、秋月のページでクリック→個数の変更がない場合はそのままEnterを押すだけでドンドン追加できます。
AkiCartのブックマークを押して登録完了するまで最短2秒くらい。


作ったリストは一括して買い物かごに入れるだけでなく、CSV形式でダウンロードしたり、印刷専用のレイアウトで印刷することもできます。
高専とか大学とかで、事務の人に「これ買ってください」って渡すのも楽チンですね。

〜ここからはちょっとだけ技術的な話〜

今までは、買いたい商品のページをブラウザでブックマークしておいて、買うときに一挙に開いてカートに追加するという作業で購入していました。
流石にこれどうにかならんのか?というのと、何やら秋月の一括通販コード入力画面はリファラをチェックしてないから別サイトからPOSTできるという話を聞きまして...


一括通販コード入力画面からの遷移を見てみると、いつものカート画面(cart.aspx)に対して quick: True を指定して、あとはclass1_xに通販コードのハイフンの左側の英字1文字、goodsにハイフン右側の数字5文字、そしてqtyに数量を入れて、これを繰り返したものをPOSTしてあげればカートに入ることが分かりました。
そしてやはりリファラをチェックしてないので、このページ以外からPOSTしても普通にカートに入ることも確認。
これらを元にして、AkiCartができた...という訳です。
ちなみに、AkiCartの任意のリストページのソースを見ると、まとめてカートに入れるボタンの近くにtype="hidden"でいっぱいinputが転がってますw

バックエンドはEVI(地震火山詳報)でも使っているDjango(Python)です。
ここ数ヶ月触ってなかったので結構忘れてて、調べながらコード書いてたので時間が掛かりました...
6/3のAM2時頃に作り始めて、途中寝たり飯食ったりした時間を抜くと15時間くらいかな...?
バグとかセキュリティ的なアレを発見したら、Twitterでリプライ頂けると非常にありがたいです。

早速要望として、リスト間で商品を移動できるようにしたいとか、リストをブログなどに埋め込めるようにしたい、という意見が出ているので、ぼちぼちアップデートしていきたいと思います。

これとは別件で、そこそこ実用的かつ面白いものづくりのプロジェクトも進んでいるので、また報告できるタイミングになったらブログなどなどに書きたいと思います。

追記 : ブログパーツ(埋め込み用コード)できました。


公開もしくは限定公開のリストであれば、リストページの右サイドバー下に「埋め込みコード」の欄があるので、これをコピーして貼り付ければOK!

2016年3月18日

DMM 3Dプリントを試してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

3Dプリンタ、便利ですよね。
サクッと3Dモデルを現実に出来るのは素敵... なんだけど、数万円程度の3Dプリンタでは精度が出ない... ということで前々から試してみたかったDMM 3Dプリントを使ってみました。

今回注文したのは以下のようなモデル。


うちの3Dプリンタでは出せなかったポイントは...


直径1.5mmのピンが2.54mm間隔で並んでいるところ。
0.02mm余裕を持って直径1.52mmで開けてます。

ちなみに、発注時は同じものを8個並べて注文。
お値段は...

ナイロン 4,251円
ナイロン カラー 4,338円
アクリル(Ultra Mode) 12,381円
アクリル(Ultra Mode) カラー 12,489円
アクリル(Xtreme Mode) 19,340円

ちなみに、8個のデータを投げる前に6個のデータを投げたのですが

ナイロン 3,555円
ナイロン カラー 3,641円
アクリル(Ultra Mode) 9,771円
アクリル(Ultra Mode) カラー 9,879円
アクリル(Xtreme Mode) 14,991円

みたいな価格でした。

ナイロンだと、8個の場合 531.375円/個、6個の場合 592.5円/個
アクリル(Ultra Mode)だと、8個の場合 1547.625円/個、6個の場合 1628.5/個

というわけで、今回はナイロンを選択。

stlで書き出したものをDMM 3Dプリントに注文したのが3/8の16時くらい、造形開始が3/9、発送が3/15、到着が3/17でした。


運送会社は佐川急便、梱包は以下のような感じ。


全体の写真は記事の一番上に貼りましたが、アップで見ると以下。


うちの3Dプリンタ(ダヴィンチ1.0 Jr)で出力したものと比較 (寸法が違うけど穴のサイズは同じ)


ダヴィンチJrだと1.52mmの穴が潰れたり大きさが揃ってなかったりするのが、DMM 3Dプリントで作ったものは綺麗に空いています。

で、これで何をするのかというと... この2つを組み合わせます。


ポゴピン(オス/メス)とネオジム磁石。


ポゴピンは、先端がバネになっているもの&先端が受け皿になっているもので1組。

ネオジム磁石も取り付けると...


こうなります。


そして、最終的にはこんな感じで、littleBits的な何かになる訳です。



写真右端のブロック以外はダミーなのでハンダ付けしてません。 (もう少し暇になったら作り込みたい...)
これについては、また改めて記事を書こうと思います。

P.S. スマートミラーのソフトもぼちぼち進めてます... (ソフト編の記事はまだかと言われたので...)

2016年3月1日

オーブントースターでおうちリフローする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

格安でプリント基板を製造してくれる中国・深セン発のサービス、超便利ですよね。
最近はElecrowを良く使うのですが、レジスト色が緑以外も無料で選べて、シルク印刷はめっちゃ綺麗で、しかも割と早く作ってくれるので最高です。

ところで、プリント基板といえばやはりSMD(表面実装部品)を使いたくなる、というかSMDを使いたいがためにプリント基板を作るという感じですが、ここで問題となるのが「どうやって付けるか」な訳です。
1, 2枚程度なら1個ずつ手ハンダで付けていっても「時間かかるなぁ」くらいのもんですが、大体のプリント基板製造サービスは10枚単位とかなので全部手ハンダで付けようとなると結構大変。
という訳で、市販のオーブントースターで一気にSMDをハンダ付けしちゃおうという話です。

既に色々なブログでやり方は取り上げられていると思うので、ここでは実際にやった準備や工夫、できあがった物、ネットに転がってない情報などをまとめておきます。

やったことの大雑把な手順は
1. スイッチサイエンスのリフローキットを組み立てる
2. オーブントースターにリフローキットを取り付ける
3. スイッチサイエンス謹製のULPでEagleからDXFを生成
4. Silhouette Studio 3でDXFを読み込む
5. silhouette CAMEO 2でポリプロピレン合成紙をカット
6. 基板にステンシルを乗せるための固定具を作る
7. 基板にペーストはんだを塗布
8. 部品を載せる(チップマウント)
9. 焼く(リフロー)
10. 完成
という感じなので、今回はこの手順をそのまま章とします。


1. スイッチサイエンスのリフローキットを組み立てる


オーブントースターでリフローするにも、パンを焼くように適当な時間入れておく訳にはいかないので庫内の温度を適度に調節するコントローラーが必要。
この辺も自作するのは然程難しくないのですが、既に誰かが作ってて売ってるなら買った方が早いということで今回はスイッチサイエンスさんが売っているものを買って組み立てます。

リフロートースターコントローラーキット - スイッチサイエンス

これにはSSRが付いてないので、別途秋月でSSRを2個(上,下ヒーター用)買います。

大容量ソリッドステートリレー(SSR)24V~380VAC 40A (SSR-40DA) - 秋月電子通商

組立手順はスイッチサイエンスさんのTracに載っているので、このまんまです。

「Dual_SSR_Solder_Toaster_Controller_Platform」の作り方

ここで完成したコントローラーにSSRをつけて問題となるのが、SSR-40DAが3.3Vでは動作不安定ということ。
安定化させるために、2SC1815を使って3.3Vから5Vにレベル変換するものを作りました。


箱は秋月で売ってるLCD用穴開きプラケースが丁度いい感じだったので、コネクタや電源の穴、ボタン用の穴などをフライスで開けて収めてみました。

プラスチックケース SW-125S(LCD) - 秋月電子通商

2個のSSRに繋がっている小さい箱がレベル変換機。(ケースはタカチのSW-50S)

2. オーブントースターにリフローキットを取り付ける



これもスイッチサイエンスさんのブログに載っている通りに取り付けました。

オーブントースターをリフローオーブン化してみた | スイッチサイエンス マガジン

使用したオーブントースターは、パナソニック製のNT-T500というもの。
スイッチサイエンスさんで使っているNT-W50の後継機種なので、改造位置は全く同じ。

パナソニック オーブントースター ダークメタリック NT-T500-K - Amazon.co.jp

配線は古いオーブントースター(以前破棄したもの)から取り出した耐熱ケーブルを使用。
田舎のその辺に売ってるようなものではないので、普通に買うならちょっと面倒そう。

3. スイッチサイエンス謹製のULPでEagleからDXFを生成


これもスイッチサイエンスさんのTracにある情報&スクリプト(ULP)を使います。

EAGLEで作った基板のハンダマスクをCraft ROBOで作る

スクリプトをulpフォルダに投げ込んでEagle上で実行すれば、プロジェクトのあるフォルダにdxfファイルが吐き出されます。

今回はESP-WROOM-02の載った基板を作るので、以下のEagle部品ライブラリを使わせてもらったのですが...

ESP-WROOM-02のEagle用ライブラリ

これのパッドの属性がCreamになってないので、普通にDXFを吐き出したらカットしたい部分が出力されない...というわけでライブラリを書き換えて使いました。


部品のPackage上で右クリックしてOpen in Library


ペーストはんだで付けたい足を選択して、CreamのチェックボックスをONにすればOK.
あとはプロジェトを開いてLibraryからUpdateをすれば既存のプロジェクトでも反映されます。

4. Silhouette Studio 3でDXFを読み込む


今回は、シルエットカメオ2というカッティングマシーンでステンシルを作ります。

グラフテック 小型カッティングマシン silhouette CAMEO 2 - Amazon.co.jp

これにSilhouette Studio 3というソフトが付属しているので、これでDXFを読み込んでカットする訳ですが、ちょっと調整が必要。

まず、環境設定を開き、DXFの読み込み設定で「中央」を選択。
これで実寸サイズでDXFを読み込んでくれるので、テスト出力してサイズ調整などは全く必要なくなります。


次に、ポリプロピレン合成紙用のプロファイルを作って設定します。
右上のバーからカット設定(右から2番目)を選び、以下の赤枠のようにしました。


これでスイッチサイエンスさんで扱っているポリプロピレン合成紙をうまくカット可能。

ポリプロピレン合成紙A4版150μm厚5枚セット(クリームハンダステンシル用) - スイッチサイエンス

5. silhouette CAMEO 2でポリプロピレン合成紙をカット


ポリプロピレン合成紙をカッティング台紙の粘着面に貼ってカットするのですが、この台紙の粘着面は新品だと粘着力が強すぎて、剥がせない...ので何度か布などを貼り付けて十二分に粘着力を落としてから貼り付けます。
ポリプロピレン合成紙は意外とピッタリ貼りつくので、剥がす時に曲げてしまうと特性上カールしたりストライプ状の跡が残ってしまう...
そこで、手で触った感じで「これくらいの粘着力なら剥がれるだろう」と思ったところから更に粘着力を落とし、試しに角の方を貼って簡単に剥げることを確認してから貼るとOK.


貼って、台紙をセットしたら、Silhouette Studio 3からカット開始。


カットできたら、いらない部分にセロハンテープなどを貼って除去する。

6. 基板にステンシルを乗せるための固定具を作る


ステンシルを基板の上に置いてペーストはんだを塗るわけですが、ただ置いただけだとポリプロピレン合成紙がたわんだりして基板との隙間にペーストはんだが入り込んでしまう。
そこで、木の板とビニールマットで固定具を作り、それにステンシルの位置を合わせて一辺をテープで固定しました。
この辺りはもっと簡単にできる方法はあるはず... (基板の厚みと同じ板を基板の形にくり抜くだけでも随分違うはず)


7. 基板にペーストはんだを塗布


使ったペーストはんだはaitendoで扱っているもの。(今は在庫切れ)

ソルダペーストはんだ[XG-50] - aitendo

これ、かなり粘り気があるので塗るのが難しい。
ホームセンターで買ったプラスチックのヘラで均一に伸ばそうとしても、塗れてないところが出てくる→もう一度塗る→厚くなる→狭ピッチ部分がブリッジする...となる訳です。


この辺は何度かやりながらコツを掴むしかなさそう。

8. 部品を載せる(チップマウント)


ここがおそらく最難関。
部品を順番に載せていると徐々にハンダの粘りがなくなってくる(乾燥する?)ので、ピッチの細かい部品、今回だとヒロセのMicro USBコネクタ、SSOPのFT231XSから先に配置。


ちょっとパッドの部分からハンダが出ていても、温めると部品の足に付くので大丈夫。
ただ、あまりに多いと狭ピッチ部分でブリッジする原因なので、この辺りは何度かやってみて量のコツを掴む必要あり。

9. 焼く(リフロー)


焼くときは匂いがすごいので、家の外でやりました。
家の中でやるなら換気の仕組みをキッチリ作るべきでしょう。


上の写真では4枚を一気に焼いてますが、これ以前に何枚か焼いて調節などをしています。
あんまり熱すぎると基板の材料まで焼けちゃうこともあるので、この辺も試しながらベストな焼き加減になる温度、時間を探る必要あり。

10. 完成


焼きあがったら、部品がズレたり、ブリッジしてるところがないかチェック。
今回は4枚のうち2枚でSSOPの足がブリッジ、Micro USBの足がブリッジしてたので、無洗浄フラックスを塗ってコテを当てて修正しました。


焼きあがった基板のうち1枚をアップしたものが以下の写真。


キレイに付きました。

プッシュスイッチの頭と白シルク印刷が若干きつね色になってしまったので、次回はアルミ箔などでヒーターの光が直接当たらないようにしてみようかと考え中。

感想


リフローできるようになったおかげで、1枚作るのに手ハンダで45分くらい掛かってたのが、15〜30分くらいで部品を載せる&5分焼くような感じになりました。

確かに時間短縮されたんだけど、ハッキリ言って...

チップマウンタが欲しい!!!

以上です。

2016年2月12日

スマートミラーを作ってみた(ハードウェア編)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

どうも、トイレハックの人です。
なんか最近そういう風に言われることが多いのですが、non技術者からは「トイレで苦しんでるの?」って言われるので困ってます。

そういえば、2/19(金)のデブサミ2016RESTfulトイレについてLTすることになりましたので、興味のある方は是非お越しください。(スマートミラーも持って行こうか考え中。)

さて、本題ですが... つい最近、こんな記事を見てしまいまして...

Google社員が自作した「スマート鏡」はスマホの通知センターのように時刻・天気・ニュースを表示 - GIGAZINE
http://gigazine.net/news/20160203-smart-bathroom-mirror/

しばし意識を失ったのち気がついたら、手元に市販の額縁と秋月電子通商で売ってるSHARP製IGZO液晶が届いていました。




IGZO液晶、7インチに1920x1200という高解像度で、めちゃくちゃ薄くて明るいのに2Wくらいしか電気食わない省エネ仕様で素晴らしいですね。


桜島の黒神から撮った星景写真が綺麗に表示されたので感動しました。

本題に戻りまして、これらを使ってスマートミラーを作ることにしましょう。
額の裏ぶたを外して、液晶パネルと基板をつなぐフレキが通るスペースを作っていきます。
鉛筆で穴あけの位置を書いたらフライスでサクッと。


フレキを通したら、液晶を裏ぶたに両面テープで貼り付けます。
ちなみに、失敗したら剥がせない(液晶が割れる)ので細心の注意を払って位置合わせする必要あり。
フレキを通した穴は黒色のmtで塞いでおきます。


一旦動作テスト。


うまくいったので、液晶部分の周りに厚紙(液晶の厚みの分だけある)を切り抜いて貼って、その上に黒い画用紙を貼り付け。
液晶と厚紙の隙間には黒のmtを上から貼って横からの光漏れを完全にシャットアウトします。
フレキの反対側サイドからの光漏れが激しかったので、ここにはmtを2重に貼りました。


液晶周りが完成したら、IGZO液晶駆動基板とRaspberry Pi B 2を裏ぶたに固定します。
プラナットをアロンアルファーで止めて、プラネジで止めました。
(もうちょっとちゃんとした固定方法をとった方がいいかも)


最後に、額についてたガラスをマジックミラーに変えます。
マジックミラーは大阪吹田市の株式会社コーワさんに発注。
https://sv166.xserver.jp/~kowa-j/magicmirror.htm

額に元々入っていたガラスの寸法を測って、厚み3mm、角磨き上げ、縦210mm、横297mmで作ってもらいました。
お値段3564円 + 梱包送料864円 = 計4428円
注文日は2/7、2/10に発送されて、届いたのは2/12です。

マジックミラー、裏ぶたをセットして起動!
※写真写り上あまり反射してないように見えますが、実際は普通の鏡くらい綺麗に反射してます。(たぶん部屋が暗いせい)



と、いうわけでハードウェアは完成です。
これから、ここに表示するためのソフトウェアを作っていかなければ...

冒頭の記事で紹介されているGoogle社員作のミラーは白文字で天気や予定などの情報を表示しているので、まずはそんな感じのものを作ろうかと。

Raspberry Pi 2 Bというちょっと強力なやつを載せてるので、カメラ繋いで顔認識させて鏡に映った顔にオーバーレイするようなプログラムとか、なんか色々夢が広がりそうだなぁ...と思っているところです。
ソフトウェア編の記事も後ほど書く予定です。