しばらく前にアリエクで見つけて注文してあった0.42インチOLED付きのESP32-C3が今日届きました。中々届かないので行方不明になってしまったのかと半分諦めていましたが無事に到着。送料込みで500円弱です。
小さいですがWiFi, Bluetoothが載っています。技適は不明。試しにOLEDに文字を描いてみた様子です。図形も描けます。
横からみるとこんな感じ。
裏側です。
多くのピンが必要ないアプリならこれでよいかな。OLEDにステータスなどを表示できるので便利そう。
https://pic-garage.blogspot.com/
しばらく前にアリエクで見つけて注文してあった0.42インチOLED付きのESP32-C3が今日届きました。中々届かないので行方不明になってしまったのかと半分諦めていましたが無事に到着。送料込みで500円弱です。
小さいですがWiFi, Bluetoothが載っています。技適は不明。試しにOLEDに文字を描いてみた様子です。図形も描けます。
裏側です。
多くのピンが必要ないアプリならこれでよいかな。OLEDにステータスなどを表示できるので便利そう。
三連休ですが天気がイマイチですね。以前10月10日が晴れの特異日で東京オリンピックの開会式の日程となり、それを記念して体育の日が設定されました。今年も10日(金)は晴れ間がありました。
温度ロガーの測定時以外はスリープ(ライトスリープ)するようにしてみました。timerで測定時間間隔毎に目覚めて、測定して液晶表示を書き換え、microSDに書き込む処理を行います。その後、再びスリープ。
下の写真はスリープせずにずっと起きているときの消費電流で約41mAです。意外と少なく、2,000mAhのリチウム電池で約2日間持ちます。
前回、ユニバーサル基板に載せたら液晶表示ができなくなったと書きましたが、さんざん調べた後でとんでもない凡ミスだったことに気付きました。
I2CのSDA(IO21),SCL(IO22)の論理ピン名と、ESP32の物理ピン番号を間違えていて、SDA(IO21)を物理ピン21へ、SCL(IO22)を物理ピン22へ繋いでいました。先週から何度もチェックしたり、半田付け具合を確認していましたが全く気付かずにいました。今朝の朝食後にタブレットで何気なくピンアサイン表を眺めていて突然気付いた次第。トホホです。
昨日、6年前にAmazonの箱とダイソー300円スピーカで作ったFMラジオが突然鳴らなくなりました。普段、かみさんがキッチンの窓際に置いて聴いているので段ボールが日焼けして白くなっている。2代目として本気出してMDFで作ったラジオはリモートワーク部屋に置いてある。最近はほぼ出勤であまり使わなくなった。
当初エネループの電池切れだと思い充電した後、取り付けようとしたときに電池ボックスが壊れていたことに気付いた。外すときには気付かなかった。
1週間遅れでようやく彼岸花(ヒガンバナ)が咲きました。今年は記録的な猛暑の影響で流石にヒガンバナの内蔵タイマもズレたのでしょう。 まだ半分くらいは蕾です。
ヒガンバナについては 一昨年にも書いていましたが、そのときはピッタリでした。
それにしても廻りの雑草がひどいな。
温度ロガーをケースに収めるためにユニバーサル基板に実装しています。主要部品の実装が完了したので、プログラムを書きこんでみました。写真右上に見えるピンソケットが書き込み用の端子。
無事に書き込めましたが、液晶画面に何も表示されません。通常だと最初にWiFi接続中のメッセージが表示されるはずがダメです。そこで適宜デバッグのためにSerial.printlnを入れてどこまで動いているか見てみました。シリアルモニタで見ると処理は正常に動作しているようです。温度ログもmicroSDにも書き込めています。
温度ロガーはユニバーサル基板に載せてケースに収めることにしました。
基板や部品を手元にあったタカチのケースに収める検討を行い、取り合えず液晶画面の表示窓を開けたところ。写真は液晶を裏からマスキングテープで仮止めした状態です。
測定間隔の時間設定はmicroSDに設定ファイルを置いていましたが、時間設定を変えるたびにファイルを書き換えるのが面倒でした。測定間隔は1秒、10秒、30秒、1分、10分位で十分なので、タクトスイッチ(黄色)で切り替えるようにするつもりでスイッチの穴を開けています。プログラムはこれから。
先日、温度がずれているのでAD変換の電圧範囲を変えて無理やり合わせた、と書きましたが、温度センサMCP9700Aのオフセット電圧(0℃の時の出力電圧)を間違えていたのに気付きました。0.5Vが正しいのですが、0.4Vで計算していました。
また、ESP32のAD変換のキャリブレーション値による補正ですが、analogReadMilliVolts()で取得すれば補正後の電圧がミリボルト単位で取得できるということで試してみました。室温は手元にあった温度計と比較してほぼ近い温度が表示されています。28.0℃と28.2℃は温度センサの個体差でしょう。ちなみにAD変換は100回測定した平均値を使っています。