2016年3月16日水曜日

ミニブレッドボード満載

今気付いたけど温度と湿度が逆だな。直しました。

ミニブレッドボードはかわいい。場所を取らないし安い。出来る子なんです。というわけで、てんこ盛りにしてみました。

BME280、秋月さんがずっと品切れ状態なので、部品沼に沈んでいたものを使います。同ブレイクアウト基板はBME280の機能すべてを使える形のものが秋月さん、Sparkfun、スイッチサイエンスさんから出てますが、このメーカー不詳の基板はI2Cでの利用だけに特化しているので、場所を取らず配線がラクです。

空気質センサーは電源にUSBシリアルからの電源を直接つなぎ、センサーからのアナログ出力を半固定抵抗で分圧してTOUTに入力しています。

OLEDは例によって0.96インチSSD3306搭載のアレですが、今回は白を使ってみました。なお、ロットによってGNDとVCCの位置が逆だったりしますので、くれぐれもご注意ください。

肝心のESP-WROOM-02は自前のボードです。近日発売なので、その節はよろしくお願いします。 本日発売されました(2016年4月11日、追記)。

<追記 2016-03-18> 空気質センサーは90mAも消費するだけあって、動作させたままだと結構暖かくなります。放射温度計で測ったところ、一番暖かい場所で51度でした(室温24度)。使用する時にはこのことをお忘れなく。

■設計■

123Dとか使えば良いんですが、必要なモジュールがないと面倒だし、今回は回路ってほどのものではないので表計算を使いました(笑)。

あ、背景塗り忘れがある。けど面倒なので直さない

雑ですが、色は「硬いジャンパーワイヤ」の色です。」と「は曲がり角。まず最初に部品同士がぶつからないか実際に挿してみてレイアウトを決めます。それから、最初にGND、次に電源、それから信号線を置いていきます。置いたら長さを数えて、それに合った色を塗っておきます。

なお、配線図でBME280のVccとGndをESP-WROOM-02のIO13, IO12につないでいます。BME280はごくわずかな電流しか消費しないので、ESP-WROOM-02のGPIO出力から電源を取ってしまおうという寸法です。ピンによってはプルアップ済だったりリセット時に異常な電圧が出てくるのですが、IO4/IO5/IO12/IO13であれば問題ありません。ただ、ESPにかぎらずマイコンのGPIOはリセット時にハイインピーダンス状態になるので、起動したらなるべく早くHIGHとLOWを出力するようにします。間違ってもHIGHとLOWを間違えないようにしてください。

ちなみに私のジャンパーワイヤー入れはこんなぐあいに長さと色を表?にして張ってあります。長さより穴数の方が良かったなーと毎回思うので次のバージョンでは併記したいと思います。まぁたまにオレンジ色みたいな赤とか、青か緑か区別できない色のワイヤが混ざってたりして悩むのは改善されませんが。


なお、このパッケージに入って売っているジャンパーワイヤーは短いのがすぐになくなって、長いのだけが残ることで有名ですが、サンハヤトで短いやつだけ売ってます。直角になってなかったり平行でなかったりして閉口しますが、私はたくさん買ってストックしてあります。


■ソフトウェア■

今回先に貼っておきます。今まで使っていたBME280用ライブラリがこのモジュールでは動作しなかったので、例によって彷徨った結果、Sparkfunさんのライブラリが動作しました。I2cモードを選択し、I2Cアドレスは0x76ですのでご注意を。

余談ですが、以前から使っていたライブラリが動かなかった時には「あ、またebay.comにやられたか?」と思いました。Ebayはたまに部品番号はあっていてもタイトルが間違っていることがあります。以前9960を探している時に「RGB Gesture Sensor」って書いていてある9930というチップがヒットしました。やけに安かったのでたくさん買ってみたら単に明るさと近接センサーだけで安物買いのなんとやら。なので今回、もしや高価なBME280(温度湿度気圧)ではなくBME180(温度湿度)なのか?と思ったりしましたが、無事でした。

なお、9930はお風呂時計用デジタル時計で「部屋が明るくなったらLEDの表示をonにするための機能」として健気に働いております。

