hogehoge, world.

米国カリフォルニアのソフトウェアエンジニアがIT・自転車・音楽・天体写真・語学などについて書く予定。

SGP30/SCD30によるCO2濃度測定

閉じた空間のCO2濃度というのは結構簡単に上がるものらしい。現在在宅勤務100%となり、狭い部屋で仕事や電話会議をすることも増え、知らない間にCO2濃度が上がり頭の働きが悪くなるなんてこともあるかもしれない。となれば当然測ってみたくなる。

CO2濃度が測れる廉価なセンサーとしてはSGP30がある。電圧レギュレーター内蔵のAdafruitのモジュールが$20で入手でき、手軽に試すことができる。

しかし、SGP30で測れるのは実際のCO2濃度ではなく近似値であり、実のところまったく満足いくものではなかったので、結局ちゃんとCO2濃度を測る光学式のセンサーも使ってみることにした。この手のセンサーは基本的に業務指向で高価なものが多いのだが、その中でもSCD30は比較的廉価で、例えばMouserで$50程度で入手できる。

今回はこれら両センサーの使い方と測定結果をシェアしてみようと思う。使い方に興味がない人、早く測定結果を見たい人は下の目次から最後のセクションまで飛ばしてもらって構わない。f:id:tomoto335:20200713160118j:plain

続きを読む

温度センサー6種を測ってみる

昨今のIoT・データ分析ブーム()を受けて、継続的に室内環境のモニタリングをしている。BME280で温度/湿度/気圧を取るところから始め、最近は在宅勤務で知らぬ間に部屋の空気が悪化しがちなこともあり、CO2濃度や暑さ指数(WBGT)も測って見えるようにしている。今回はその中で温度に関する話、計6種の温度センサー(BME280, DS18B20+, DHT11, DHT22, TMP36, LM35D)を測ってみたのでその結果をシェアしてみたい。

f:id:tomoto335:20200711085521j:plain

f:id:tomoto335:20200711085531j:plain

f:id:tomoto335:20200711090602j:plain

続きを読む

M5AtomライブラリのLED機能は使うべからず

前回のM5Stack Atomに関する記事で、LEDマトリクスにフリッカーやジッターが出る、deep sleepするとランダムに光りっぱなしになる、という問題について書いた。何のことはない、M5Atomライブラリが不必要な非同期処理をやっているせいであり、ライブラリを使わずFastLEDを直接叩けば問題はすべて解決した。これでやっとdeep sleepが不安なく使えるようになり、また本体をdeep sleepさせつつLEDは特定のパターンを光らせっぱなしにすることもできるようになった。

コードは概ねこんな感じで。

gist.github.com

M5Atomライブラリには、この残念なLED機能の他に、加速度センサー・ボタン検出・Serial/Wire初期化の各機能が入っているが、加速度センサー機能以外は価値がないどころかむしろ邪魔である。結局のところ加速度センサーが必要なとき以外はライブラリ自体をインクルード&コンパイルしない方が良い。

どうして彼らこんなものを作ってしまったのだろう(笑)。善良な意思、ある種の優しさは感じるのだが、結果的には製品の価値を下げてしまっていると思う。初めて製品を使う人は「中の人が作ったライブラリなのだから自分の知らないノウハウが詰まっているのだろう、使った方がいいのだろう」、うまく動かなければ「自分の使い方が悪いのだろう」と思うわけだから、散々悩んだ挙句ソース真面目に読む⇒(;つД⊂)ゴシゴシ⇒なんじゃこりゃ(゚Д゚)という裏切られ体験は起こさない方がいいと思うのだ。

Bose QuietComfort 35 IIをPCにAAC接続する

ワイヤレスのちゃんとしたヘッドフォンを試してみようと、Bose QuietComfort 35 II を入手してみた。Refurbished で$200前半と値段休め、返品期間90日と評価にはちょうどよい感じである。  

 

https://s7d2.scene7.com/is/image/bose/black-4?wid=400&hei=400

早速普段使いのWindows PCに接続したところ、非常にがっかりな音質であった。強烈な圧迫感の中に音がごちゃごちゃと詰め込まれて不愉快極まりない。このところずっとSennheiser HD558などオープンエアー型に慣れていたので、なおさらきつく感じたかもしれない。

ところが、試しにAndroidスマフォにつなげてみたところ、これが見違えるような音になったのである。スネアドラムの「スパァァァン」や、シンバルの擦れる音やゴーストノートなど、高音の立体感がてきめんに違う。おお、これが君の実力だったか、窓から投げ捨てるのはちょっと早いかもしれない。

続きを読む

Particle XenonのCircuitPython化

今年始めにParticleがMeshからの撤退を発表し、Mesh専用機のXenonのディスコンが決まったのだが、まあ驚きはなかった。この記事で書いた通り、最初は「おおっ」と思うが全然つながらずテンションだだ下がり、結局そのまま不安定で使い物にならなかったもんな。 

うちには自分で買った分と配送ミスのお詫びに送られてきたものと計6台のXenonがあるのだが、これをどうするか。どうやらCircuitPythonが走るらしいので、1台試してみようというのが今回のお題。

f:id:tomoto335:20200624234305j:plain

完成品の熱中症警告メーター on CircuitPython + 他のXenonたち + Particle Debugger
続きを読む

M5Stack Atom Matrix

私の周囲で最近話題になっていた M5Stack Atom Matrix をポチっとしたのが到着。24mm四方の小さな筐体にESP32(WiFi, Bluetooth込み), MPU6886(加速度/ジャイロ/温度センサー), 5x5 LEDマトリクス, 前面ボタン等が詰め込まれたデバイスである。背面のラベルに内蔵デバイス用も含めたピンの説明がびっしり書かれているのがけなげで微笑ましい。

M5Stack Atom Matrix

とりあえずWiFiのスマート家電リモコン(左)と加速度センサーを使ったおもちゃ(右)を作ってみたのがこれ。

続きを読む

Airpods ProはAirpodsの進化形ではなく別ものだった

今まで完全ワイヤレスイヤホンとして旧世代のApple AirPodsを使っていたのだが、このたびApple AirPods Proを入手した。1~2ヶ月待つのを覚悟していたが10日で届き、Amazonグッジョブである。

それなりに値も張るし、聞こえてくる評判もよいし、旧AirPodsに比べてどれだけ進化してるんだろう?とワクテカして待っていたのだが、「届いてみたら良くも悪くも別ものだった」「旧AirPodsAirPods Proは重視するユースケースや好みに応じて買い分ける/使い分けるのがよろしい」というのが今回のお話。

f:id:tomoto335:20200106183338j:plain

続きを読む