Windows 11 を入れてみたものの…

最後のWindowsと銘打ってWindows 10を出したにも関わらず、恥じらいもなくWindows 11を出すあたりからしてあまり好印象ではありませんでしたが、一応自分のPCはシステム要件を満たしていたので入れてみました。
購入したのが3年と6ヶ月前で、当時は最新のCPUだった第8世代だったので、多くの方がシステム要件を満たしてないであろうことは想像できます。

Windows 10からのアップグレードはそれなりに時間かかります。
最初の印象は悪くはなかったです。windowの角が丸くなってるのは個人的には好きでした。
と、もう過去形になってますが、そうです、結局Windows 10に戻しちゃいました。

致命的だったのは以下の2点。

  • いままでせっせと整理して使いやすくしていたスタートメニューが引き継がれない
    グループ分けもできないので痛すぎます
  • エクスプローラーからの右クリックで今までのコンテキストメニューが一発で出ない
    そのくせSkypeは最初のメニューにあるのが気に食わない
    サードパーティ製のソフトでWindows 10ライクにできるらしいがそれならWindows 11を使う意味がない

このデメリットを上回るメリットを感じられず、やっぱ現時点ではWindows 10の方が使いやすいという結論に。
ちなみにWindows 10に戻すのは、アップグレードに比べて格段に早く戻せます。
そういや、Windows 7 から 10へのアップグレードの時も速攻で戻してたな…
もう少し待てばWindows 12とか出るかもね。(~_~;

PM2.5センサーPMS5003の実力や如何に?!

電子工作初めたら、誰しも花粉センサーなるものを作ってみたくなるのでしょうか。
ただ、いろいろ調べてもそんなセンサーはないみたい。ホコリセンサーはありますけどね。
なんかいいセンサーないかなーと思って目についたのが、PMS5003なる製品。
ホコリや花粉よりももっと小さい微粒子PM2.5も検知できるとな?!マジですか?
なにより、小型ファン内蔵なのが嬉しい。自前でファン取り付けて空気循環させる手間が省けます。

ということでイギリスの通販サイトPimoroniさんで購入。スイッチサイエンスさんでも売ってましたが、このPMS5003、Picobladeケーブルなので単体で使おうと思ったら変換ケーブルが必要になります。
Pimoroniさんではその変換ボードが売ってあるのです。海外から買うと手数料や運送費が高いイメージがありますが、ここは相当良心的です。

  • PMS5003本体 £20.75 … 3,300円
  • Picoblade変換ボード £2.50 … 397円
  • 送料 £5.00 … 795円

発送も速攻で、通常5-10営業日で届いちゃいます。完璧な仕事ぶりです。

開けて見ると、何これちっちゃ!可愛い!

さっそく組んでみます。

ちょっとハマリやすいのが Picoblade変換ボードで、ボードの表示通りに配線すると動きません。
データシートの通り、右から 5V,GND,EN,RX,TX,RESET が正しいです。

計測データは面倒くさいことしなくても集計結果がシリアルで送信されてくるのでそれを読み出すだけ。
サンプルのPythonライブラリが公開されているので、それを読めばC言語でも容易に組めるでしょう。

むしろ苦労したのが、データを視覚化する方法。
久々にフロントエンド+バックエンドのWebアプリ作りましたが、しばらく離れているとすっかり腕がなまってます。(もともとキレキレでもないけど…)
せっかくなので流行りのVue.js + Highcharts で作ってみました。

で、気になるのが肝心の性能だと思います。
ホビー向けであるPMS5003はいったいどの程度の実力があるのか?!
実際に福岡県が公開しているPM2.5のデータ(上)とPMS5003計測データ(下)を比較してみました。

これは5月2日の分。少ない時間帯、、、一致してます!

ではPM2.5が多い日はちゃんとデータも変化するのか?これは比較的多かった4月30日のデータです。

おおお、ちゃんと増えとる!
これはちゃんと機能していると言えそうです!
見た感じ、屋外の値の 1/3 程度の値になってます。これがセンサーが低めにしか検出できないのか、屋内だから低めに出ているのかはわかりません。
後者だろうとは思うのですが、逆にいうと閉め切った部屋でもやっぱり外からPM2.5が入ってきてるんですね。。。
あとこのデータではそうでもないですが、食事時間帯で増える傾向があり「あーやっぱ料理の匂いとか煙とかで広がるのかな」というのが興味深かったです。

ちなみにPMS5003は常時運用だとファンがすぐ寿命になりそうな気がしたので、1時間毎に起動させておおよそ2分間の計測後すぐに止めるようにしてます。ENピンのLOW/HIGHで全部止まってくれるのでENピンは重宝します。
結論としては、ホビーユースとしては優秀なセンサーではないかと思います。何より上でも書きましたが外観がミニミニで可愛く、ファンの音も静かなので買ってよかったと思ったセンサーです。

ESP-WROOM-02が便利すぎた

まずはこの超絶ヘタっぴなハンダ付けからご覧いただこう。

人生初のハンダ付け作品がこれである。

前回の記事にも書いた、このDC-DCコンバータ(3.3V)回路。
こうして見ると、スッカスカだね!
でも最初はこの基板見て「ちっちゃ!」と思ってました。

なぜハンダ付けしようと思ったかというと、勢いで購入した大気圧センサー(MPL115A1)と、WiFiモジュールのESP-WROOM-02が、自分でピンヘッダをハンダ付けしないと使えないパーツだったからです。(てっきり完成品かと。。)

それで練習がてら作ってみたのが冒頭の作品というワケ。
安いといってもMPL115A1もESP-WROOM-02も600円台ですから、このパーツをぶっつけ本番でハンダ付けするのは無謀かなと思ったのです。
結果的にはピンヘッダだけのハンダ付けは思ったより簡単でした。といっても全部お団子状のハンダ付けになってしまいましたが。

こうしてしばらく箱の中で眠っていたESP-WROOM-02を使えるようになったのですが、あまりのプログラミングの簡単さにPICマイコンに戻れなくなってしまいました。
こりゃArduinoの人気があるのも納得です。
Auduino IDEはお世辞にも使いやすいとは言えませんが、プログラミングが簡単になる工夫を随所に感じます。
なんか、こう。ライブラリが直感的なんですよね。

PICマイコンだと、プログラミングのほとんどがレジスタ操作で、データシートを見ながらこのビットがこうで、このビットを立てて、、、と半ば自らマシーンと化してコードを書いていく必要があるわけです。
これはこれで楽しい。また、マイコンの動きを理解するにはうってつけです。
楽しいですが、時間がかかり過ぎるのが難点です。しかもなかなかすんなりとは動いてくれない。

かといってRaspberry PIだと、ふつーのLinux過ぎて感動がない。

ESP-WROOM-02(ESP8266)は、Raspberry PIとPICの中間みたいな感じで、ちょうどいいんですよね。
いやー、ちょっと前までPICに惚れ込んでたのに、、、入る順番が間違ったかな?

初はんだづけ

最近週末は電子工作にいそしんでますが、、、まぁ時間が足りないですね。半分仕事みたいなものだなぁ。
そんな中、ついにはんだづけをする日がやってきました。人生初、です。
最初は、そうそう機会もないだろうから、やっすいニクロムヒーターのはんだごてとやっすいコテ台でいいやと思ってましたが、いろいろ調べるうちに初心者こそいい道具使わねばと思い、セラミックヒーターで温度固定のPX-335と専用のコテ台ST-77を買いました。
他のはんだごてを使ったことがないので、比較のしようがないのですが、とにかく電源に挿したらすぐに使える感じで、まったくストレスを感じませんでした。
しっかりしたコテ台も安心感があります。

・・・で、はんだづけの仕上がりはというと。。。
「まぁ、初めてだから仕方ないよね」と自分を納得させてますが、ひどい出来です。後で写真撮っておこう。。

ちなみに作ったのはDC-DCコンバータの昇圧回路(V3.3)なんですが、確かに電圧は出る、、、が実際に電流を供給すると不安定で他の回路がまともに動きませんでした。
LEDを光らせるくらいはできますが、よく見ると暗くなったり明るくなったりで光り方も安定してない。
充電池1本でなんでも動かせると浮かれてましたが、世の中そんなに甘くないのぉ。

統合室内環境センサー

PICマイコンのプログラミング面白いですね。面白いけど難しい。
まずデバッグのやりにくさ。今までなら普通にログ仕込んで、printやらsyslogやらで、、、となりますがマイコンの世界となるとまずコンソールつなげるまでが一苦労ですしprintfすらも使えない。
しかしその分、動いたときは「キター!」の喜び倍増です。

今週末は、前々から構想を描いていた “統合室内環境センサー” の作成です。
名前だけは立派ですが、ただ気温・湿度を測るだけ(苦笑)
どの辺が”統合”かというと、音声合成ICをつけてしゃべらせるのと、LCDのバックライトを自動でOFFにし、手をかざすとONにするというあたりが。

一番苦労したのが、肝心の気温・湿度センサーのDHT-11を動かすまでです。
これ、1本の入力PINで全てのデータをまかなえ、A/Dコンバートも不要なんですが、いかんせんタイミングがシビア過ぎてなかなか意図通りに読めません。ラズパイ用のPythonプログラムだとゴリゴリ書いてあったので、マイコンならもっとタイミングが正確で楽に書けるかと思ってました。
最初は、I/O割り込み(IOC)使うのにうってつけかと思って、カッコつけて割り込みルーチンをバリバリ書いてたんですけど30ビットくらいしか読めなくて、なんでじゃー!と時間がすぎるばかり。
結局最後は、他の人のコードを参考にするはめに。ループの書き方一つでもタイミングがずれたり。エレガントに書こうとするとかえって動かないようで、マイコンの世界は難しい。