2018年12月22日土曜日

久しぶりにSwift:サイズの違うUnsafeMutablePointer間の変換(自信なし)

いやー…相変わらずDeprecatedの嵐ですわー。フィックスしますか?って聞いてくれなくていいから自動的に直せやコラ、とついガラが悪くなる今日このごろです。

えーと、MP3への変換をしようとして、lameは16bitだけどoutput streamは8bit、両方ともUnsafeMutablePointerなんだけどサイズが違ったら変換できないよ、って言われて散々苦労したんですが…これでとりあえずビルド通りました。デバッガで見るとpcmBufferとpcmU8Bufferには同じアドレスが入っているのでC言語の慣行的にはOK、ですかね。

let pcmBuffer = UnsafeMutablePointer<Int16>.allocate(capacity: Int(PCM_LENGTH))
let temp = UnsafeMutableRawPointer(pcmBuffer)
let pcmU8Buffer = temp.bindMemory(to: UInt8.self, capacity: PCM_LENGTH*2)

2時間ぐらい試行錯誤してましたわ…。

ググっても見つからなかったので貼っておきます。もっと簡単な方法があればご教示いただければ幸いです。コメント欄、スパム対策の承認制ですので、書き込んでもすぐには表示されません。ご注意くださいませ。

2018年12月2日日曜日

ランダムサンダーでやかん磨きました

羊毛+ピカール約12分

ランダムサンダーでやかん磨いてみました。使用前がこちらです。炒め物の油がはねてそのまま使うから焦げるんですよね…ってか汚いにも限度というものが。


中性洗剤で洗ったあと(ほとんど落ちないw)、#400ジスクペーパー(ジスク=ディスクなんだろうなぁ)で全体を磨いたあとがこちらです(約10分)。焦げは落ちていますが、研磨傷ヒドい。


ペーパーの後、本来はフェルト+研磨剤で磨くんですが注文ミスでハンドグラインダー用のフェルトを買ってしまいまして、他には手元に羊毛しかなかったので少し時間かかりました。約1/3を磨いて12分程度。それがトップの写真です。磨いていないところとの境界の写真を取りました。

なんで1/3しかやらないのかというと…重いってか重量もあるんですがジャイロ効果で手首が拗じられるので、普段キーボードより重いものを持ち上げない身(持ち上げません)にはとてもしんどくて、5分に1回休んでも指先がプルプル震えます。これ業務で長時間使う人って鉄人やな。あと、昔なつかしいトレーニング器具のダイナビーを思い出しました。

使ったのはマキタ(makita) ランダムオービットサンダ BO5030というタイプ。同様のボッシュのやつは壊れやすくトルクない、というレビューだったのでこれにしたんですが…これも意外とトルクがなくて羊毛押し付けると止まってしまいます。ただ、当てているつもりの場所と離れたところが鏡面になっていたりで使いこなせていないようです。

あと、細かいところはやっぱり無理で、取手の付け根のような場所はミニルーターにフェルトつけて磨かないとあかんかな、って感じです。

フェルトと研磨剤(茶・白・青棒というやつ)を買って、またそのうちに。

2018年11月29日木曜日

リフロー炉導入

いい仕上がりです。

■購入まで■

私淑する先輩がリフロー炉とステンシルプリンターは必需品とおっしゃったので、Aliexpressを物色。すると、定番リフロー炉T962の後継機種としてLY-962Aというのが出ていました。T962は赤外線加熱のみでしたが、LY-962Aは赤外線+熱風式。これまで私が使っていたホットプレートは手軽ですが均一に加熱されないのが悩みのタネでしたので、即購入しました。送料込みで$328.21です。

ステンシルプリンターは、ピンで基板の位置を自在に変えられるちょっと良いやつを買いました。送料込$421.98。

どちらも発注日は11月12日です。

■ちょっと紆余曲折■

ステンシルプリンターは11月21日に届きました。

でかい

サラリーマン業が忙しくて開封したのは28日なのですが…見事に破損していました。かなり重い機械なのですが、高いところから落としたようで、箱の一辺が潰れ、その中にある調節つまみがひん曲がり、アルミ製の分厚い定盤も曲がっていました。



Aliexpressに連絡を取ったのですが、業者は「配送業者FedExに連絡しろ」とのこと。で、FedExに連絡を入れたところ、折返しメールでクレームを出してくれと言われて、担当者と何度かやりとりをして提出しました。返金されるかどうかは7-10日ほどで通知されるそうです。どうなることやら…。

【追記】FedExに画像などを送ってクレームを入れたところ、運送中の破損だと認定され全額損害賠償されることになりました。クレームを入れてから10日で決裁されたと連絡があり、その1週間ほど後に入金されました。AliExpressへのdisputeは、一度却下されたのですが、破損状況を説明する怒りの動画を送って再審査を求めたところ、再度裁定の判断になり、業者側で対応を検討するステータスになりました。業者からは、「こうすれば治る」という説明は来るのですが、破損した部品を交換するとお金がかかるからFedExと交渉してくれ、の一点張りでした。結果的にFedExが認めたから良かったものの…。【追記終わり】

リフロー炉は11月23日に届きました。特に問題はないです。

でかい^2

■テスト運転■

こっちもでかくて重いです。作業場所がないので、とりあえずキャンプ用テーブルを引っ張り出して、その上で動作テストをしました。