ebayのご利用は慎重に、くれぐれもat your own riskとpaypalで。

まぁ今回は、ライブラリ変えたら動きました。空気質センサーは半固定抵抗で分圧した値をTOUTに入力したので、アナログ値を読み取ってそのまま表示しています。

表示はOLED、以前と同じくこのライブラリを使っています。

各ライブラリの作者のみなさんに感謝致します。



■配線と動作確認■

設計通りにすべてのジャンパーワイヤーを刺していきます。直角に曲げるときにはラジオペンチやピンセットを使います。

刺し終わったものがこちら。


この状態でもう一度実物とあわせながら配線が間違っていないか確認します。


テスターがあれば、最低限GND-Vcc、Vcc-Vin、Vin-GNDがショートしていないかを確認しておきます。次に、ESP-WROOM-02だけを挿して、USBシリアルとの間の5vとGndだけを接続してみます。この状態で、もう一度テスターでGnd-Vin(5v)、Gnd-3v3の電圧を確認します。USBシリアルからの出力電圧やUSBからの電源電圧はわりといい加減ですが、どちらも誤差5%以内なら問題ないです。


さて、電源に問題がなければ、一度USBシリアルからUSBを抜いて、5v-Vin間の配線を外します。この状態で残りの部品を挿して行きます。

今までもわりと慎重に進めてきましたが、ここで間違うと元も子もないので、配線表と確認しながら実施します。なお、私は過去、そもそもの配線表が間違っていた、という過ちにより何度かチップを殺してしまったことがあります。くれぐれも各段階での確認は怠りなく。


そして、最後に電源を接続してUSBシリアルをUSBと接続、今回上記BME280ライブラリが動かなかった件を除けば、一発で動作しました。まぁ、今まで使ったものを組み合わせただけですからねぇ。

なお、まだGPIOピンが3本(電源に流用したものを含めれば5本)余ってますから、ダストカウンターを接続することもできますし、I2Cにはアドレスがぶつからなければ、まだ5-6個は搭載できます。TxとRxも空いているのでGPSも使えます。

…そんなのを何に使うんだ?という疑問をもってはいけません。

以上、ミニブレッドボードてんこ盛りでした。

■追記■

ダストセンサーPPD42も追加してみました。

…いかん、ミニブレッドボードからはみ出してしまった。



2016年2月29日月曜日

ESP8266のオートプログラム仕様

最近発売されるESPブレイクアウトボードには、「GPIO0をGNDに落とした状態でRESETを押す」なんて面倒なことをしなくても、Arduino IDEでcmd+Uを押すだけで勝手にコンパイル→アップロードが済むようになってます。Auto Program機能ってやつですね。フリップ&フロップやダイオードを使ったものなど何種類かあるようです。

DTRからの出力を時間差を作ってRESETとGPIO_0につなぐだけなので、組み込むのは造作もないことなのですが、私の設計している基板には搭載していません。

それは、ESP8266/ESP-WROOM-02にはリセット時に内部クロックがGPIO_0(ゼロ)から漏れてくる、というバグがあるからです。ただ漏れるだけなら大したことはないのですが、個体によっては -1 〜 5v まで変動するという計測結果もあり、これは回路によってはFTDIやUSB端子までも壊しかねない電圧です。

私の基板は、開発用ではなく「使い倒す基板」がコンセプトです。そのためにオーバークォリティ気味のレギュレータとOS-CONを搭載し、大きな面積を食うネジ穴を3つも開け、何より開発の時にしか使わないものに電流を食われることを排除しています。

ArduinoみたいにIDEでcmd+Uをタイプするだけでアップロードできるのは確かに便利ですが、ESP以外の基板を破損するようなリスクは極力小さくしたい、と思ってます。なので、GPIO_0にはスイッチとプルアップ抵抗しかつないでいません。

なお、あんまり作例ではみかけないのですが…GPIO_0に取り付けたスイッチは、プログラムをアップロードするときだけでなく普通にスイッチ入力として使えます。スイッチが1つ付いているだけですごく便利なんですよね。ただ、チャタリングを避けつつ長押しとちょい押しを判断するプログラムって以外と面倒くさいので、今度、作ります。

