2026年1月31日土曜日

TOFセンサ(測距センサ)を試してみた

TOF(Time Of Fright;飛行時間)センサというものを試してみました。VL6180というチップを使ったTOF050C(50cmまで)と、VL53L0Xを使ったTOF200C(2mまで)の2つのモジュールを購入してみました。とても薄くて小さいモジュールで、何かに組み込むにはよい感じです。

TOFセンサについては下記のサイト参照。



裏側はこんな感じです。


arduino nanoに繋いで動かしてみました。VL6180X library by Pololuというライブラリを使い、サンプルスケッチをほぼそのまま。まだ殆ど調べてません。配線は電源アースの他にI2CのSDA,SCLの2本のみです。

50cmまで測定できるTOF050Cですが、最大255mmが返ってきました。設定で変更できるのかも。センサの前で手を動かすときちんと反応します。距離もほぼ合ってます。こんな短い距離で光の飛行時間差が分かるというのが凄い。



#include "Wire.h"
#include "VL6180X.h"

VL6180X sensor;

void setup() {
  Serial.begin(9600);
  Wire.begin();  
  sensor.init();
  sensor.configureDefault();
  sensor.setTimeout(500);
}

void loop() { 
  Serial.print(sensor.readRangeSingleMillimeters()); 
  Serial.println("mm");
  delay(1000);
}

最終的に非接触のスイッチを作ろうと思っています。数十センチ離れていても反応するようにしたいので、フォトリフレクタではちょっと力不足。シャープの測距センサはちょっとでかいのでこれを試してみました。常時動かすのでセンサの寿命が気になるところですが。


2026年1月29日木曜日

iPad Pro(9.7インチ)のバッテリが、、、

かみさんが使っているiPad Proのバッテリがすぐなくなるというので調べてみました。このiPad Pro2016年12月に購入したので今年で10年目。この機種は自分ではバッテリの状態が分からないので、Macに繋いでcoconutBatteryというアプリで確認。下記がその画面。

Manufacture dateが2017年8月になっていて、あれ?っと思ったが、一度画面表示がおかしくなって修理に出したことがあるのを思い出した。1年以内だったので本体ごと交換されたのだと思う。ということで、この個体は使い始めて8年数か月くらい。


Battery Healthが46.8%となっており正常時の半分以下。充電回数も657回と多く、一般的な仕様の500回を遥かに超えている。すでにAppleによるバッテリ交換サービスは終了していた。正規ショップ以外ならまだ交換できるかもしれないけど。

10年前に発売された機種だけど、普段かみさんがYoutubeを見たり、雑誌を読んだり、ネットを見るにはまだまだ十分使える。昨日だったかはセキュリティアップデートも配信された。まだ見捨てられてない模様。

家から持ち出すことは殆どなく、常時ACアダプタに繋いで使うと言っているのでしばらくはこのまま。この先、不便になることがあったら買い替えるかも知れない。

2026年1月25日日曜日

2ch温度ロガーの製作(11;校正)

校正というのか、温度を無理やりオフセットして手元にあるシンワの温度計と同じになるようにしました。写真はすべて同じ19.4℃を表示していますが偶々です。0.1~0.2℃位は動きます。そもそも単純にオフセットしてよいものなのか? 温度によって変わりそうな気もするけど。そこまで精度を求めるものでもないので、これで完了とします。


センサを繋いだポートのAD変換、キャリブレーション値による補正変換、無理やりの校正は以下のような感じです。補正変換は100回測定の平均値をとってから1回でよいかも。
float temp_sensing(const int sensor) {
  float offset;

  uint32_t voltage_mV = 0;
  const int N = 100;
  for ( int i = 0 ; i < N ; i++ ) {
    int adcRaw = analogRead(sensor);
    // ADC値 → 電圧(mV)(補正済み)
    voltage_mV += esp_adc_cal_raw_to_voltage(adcRaw, &adc_chars);
  }

  // 電圧 → 温度(℃)
  float temperatureC = ((float)voltage_mV/N - 500.0) / 10.0;

  // 温度センサ毎の校正
  if (sensor==SENSOR_PIN1) offset = -0.9;
  else offset = -1.2;

  return temperatureC + offset;
}

需要があるか不明ですが、回路図とスケッチ全体はコードを少しキレイにしてから公開します。

2026年1月24日土曜日

2ch温度ロガーの製作(10;評価)

しばらく放置していた2ch温度ロガーのプログラム書き換えやケースへのラベル貼りが終わったので、ヨーグルト発酵時の温度推移を記録して評価してみました。

発酵器の設定温度は40℃なのですが、温度ロガーの示す値は44.3℃と高い。まぁ発酵器も自作なので温度の精度は不明ですが、こんなに違うのはちょっと変。以前から薄々高くでるなと思ってはいたのですが。


発酵器は以前、納豆発酵器として作った以下です。最近はもっぱらヨーグルト作りに活用しています。もう15年になるのかと少々驚いてます。
センサの一つは扉の取っ手に引っかけてあります。稼働中は扉も若干温まるので室温よりは高めになります。温度コントローラの温度表示が消えているように写っていますが、ダイナミック点灯で、カメラのシャッター速度が速くて写りませんでした。