スイッチのパネルが割れているというような些細なことはどうでもいいのです。


リフロー炉のテストです。110V仕様を100Vで使っているせいか150度から上の昇温が0.5度/秒って感じでとても遅い。220度まで2分ちょい。冷却も遅いので、150度以上に5分程度とどまってしまっています。



T962はそのままではまともに動かないので制御プログラムを入れ替えて使っている方が多いとのことですが、これは少しオーバーシュートしますが一応制御はまともに動いており、特に改造しなくても使えそうです。



遅大きな基板で試してみても端から端までのフラックスの流れ方が均一なので、ホットプレートで一部240度、反対側はまだ溶けてない…なんていうのより遥かに品質は良いはず。

■実践:ステンシルでスキージング■

前記の通りステンシルプリンタが破損していたので、手動でスキージングしました。

カッティングマットの裏側に捨て基板をマスキングテープで止めてから、実基板を固定し、ステンシルの位置を合わせてマスキングテープで止めます。



スキージングには漫画喫茶の会員証を使いましたw テレホンカードが良かったんですが、さすがに在庫が尽きました。一部で0.2mmほどズレましたけど、ユニクラフト製の基板はきっちりレジストが塗られているので大丈夫…と思います。



で、手で…というかピンセットで部品をマウントしました。ほとんどのパーツはルーペをみながら、0.4mmピッチコネクタだけはUSB顕微鏡を見ながらマウントしました。

■リフローとその結果■

付属の排気ダクトを装置裏の排気口につないで換気扇の下まで伸ばし、リフロー炉に基板を入れて、プロファイル1を選択してリフロー開始(予熱100度1分、プリヒート160度30秒、リフロー220度5秒、ホールド5秒(温度不明)、冷却)。室温から約10分で冷却まで終わります。

当たり前ですが、ホットプレートで手動で温度管理するよりも圧倒的に楽。

結果はトップの写真です。0.4mmピッチコネクタの下で3箇所ブリッジがありました。しかし、それ以外の箇所には完璧でハンダゴテでの補整は必要なしでした。表面実装のDCジャックは熱量が足りなくてハンダ不良になることもあるのですが、完璧でした。

いやー…やっぱり道具にはお金かけないとダメですね…。

■今後■

課題として前記の通り昇温が遅いので自宅量産を始める前に100->110Vの変圧器入れようと思います。1600Wぐらいの変圧器、適当な中古品が見つかれば良いのですが…デカイし重いし大変。

あとはステンシルプリンターの返金処理…。結果は後日ご報告します。【追記】輸送中の破損ということでFedExから返金されました【追記終わり】

2018年11月26日月曜日

導通試験器


テスターには導通試験モードというのがついてるんですが、大抵はブザーです。私は耳が悪いので、見てすぐわかる導通試験機を作りました。

材料:

  • 秋月のスイッチ付き電池ボックス(単4電池2本用)
  • 定電流IC(1mA)
  • 赤色LED
  • 熱収縮チューブ
  • ブレッドボード用リード


電池ボックスのマイナス側リード線を真ん中へんで切って熱収縮チューブを通してから定電流ICを取り付け熱収縮チューブで覆います。もう一度、別の熱収縮チューブを通してから先端にブレッドボード用のリードを圧着します。圧着は工具があるとキレイかつ楽にできますが、この用途であればラジオペンチでも十分ですし、そのへんに転がっているリード線の切れ端をはんだ付けしてもOKです。

LEDの足を写真のようにひん曲げておいてから、プラス側のリード線にも熱収縮チューブを通してからLEDをはんだ付けします。

以上で出来上がりです。



電池は普通のアルカリ単4電池でもいいですが、エネループなどのニッケル水素電池がおすすめです。アルカリ乾電池は新品だと2V近い電圧が出ますがニッケル水素電池だとフル充電の状態でも約1.4Vなので2本で最大3Vぐらい、赤色LEDのVfが1.8Vぐらいあるので、検査電圧1.2V 1mAの被検査回路に優しい導通試験機です。

1.2Vぐらいでは壊れない素子の方が圧倒的に多いですが、それでも壊れることは皆無ではないので、あくまでもはんだ付けなどの確認として使ってください。

2018年11月16日金曜日

Arduinoでカラスを追い払う…1



ハト対策が一段落したので、ハト対策に使った装置(PIRで体温を検知すると2つのNeoPixelsが激しく点滅する、だけ)をゴミ集積場に設置してみたところ、いつもは朝7:30ぐらいには盛大なパーティーを開いているカラス2羽がゴミを荒らすことはありませんでした。

すぐに「危険性がない」と舐められるような気がしますが、とりあえずは1勝ですw



2018年11月16日
06:00ごろPIR検知のNeoPixelsを設置。被害ゼロ。

〜2018年11月27日
火曜と金曜に設置、被害ゼロ。近所にたくさん似たような集積所があるのでわざわざヤバいところに行かなくてもいいんじゃね?的な判断なのだろうか。なおご近所の散らかりっぷりは変わらず。

2018年11年30日
設置停止したが被害ゼロw とりあえず被害が再発するまで停止するわ。

2018年12月11日
被害再発しました。ただ、9Fから私が顔を出しただけでカラスが逃げる。装置ではなく私が危険認定されている可能性。