gomaの雑記

あれこれいろいろ

激安Arduino Nano互換機と温湿度・気圧センサ

先週の金曜にAmazonと秋月で注文して日曜に届いて組み立てて試した。

激安Arduino Nano互換機 

OLEDとArduino Nanoでシステムリソースモニタを作ってユニバーサル基板に実装しようと思って、ピンソケットをつけたら厚底靴みたいになって見栄えが悪かったので直接基板にはんだ付けして実装しようかと思ったけれど、OLEDは安いのでともかくとしてもArduino Nanoは3,000円近いものなので流石にためらった。どうしようかな~と思いつつ同じようなことをやってる先駆者がいないかと探したら、互換機を使ってるのがチラホラあったので真似しよう!と思ってAmazonで探したらELEGOOのいい感じのがあったので買った。

これの3つ入りを買った。1個でよかったけれど3つ入りだと一個あたり200円位安くなるので、壊れたら交換しよう程度の感覚で3つ入りを買った。一個あたり454円で1,361円だった。Amazonポイントが結構溜まってたのでポイントを使って購入。

f:id:g0ma:20180121114027j:plain

届いたのがこれ。

f:id:g0ma:20180121114146j:plain

中にピンヘッダとホチキス針の箱みたいのに入った互換機が3つ。わざわざ箱イン箱で入ってる・・・。

f:id:g0ma:20180121114229j:plain

Nano互換機はこんな感じ。

f:id:g0ma:20180121114309j:plain

イタリア製の本家と比べるとマイコンチップが大きい。

f:id:g0ma:20180121114345j:plain

裏面の比較。ぱっと見同じような感じだけれど、互換機はUSBシリアル変換用のチップがCH340と言うものになってる。調べるとWin7、8だとドライバを入れないと動かないとそっちこっちに書いてあるが、FCU適用済みのXPS13に接続したら標準ドライバで認識してくれた。ありがたや。

f:id:g0ma:20180121114702j:plain

3つ開けて並べたところ。一つ、真ん中のやつのバリがすさまじい。あとでカッターで落とそう。

f:id:g0ma:20180121145022j:plain

途中写真を撮り忘れたのですでに完成してるけれど、ピンヘッダつけてユニバーサル基板に直付けして配線したあと、IDEからスケッチを書き込んで動かした。今思えばブレッドボードで仮組みせず動かしたのは少々リスキーだったなと怖くなった。半田吸い取るの面倒だし。今度ケース作ってきれいに収まったらまとめてブログに書こう。

関係ないけれど、我ながらなかなかはんだ付けがうまくなったと思う。会社でTWE-Lite使って温度計とか作ってたおかげでだいぶハンダ作業に慣れた。

BME280を動かす

f:id:g0ma:20180121113732j:plain

こちらも同じく日曜に届いた秋月セット。会社で温度記録用にBME280を買う予定があったので自分の分と自分の買い物も一緒にした。

無意味にユニバーサル基板とかフォトセンサとか買ったのを在庫ケースに入れてBME280を組み立て。

f:id:g0ma:20180121151649j:plain

ピンヘッダをつけた状態のBME280。秋月で売っているものはこれ。

akizukidenshi.com

こいつはボッシュが作ったセンサが乗っててI2CないしはSPIで温湿度・気圧が取れるセンサー。右上のJ3J1J2の部分をはんだ付けするとI2Cにしたり実装されているプルアップ抵抗を有効にしたりできる。

ボッシュって自動車部品、というかCVT作ってるメーカーだと思ってた(この動画の影響)。

CVTの車は実家にノートがあるけれど、CVTの特性なのか、日産のECU設定のせいなのか、アクセルワークに神経使わないと変にスピード出たりエンブレかかりすぎて乗りづらい・・・。

関係ない話はここまで。

f:id:g0ma:20180121151658j:plain

裏面はこんな感じ。VDDのピンに半田盛りすぎて表にちょっと出てきた。

f:id:g0ma:20180121151617j:plain

3つ組み立てて、一個Arduino Nanoに配線してテストした。

配線は

BME280   Arduino Nano

VDD ――――― 3V3

GND ――――― GND

CSB 繋がない

SDI ――――― SDA

SDO ――――― GND(VDDかGNDでI2Cアドレスが変わる)

SCK ――――― SCL

で繋いだ。

動かしたスケッチはこれまたスイッチサイエンスのGitHubに上がってたもの

github.com

/Arduino/BME280_I2C/ 内にあるBME280_I2C.inoをそのまま書き込んだら動いた。

f:id:g0ma:20180124004134p:plain

シリアルで受け取ったデータをTera Termで表示したところ。値に大きなブレもなく、個体差もあまりなかったのでいい感じ。3つのうち2個は今日会社に持っていってTWE-Liteに繋いだ。

ArduinoでI2Cを使うとき、Wire.hをインクルードすると勝手にシリアル線をプルアップしてくれるからモジュールのプルアップ抵抗は使わないけれど、つなぐものによってはJ1J2をショートさせてプルアップ抵抗を有効にしたり、回路に任意の抵抗繋いでプルアップが必要なので注意。

何はともあれ、ESP8266にいい感じのセンサも手に入ったので自宅のログでも取ってみようかな。