もう一つのセンサは、発酵器の内部の牛乳ヨーグルトの種を入れたタッパの横。発酵器の温度センサと並べて配置してあります。


1分毎に記録した温度推移はこんな感じ。45℃近くまで上がっていますが、実際はこんなに高くないと思う。室温が12時前後で高いのはファンヒータを動かしていたため。


ChatGPTにESP32のAD変換について聞いてみて、個体ごとにキャリブレーション値を持っているのでそれで補正すればよい、との回答だったので一応キャリブレーション値を表示してみた。

デフォルトVref(mV) 1100に対して、1135だったので少々高い。ここから逆算して温度を補正すると44.6℃が41.7℃になる。それでも高い気がする。補正値を考慮して電位を返してくれる下記の関数があるのでそれを組み込んでみた。

uint32_t voltage_mV = esp_adc_cal_raw_to_voltage(adcRaw, &adc_chars);

それでも、手元にあるシンワの温度計2台が示す室温19.7℃に対して、ch1:21.1℃, ch2:21.4℃ と約1.5~1.8℃程高い温度になる。chの温度差はセンサの個体差だと思う。

chatGPTに聞いたら以下の答えが返ってきた。

原因①:MCP9700Aの仕様上の誤差(一番大きい)

データシートより

  • 精度:±2℃(典型)

  • 室温付近でも普通に ±1℃ 以上ズレる

つまり👇

1.5℃ズレてても「正常範囲」

これ、地味にショックですが事実です😅

今すぐできる対策(効果順)

対策①:1点校正(超おすすめ)

室温を正解として補正

const float tempOffset = -1.5; // 実測差分 temperatureC += tempOffset;

👉 温度センサは 校正してナンボ


ということでオフセット補正することにします。

2026年1月17日土曜日

初代Macintoshデザインの時計

アリエクを彷徨っていたらMaclockなる初代Macintoshを模した時計があったので、懐かしくなって思わずポチってしまった。


 私が初めて買ったちゃんとしたパソコンがMacintosh Classicだった。それ以前はApple-][のパチモン基板を使った自作マイコンだったし、さらに前は1ボードマイコンのTK-80に自作のビデオカードを繋いでテレビに表示してBASICなどを動かして遊んでいた。

Classicも筐体は初期のデザインの復刻版のような感じで、小さな白黒モニタ一体型のコンパクトなパソコンでした。当時、100MB程度のHDD搭載で20万円位だった気がする。まだ持っているが押し入れの奥に仕舞い込んであるので出してくるのは大変。昔の写真を探したら以下があった。

Mombasaというゲームを動かしているところ。麻雀牌を積んであるところからペアを探して消していく「上海」というゲームの「モンバサ(ケニアの都市)」版だ。絵柄が麻雀牌ではなく、アフリカにちなんだものになっている。

届いたMaclockの箱。この箱が例のグレーで内側が黒いビニール袋にそのまま入って届き、裏側の角は潰れていた。


取り合えず電源を入れて日付と時刻を設定。電源はディスケット(フロッピーディスクのことをディスケットと呼んでいた)を挿入することでオンになるギミック。Appleのリンゴのロゴなどはシールになっている。


前面のワンポイントのリンゴマークのシールを貼ったところ。ディスケットにも貼った。まだ挿入していないので電源は入ってない。


ディスケットを入れて電源が入ったところ。バックライトはしばらくすると消える。


背面のデザインも踏襲している模様。右下に見える黒い穴がUSB Type-Cの充電ポート。


権利関係はどうなっているのか気になるが、著作権?意匠権?は切れている?

時計に飽きたらケースだけ使ってESP32とLCDパネルを組み込んで何かできないかな、とか考えています。

2026年1月10日土曜日

沢山の電球が発掘された

年末年始は、年次休暇を2日付けて11連休もあったけど、過ぎてしまえばあっと言う間。

休みはあったのに寒いという理由を付けて、大掃除から外した納戸の確認をこの3連休でようやく実施。取り合えず断捨離候補に何があるか確認していたら、沢山のフィラメント電球電球型蛍光灯が発掘された。

かなり前にLED電球に交換したときに外したもの。切れている訳ではなかったので取っておいたのだと思う。この他に未使用のサークライン蛍光灯、蛍光管もでてきた。2本セットを買って1本した使ってなかったと思われる。


蛍光灯は有害ゴミ、フィラメント電球は燃やせないゴミとして次回の回収日に出します。結局納戸の片づけは何があるかの確認だけで、これらの電球以外は全然手つかず。

自分が子供の頃の卒業文集や賞状、昔の給与明細や辞令、賞状などが段ボール箱3つ程あることがわかり、処分することにした。ただそのままでは捨てられないのでシュレッダ処理が必要で気が重い。3連休、あと2日あるので少しは何とかしたいと思う。

p.s.
クリスマスイブの横浜夜景 の記事に、横浜ヨルノヨ2025の動画(1分12秒)を載せました。載せようと思っていてすっかり忘れていた。Lチカ好きには外せないイルミネーションイベントでした。香港のシンフォニー・オブ・ライツ深圳の帰りに寄った香港の様子(2019年11月) 参照)には及ばないけど楽しめました。