閑話。



写真がないと寂しいので、今日の昼飯(仕出し弁当430円)の写真を貼っておきますw 430円の割には野菜分が多いので愛してます。

なお、今日から「特茶」飲み始めました。

知人がこれで数キロ落とすことに成功したというので、箱買しました。その安易な姿勢が(ry

メイカーへの道(笑)


10枚だけ頼んだのに(付箋にも「数量 10」って書いてあるし)、明らかに30枚ぐらい入っている件w どうしたelecrowさん?!

というわけで試作バージョン5の基板が届きました。

バージョン4からの変更点は一箇所だけだったし当初の予定から大幅に遅れているので「さすがにもう治すところないだろw」と量産(まぁ20個だけどね)発注しようと思ったけど、思いとどまって基板のみ発注しました。

…まぁそういう場合、大抵問題はないんですよね、私の場合。「大丈夫だろう」でGOするとコケるけど、「一応、念のため」で確認すると問題のない人生。嗚呼。

それにしても、Viaが小さいです。こんな穴どうやって開けてるんでしょう。白のレジストは比較的厚めになるので、どこにViaがあるのかわからないです。一時期、私のEagleで自動設計するとViaが0.6mmぐらいあってレイアウトに苦労したんですが、あれはDesign Ruleの指定を間違えていたのだろうか。

今回スイッチ用に大きめのスルーホールをあけたんですが、この内面がエラいこと綺麗です。いいメッキだわ。これで春節明けから10日丁度、2000円かからないんだから、もうブレッドボードからユニバーサル基板を飛び越してプリント基板を作るのも当たり前って感じ。

レジスト白か赤かで悩んでました。色味としては赤が一番きれいのですが、老眼的には白が一番見やすいので。

あと部品のValueを入れるかどうかも悩みどころ。Valueが入るとどうしても基板表面がごちゃごちゃして美しくないのですが、メンテや説明の時に情報量が多い方がラクなので入れてみました。

そんなこんなで、これで量産発注するぞー!

…繰り返しますが、20個だけですけどね。

余談ですが、先日、映画スティーブ・ジョブズを見てきました。「カスタマーは自分が何を欲しているか知らない」というのはジョブズさんの有名な言葉ですが、「メイカー」っぽいことをしているとその言葉を実感することがしばしばあります。それに人は目の前にあるものを改善したくなる生き物なので、カスタマーの声ばかり聞いているといつまで経っても製品としてリリースできなくなってしまいます。

時にはカスタマーの声にあえて耳を塞ぐこともリリースするためには必要ですね。

これからも「自分が欲しいものを作る」ことを大事にしていきたいと思います。

何事も慢心は禁物(リフロー編

あれほどの作業効率を誇っていたサンハヤトの特殊ハンダクリームも劣化が始まったのか、基板への付着性が今ひとつ。注射針から押し出したクリームも以前のような光沢がなくザラついた感じです。

適量のせるのが難しく、乗らないか乗りすぎるか、というデジタルな状況。ハンダが多すぎるなぁ…とは思いつつ、一部だけ拭き取るのは難しいので「まぁいいか」と進めた結果がコレです。



いやー酷いですねーw レジストを白にしたのでフラックス汚れが目立つというのもありますが、汚いです。

この後、ハンダゴテと吸取り網で激しくナナメになった部品を取り除いてから手ハンダ付けしました。

今日はもう一枚大きな基板をリフローする予定だったのですが、新しいハンダクリームが届いてからにしようと思います。

で。

その後、ElecrowへのEMS伝票とインヴォイスを書いたのです。中国にものを送るとなると住所がまず長いというのもありますし、英語表記だとHang Feng Road, Gushu…みたいな感じでなるのでとにかく長くなってしまうので。今回は、前回書ききれなかった反省を踏まえて字を小さくきっちりと見事に書き上げました。

…EMS伝票(書類用)でした。

もう一枚書く気力がないので、郵便局に印刷伝票の手配を依頼しました…。

2016年2月24日水曜日

ESP-WROOM-02 + 空気質センサー


空気室なら知ってるけど、空気質ってあんまり聞かない / 使わない言葉ですね。意味わかるけど。


ずっと前にaitendoで衝動買いしてそのまま忘れていました(空気質センサモジュール [MQ135-4P])。それにしても空気質。指標はいろいろありますが、いったい何を測定してくれるのでしょうか。とりあえず、この手のものとしては秋月で売っているTGS2450が電子工作界ではおなじみだと思います。

秋月のサイトから

ただしTGS2450は結構気難しいというかヒーターの電圧や加圧時間を間違えるとすぐに焼損することで有名です。私も使ったことがあります(懐かしい記事はこちら)。

でも、こっちの空気質センサーは、モジュールになっていて電源5vをかければ0-4vで空気の質がわかる、というシロモノです。

ということで、使ってみました。

<追記 2016-03-18> 90mAも消費するだけあって、動作させたままだと結構暖かくなります。放射温度計で測ったところ、一番暖かい場所で51度でした(室温24度)。お使いになる時はこのことを覚えておいてください。

■構成■

毎度おなじみESP-WROOM-02のTOUTをアナログ入力として使います。TOUTは1v入力なので、空気質センサーの出力は分圧してから使います。

接続はこれだけです。空気質センサのDoutは使いません。なお、空気質センサーは100mA近い電流を消費するので、小さなUSBシリアルだと電流容量不足になります。

ESP-WROOM-02USBシリアル半固定抵抗空気質センサ
5vVcc
Vcc3.3v
GndGnd1Gnd
TxRx
RxTx
Tout2
3Aout

■調整方法など■

分圧には10kΩの半固定抵抗を使いました。

ぶっつけ本番でいきなりToutにつなぐとESP-WROOM-02をぶち壊す可能性が高いので、最初はブレッドボードの上で半固定抵抗の1を5v、3をGndに接続し、2とGndの間の電圧をテスターなどで測定しながら抵抗のツマミをまわし、約1.2vになるように調整します。

空気質センサーの出力が4vなのだから5vで調整するとしたらフルスケール1.25vなのですが、少し余裕を見ます。なお、半固定抵抗の1と3は対称なので、調整後に組み込む際に間違えないようにします。私の場合はツマミのついている側を1に決めています。

先日のSCL/SDA同様、こういう決め事を作っておくと事故を防ぐことができます。

…と、数多くの事故にまみれてきた私が言うのだから説得力があります。

…いや、無いのか。

■ソフトウェア■

毎度おなじみの秒単位簡易リングバッファで1分間の平均値を取ってThingSpeak.comへ送っています。


■計測結果■

計測結果ですが、ほぼ無臭のフロンガスのエアダスターに対しては1mぐらい離れたところで使っても反応があります。無水アルコールにもわりと敏感ですね。私が「ハーッ」て息を吐きかけると、てきめん、数字が上がるので心が傷つきます。

[19]で息を吹きかけました。

ThingSpeak.comでの計測値はこんな感じ。


さて。加齢臭にはどうなのか。知りたいような知りたくないような。明日、換気状態で出勤して値はどう変わるのか。追ってご報告申し上げたいと思います。

…私が寝ている間に62まで下がりました。04:15ごろ起床。

2016年2月23日火曜日

コテ先交換

before

長年(まぁ10年ぐらい電子工作してなかった時期もありましたが)使ってきたハンダゴテ、コテ先が摩耗したり変形したりで、さすがにもう使い続けるのは無理、という状態になりました。

が、私の愛用のハンダゴテはGootのPX-338というガングリップ型、もう10年以上前に製造中止になってます。そうなるとコテ先を検索することもできません。

新しいのを買おうにも今はもうガングリップ型って自動ハンダ用か温度調整もついてない簡易型しかないんですよね。

ということで、メーカーさんに問い合わせたところ、親切丁寧なお答えを頂戴しました。コテ先の型番がわかったので、ぐぐってみたらヨドバシに在庫があるw ずっとSB型を使ってきましたが、SBと一緒に2BC型も買ってみました。

で。

いやー、新しいコテ先、馴染む馴染む。今までのコテ先にも特に不自由を感じたことはなかったのですが、ハンダがコテ先全体を回りこむように溶けてくれるので、作業の自由度が高くなりました。

after

特にBC型、細いわりに熱容量大きいのが特徴なのですが、「そんな大した違いはないだろw」と思っていたら大違い。今までハイパワーモードでやっと付けていたベタアースでもすっとハンダが乗ってくれます。表面実装部品でも2012はもちろん1206でも特に困りません。

もっと早く切り替えればよかった…。

2016年2月21日日曜日

ESP-WROOM-02+放射温度計+サーボ = 遠隔温度計測


autolayout面倒くさい

■やりたいこと■

赤外線放射温度計というものがあります。リフロー用に2000円で買ってきて、リフローだけでなく餃子を焼くときのフライパン温度やチャーハンに卵を投入する前のフライパンの温度やカラアゲを作る際の油の温度計測などに幅広く利用しております。

このセンサー部分が手に入りました。センサーを以前使ったサーボモータのチルト&パン台(Crowtail- Pan- Tilt)に固定しておき、遠く離れたところからiPhoneで角度を変えるとその方向に首を振り、計測した温度を送り返してくれる…というものを作ります。

以前サーボモータを動かした時には、単に首振ってるだけで考えてみればESP-WROOM-02を使うメリットというのはまったくなかったのですが、今度はしっかりとセンサーを駆動します。

リモートセンシングやで。

■要素技術の確認■

赤外線放射温度センサーMLX90614のライブラリ、いろいろ試しましたが、一発で動いたのはコレでした。
https://github.com/adafruit/Adafruit-MLX90614-Library

MLX90614のピンの並びは残念ながら手持ちのESPボードと異なっているので、変換ケーブル?を作ります。単にGND-VCC-SDA-SCLをそれぞれの並びに合わせてヘッダピンにハンダ付けしてスミチューブで固定するだけです。

サーボは以前にも使ったElecrowのtilt&panです。サーボのコネクタはマイコンでは使いにくいのでぶった切ってピンヘッダと付け替えます。その際に2ch分をコンパクトに使えるように3ピンと4ピンのヘッダを使い、GNDとVCCは共通、信号線は1つずらして接続します(GND-VCC-SIGNALとGND-VCC-NC-SIGNAL)。こうすればブレッドボードに並べて挿して共通の電源とそれぞれのSIGNAL入力をつなぐだけで済みます。

制御入力と表示にはiPhoneを使います。最初iPhoneをうにうに傾けるとそれに合わせてtilt&panが動くようにしたのですが、表示が大変見づらいという欠点が発覚したので画面上の●をドラッグする方式に変更しました。●の座標をTCP/IPで値を送ります。


あとはESPとiPhoneの通信ですが、ゼロコンフィグとかやると死ぬので固定IP決め打ち一発でTCP/IP接続してデータを送受信します。TCP/IP通信にはCFNetworkのinput/output streamを使ってます。

■サーボとの接続■

ESP-WROOM-02にサーボとMXL90614を接続します(前回記事:ESP + 2軸サーボ)。

ただ、前回ワイヤ直結したら抜けやすくて大変不便だったので、crowtail仕様のコネクタを切断してピンヘッダを取り付けました。その際、3ピンのピンヘッダと4ピンのピンヘッダを用意し、4ピンのは「信号」「空き」「Vcc」「Gnd」、3ピンは「信号」「Vcc」「Gnd」の並びで作りました。こうすれば、ブレッドボードに挿した時に配線が少なくてすみます。
手前が4p、奥が3p。右からVccとGndを引いてます

IO14, IO15はジャンパ経由でESPと接続
テープで剥がれる机の塗装orz

■MLX90614との接続■


これはI2Cなので、Vcc, Gnd, SDA, SCLをそれぞれ接続します。今回購入したモジュールはプルアップ抵抗付きなので、ESPとつなげばおしまいです。これもヘッダピンとワイヤをハンダ付けして専用ケーブルを作りました。ESPのIO4とSDA、ESPのIO5とSCLを接続してください。

なお、私はワイヤの色をSCL白、SDA緑、Vcc赤、Gnd黒と決めています。

こっち見んなw(お約束


■MLX90614とサーボ■

3Dプリンタが届くのを待っていたのですが、3月一杯に延期されてしまったので、とりあえずテグスで括りつけました。ははは(力ない笑い

■ESP用プログラム■

ESP_WiFiTelnetToSerialというサンプルプログラムを参考にしました。大まかな構造としては、

  • iPhoneからデータが届いたら、それを目標座標とする
  • 1秒間に100回のタイマーで、サーボの目標座標目指してゆっくり指示座標を変えていく。これはいきなりiPhoneからの値が飛ぶとサーボが高速で動いて電力消費やらメカ強度やらに悪影響を与えるので、それを防止するためです。通信でメカを動かす場合の基本ですね。
  • 1秒に1回、MLXからデータを読み込んでiPhoneへ送信する

サーボの制御と温度データの送信を切り離しています。こうすることでプログラムが複雑にならないようにしています。



■iPhone用プログラム■

最初swiftで書いてSIOSocketがうまく組み込めずに挫折した(設定ミスorz)とか、その後obj-cでSIOSocket使ってみたけどしっくりこないので捨てた、というのは割愛します。

プロジェクトは後日githubに公開します。とりあえずViewControllerと座標ドラッグ用のControlViewをgistにまとめて貼っておきます。今気づいたけど、ControlViewじゃなくてControllViewだな(恥


2016年2月17日水曜日

ユーザサポートをどうしよう


というわけで、もうじき、倉橋設計のボードが市販される予定なのですが、そのサポートをどうしようかという問題が残っていまして。

当初の予定ではGoogle +にする予定だったのですが、せっかくだからといいうことで、SlackとSalesforce Chatterも試してみました。

理想としては、リンクを貼っておいて、そのリンクをクリックすると申し込みページに飛び、中の人が承認して使えるようになる…というものですが、今回の3つはそれには対応していない様子。

以下の3つはいずれも、話題ごとにグループを作ることが出来て、グループを横断的にタイムラインとして眺めることもできるっぽい。

■Google+■

そんなに悪くないと思うのですが、まだお試し中。

■Slack■

コードスニペットをそのまま貼れるし、プログラマ的には非常によいツールなんですが・・・私はパソコンユーザとしてそれなりのスキルがあるつもりなのに、あれこれ戸惑うことが多い。何よりもグループ名に日本語使えないのはダメですね。また、将来会社として使う場合に、スタッフだけが見るグループとユーザだけが見るグループ、という風に切り分けるには有償のアカウントが必要で、しかも有償の場合にも一人の有償に対して5人までしか別ドメインのユーザを呼べないので、たくさんユーザが増えたら使えません。

■Salesforce Chatter■

懐かしい・・・。何だかんだで4-5年使っていたものなので馴染んでいるせいか、私はそんなに違和感ないのですが、某林さんの拒否反応が(申し訳ないです

とりあえずiOS版クライアントSalesforce1の出来が悪いのはダメですね。そのうち、私が簡単なのを作るから許してくれい。

--

で、悩んだのですが、裏にCRMの機能が備わっていること、Chatter自体は無料で使えること、タイムラインが見やすいこと…などからSalesforce Chatterを使うことになるのかな・・・。スマフォ比重が高いとGoogle+の方が使いやすいですし、ソースコードをさくさく扱うならSlackですね。

うーん、悩みが解決しない・・・。

2016年2月13日土曜日

2000円のGPSとArduino / ESP-WROOM-02

ベランダにて。シャッター速度の関係で表示が途切れてます


せっかくESP-WROOM-02を使っていますが、ほぼArduinoとして使っているのでこういうタイトルとなりました。

■GPS入手■

秋月の新製品をチェックしていたら、なかなか安くて使いやすそうなGPSのキット(GPS受信機キット 1PPS出力付き 「みちびき」対応)が出ていたので、会社帰りに立ち寄って買ってみました。

秋月のサイトから

が。家に帰って見てみたら、買ったのはWebに出ている新製品ではなくて別の新製品でした(GPS-54型GPSレシーバーモジュール)。キットじゃなくてGPS受信ユニットと2mmピッチ10pコネクタ2個がぽろりと入っているだけorz

秋月のサイトから

私が買ってきた方は衛星「みちびき」にも対応していないみたいだし、消費電流も多いし、何のメリットがあるんだろうorz 余計なシリーズレギュレータが入ってないので3.3vで使えるのがメリットかなw 

勿体ないので使います。そういえばGPSモジュールを買ってマイコンにつないで使うって初めてじゃないだろか。

■結線など■

GPSモジュールのコネクタは2x4pなので、付属の2mmピッチ 10pヘッダソケットを真ん中で切断し、ヘッダソケットに1-5番ピンにそれぞれ配線します。反対側には2pと3pのヘッダピンをハンダ付けします。2pはTxとRx用、3pは3v3が2本とGND用です。

秋月のスチロールケースにカッターナイフで穴を開けて、そこにマウント?しました。こういう小学校的工作懐かしい。

Arduinoの場合、SD0は0, RD0は1と接続します。

ESP-WROOM-02では、SD0はRxD、RD0はTxDと接続します。

GndはGnd、BATTとVCCは3.3v電源と接続します。なお、今回仕様なのでVATTにはバックアップ用のバッテリをつながないで電源をそのまま供給していますが、この端子にバッテリを使う場合に関してはいろいろ注意事項があるので、秋月サイトのメーカー資料を参照してください。9/23ページには「動作時やバックアップ電圧投入時には、BATT電流がバックアップ時よりも多く流れます。」って書いてありますので、その辺注意が必要かと思います。まぁ通常のコイン型のアルカリ / リチウム電池で問題ない程度ですが。

■ヒシチューブ/スミチューブ■

余談ですが、結線といえば今までヒシチューブとスミチューブってメーカーが違うだけの同じものだと思っていて、ずっと30年ぐらい前に買ったヒシチューブを使っていました。が、とうとう30年目にして使いきってしまったので秋月で熱収縮チューブを買ってきました。

そしたら、まず感触からして違うんですよね。在庫のヒシチューブは硬質ビニールみたいだったけど、買ってきたものはゴムっぽい。最初「うちのはそんなに劣化してたんかいw」と思ってコミュニティに書いたら、「別物です」と教えていただきました。そうだったのかー(AA略

勉強になりました m(_ _)m

使ってみると、ヒシチューブよりもキレイに仕上がるような気がします。

■ソフト■

ライブラリを探したのですが、特に見つからず。まぁそんなに面倒くさい処理でもないので、仕様書をみながら何十年かぶりにシリアル信号処理プログラムを書きました。昔、PeopleオンラインのMac版クライアントとか書いたっけなー(遠い目

GPSモジュールは、ただ淡々とデータ(NMEA準拠)を送ってくるので、1行ずつ読み込んで目的の$GPRMCで始まる行が来たら、それぞれのカンマ区切りの後が何文字目なのかを数えつつカンマを \0 で潰してc文字列末としていきます。何番目が何の意味かは決まっているので、あとはそれを読みやすい形式に変えてから表示してます。

といいつつ、めんどくさいので時刻はUTCのままです。ちゃんと日本時間で見たい場合には9時間足せばOKです。移動速度もノット単位です。

ソフト開発Tipsを1つ。こういう「お外に出ないとちゃんと受信できない物」のプログラムを組む場合には「ちゃんと受信できたらこうなるはず」の文字列をダミーとして用意しておき、それが机の上でちゃんと処理されることを試してから外に出ましょう。128-131までのコメント部分がソレです。



■使ってみる■

ダメだろうなーと思いつつ南向きベランダに出してみます。

やっぱり測地できません。が、とりあえず日時は表示されているので、受信には成功しているようです。ということで、広い公園に出て撮ってみたのが一番上のビデオです。コールドスタートだと仕様通り1分少々かかりますね。

でも一度捕捉してしまえば、影に入ったあとでも数秒で再捕捉されます。

さて、これで「真のサイクルコンピュータ」でも作りましょうかね。WiFiテザリングでiPhoneと接続する、単三電池3本で4-8時間ぐらいしか電池の持たないサイクルコンピュータをw なお、「iPhoneってGPSも付いてますよね」という疑問を持ってはいけません。