今日、スーパーのセルフレジで会計していたら、支払いの手前で店員さんが来て、「あと※円(10円未満)で*百円のクーポンが出ます」とか言って来た。数千円分のスキャン済みの物は一体どうするのか、そういう考えもなしに声を掛けて来たのは まったく無駄で、「余計なお世話」としか言いようがない。どうしようもないことを言われたので、僕は ついちょっと強く、「これ(バッグに一杯のスキャン済みの物)どうするんですか? このままじゃ駄目ですよね?」などと言ったが、なんか良く居るクソなオヤジみたいだったと後悔している。

そしたら、店員さんは「他の方は、ちょっと抜け出して追加を持って来たりセルフレジの辺りの(100円くらいの)物を買ってますよ」とか言ってたが、言語道断だ。

こっちは、会計金額の1割にもなるクーポンがもらえないうえに悔しい思いをさせられて、嫌がらせかとすら思ったよ。親切心からなんだろうと本当に思うが、もう少し良く考えて欲しかった。そういうのがあるなら、前もって、店の目立つところにそういう表示をしておけばいいものを。

そもそも、今は商品に値段が貼ってないから、事前に合計金額なんて分からないから、そういうやり方は駄目(客の立場でない)なんだと思う。結局、前もって知っていた人はクーポンをもらおうと多目に買うかも知れないし、レジで知らされた人は何も考えずに手早く余計なものを買うので、店としては儲かるんだろうが、であれば狡猾だ。

今日は、その前に別件(あとで書きたい)でガクッとしていたので、それが数十倍に増幅されて大変疲れた・・・

そのせいで、夕食に買った物の半分も食べられなかった。まあ、買い過ぎたのはあるし、明日食べればいいけどね。

→ 要するに、その多過ぎた分を買わなければ、こんな下らない目に遭わなかったということで、まあ、ちょっと自業自得か。でも、以前も書いたが、疲れている時は正常な判断ができないものだ。だから、今日は、そこで怒鳴ったり暴れたり、帰りに車で事故ったりしなかったのが幸いとしておこう。

  •  1
  •  0

コロナのワクチンでロットごと異物混入があったという他に、注射針を刺す時にゴムが削れて異物になった?で思った話:

僕は、ずっと昔、子どものころから そんな心配をしていた。例えば以下だ。

  • 昔のアンプル(瓶の頭を折って開けるもの)では、折った時のガラスの破片は入らないのか?
  • そもそも細かい埃や細菌など(瓶の針を刺すゴムの表面に付着しているなど)が液に混入しないのか?
    • まあ、そもそも皮膚の表面にもそういうものは多い。
    • あらかじめアルコールで拭くだろうから大丈夫か。
      • ただ、アルコールに耐える菌などは?
      • 拭いたあとで付着した場合は?
  • 針先に わずかに溜まった空気も問題ないのか?
    • 昔は、注射する前に針から少し出して防いでいたように思うが、今は見ない。技術が発達して、溜まらないのか。
  • (書いてから思ったこと) 瓶から何度も液を取る場合、保存している時にゴムの穴から細菌などが入り込むことはないのか? あるいは、針を刺す時に入らない?
    • 水などの分子と細菌のサイズ感がないので、分からない。でも、ウイルスは入りそうだ。まあ、ウイルスは自分では動けないので、基本的には大丈夫か。

考えても分からないし、誰も不具合を訴えていないので(実は、ごくわずかに問題が起こっているのかも知れないが、「原因不明」になっているのか?)、

  • そもそも医師などは そこら辺をちゃんと理解して、問題が起こらないように施術(というのか?)しているのだろう。
  • 細かい異物(空気や埃など)は、きっと、人体のファジーさでうまく許容されているのだろう。

などと思って納得していたが、今回改めて疑問が復活した。

それにしても、針を挿す時にゴムが削れて異物になったのであれば、プロはいつもやっているから滅多に起こらないであろうに、なぜ起こったのだろうか。その材質が悪いのだろうか? 緊急事態で慣れていない方がやったから?

そう言えば、今回は通常は資格のない方も動員する話があって危うい気がしていた。まあ、それが原因だとは思えないが、やっぱりリスクが高いと思う。

 

それから、そういう「異物」を目視でチェックして見えなかったからOKとしても、見えないもの(異成分?)は どうなのだろうか? 僕には、目視だけで異物を確認すること自体が脆弱に思える。とは言え、注射の前に薬液の分析をする訳にも行かないので、製造者を信じるしかないのだろう。だから、メーカーには充分過ぎる品質管理・保証体制が要ると思う。

そして、ロットごと異物混入があったというのでは、そのワクチン・メーカー自体に問題がある可能性があるので、一旦全部停めるべきだと思うのだが、なぜか そうするつもりはないようだ(得意の「直ちに問題は生じない」?)。

僕には、良く聞く「安全・安心」というのは掛け声だけ・「口ばっかり」だと思える(「これについては そんなこと言ってない」と言われそうだがw)。

  •  0
  •  0

随分手こずったが、ようやく、センサモジュール(YL-40)で温度(室温)が まともに測れるようになった。量が多くてちゃんとした文章にするのが大変なので、下書きの箇条書きを少し手直しして載せる。そのほうが却って読みやすいかも知れない・・・

なお、番号の箇条書きは時間順である。

YL-40の温度センサ(サーミスタ)での温度測定(計算)の調整・較正

  1.  サーミスタの温度が合わない(おかしい)。
    • ある温度に幅広い抵抗(その逆も)が対応するため、どうしても合わない場合ができる。
    • ただ、それ以外に変な挙動があった。: 温度計と全然合わないことがある。 (例: グラフ: 13時辺りの水色の線(温度計での室温)や13:30辺りのベージュの線(センサでの温度)の凹んだところ) → 後述の「センサ(サーミスタ)と温度計がズレたまま直らない問題」だった。
      • ADCの変換誤差、温度・電源変動かと思って調べたが違うようだった。
  2. 体温計のサーミスタを試す。 → やっぱりYL-40のでもいいんじゃない?
    • 古い体温計分解してサーミスタを取り出して、YL-40に繋げてみた
    • ある程度、それらしい温度が取れるようになったが、敏感過ぎるのか変動が激しい(グラフ: 赤線)。一方、YL-40は小さいケースに入っているせいか、温度変化速度が適度な感じ(グラフ: オレンジ)。
      • 近似式のパラメタが今ひとつのせいか、不安定なこともあるようだ。
      • ただ、YL-40も、サーミスタの仕様(B, R0, T0)がわからないと、正しい温度を得るのは難しい。
    • 体温計とYL-40のサーミスタの挙動(温度変化)が近かったので、YL-40でも行けそうな気がした。
    • 室温(温度計)との差は、計算誤差以外に気流や温度計の熱容量の影響もあることが分かった。
      • 場所でも異なる。たった20cmくらいでも、0.2℃くらい違う。
    • 体温計のサーミスタと取り付け基板を見て、マジンガーZみたいなアニメの操縦機とかボスボロットを思い出した。
  3. やっぱり、YL-40のサーミスタも合わないことがある(惜しい)。
    • 24℃台が駄目(低過ぎる)。
  4. → 近似式(Steinhart-Hartの式)を止め、通常の式(B係数を使うもの)に戻した。 → 25-26℃台はなかなかいい? (→ グラフ: ベージュ)
    • ただし、係数を試行錯誤で決めた。
    • 一番の決め手は、(Bでなく)R0(一般的に25℃での抵抗値)が仕様(と思われる: 参照したページより)の4.7kΩと異なっていたこと(約5%大きい感じ)。
      • 以前は直列抵抗を変えたが、それよりもちゃんと効く。
    • この頃は寒くなってしまったので、高温での確認ができなかった(が、後に充分できた)。
      • 過去データでシミュレーションはできて、それでは悪くない結果になっている。
    • 電源on後は、サーミスタや基板やケース全体が温まる(?)まで、約30分間は温度が低目になる。 ← 実はPCやアンプやサブディスプレイの熱の影響で、それらが温まるのに時間が掛かっていたのだ。(後述)
  5. 温度分解能を上げる(温度ステップを小さくする)ため、サーミスタの直列抵抗を5.7kΩに変更したが、全く効果がなかった・・・
    • 元の抵抗1kΩの代わりに付けていた4.7kΩを元の抵抗に直列に繋いだ。
    • スプレッドシートで試算しての経験則だが、温度分解能(温度レンジでの最大・最小電圧の比に関係する)を最大にする直列抵抗は、上限と下限でのサーミスタの抵抗値の相乗平均になるようだ。
    • ただし、電圧はADCで量子化されるので、その電圧ステップ・温度ステップと区切りの電圧・温度を考慮する必要があり、その結果、分解能の変化が吸収されてしまい、効果がなかった。
    • 現状の温度ステップは15-30℃の範囲では約0.36℃で、想定される温度誤差は約±0.36℃。
      • なお、オリジナルの温度ステップは約0.65℃。
    • その後、サーミスタの非直線性による量子化誤差のバラつきを減らすため、15-30℃でリニアライズできる抵抗4.1kΩに換えた。
      • リニアライズの原理を良く理解していないし、通常の直列抵抗とどう違うのかも分からない。ただ、AD変換の出力の区切りの温度がなるべく均等になりそう(→ 量子化誤差のバラつきが減る)だと思って試した。
      • 温度ステップは約0.36℃で変わらず。
    • その後、4.1kΩを構成する2本の抵抗の片方の精度が悪くて(5%)気分が悪いので、1%の20kΩに交換して4.06kΩにした。
      • おそらく、温度を計算する時に抵抗値を補正すればそのままで良かったのだろうが、精度が悪いものは温度特性も悪いかも知れないので交換した。
      • ところが、あとで試算したら、誤差に効くのは値の小さいほう(精度1%)だったので、無駄なことだった。が、戻すのは面倒なのでそのままにした。
    • 更に温度分解能を上げたくなり、ADCの基準電圧(VREF)を5Vから3.3Vに下げて分解能を上げることを検討し、サーミスタの直列抵抗を調整することで、現在の約1.5倍の分解能の0.23℃にできそうなことが分かったが、分解能と精度は異なるので、単に無意味に細かい数字が出るだけの可能性があるので、やっぱり止めた。(でも、やってみたいw → 結局実施した(後述)。)
  6. その後、高温(最大約29℃)で測ったら温度が合わず、試行錯誤してR0を調整して5040Ωで計算するようにしたら(Bは想定される仕様どおりの3977)、なぜかうまく合うようになった。
    • 5040Ωは元の値と思われる4.7kΩ+約7%。 → その後測っていたら、27℃で4.7kΩになることが分かり、サーミスタの仕様は「R0は(通常の25℃でなく)27℃で4.7kΩ」だったのかと思っている。
      • あるいは、R0は25℃で5kΩ(上の5040Ωとほぼ同じ: 誤差0.8%)なのかも知れない。計算上は同じ特性・曲線になるはずだ。
    • それからは なかなか「いい感じ」になった。高温(最大30℃)でも問題なかった。 (→ グラフ: オレンジ, R0調整前はベージュ)
    • 合わない原因として、温度による電源電圧の変動による影響を疑い、別の電源(USB)を使って電源(VGAの5V)の電圧を測ったが、余り関係なさそうだった。 (→ グラフ: 赤の前半。後半はVGAから電源を取って測ったので余り意味がない。)
      • 基板の電源に使っているPCのVGA端子の5VはPCの他の5Vと共通だろうから、大きく変動することはなさそうだ。
  7. つい魔が差してw、上記のADCの基準電圧(VREF)を5Vから3.51Vに下げて分解能を上げた。
    • ADCは一定の段階(YL-40は256ステップ)で区切って電圧を数値に変換するので、全体に割り当てる電圧範囲を狭めれば(= VREFを下げる)、1ステップ当たりの電圧が小さくなる。一方、サーミスタの温度は抵抗の電圧から求めているので、結果として温度ステップも小さくなる(= 温度分解能が上がる)。
      • 電圧ステップは元の19.5mVから13.7mVになった。
      • 温度ステップは元の約0.36℃から約0.25℃と、約1.4倍に向上した。
        • オリジナルは約0.65℃だったので、約2.6倍にまで向上した。
    • 予想以上に大変だった。
      • サーミスタの直列抵抗を測定可能温度範囲と15-30℃での直線性と分解能で調整した。 (参考: 直列抵抗とADC出力のグラフ)
        • 測定可能温度は5Vの時(グラフ: 青実線)は0℃以下でも可能だったのが約11℃以上と狭くなった。が、そもそもPCは10℃以上で動かすべきとのことなので、大きな問題はないとした。
          • ↑ 書くまでは7℃以上だと思い込んでいたが、グラフを見て「おや」と思って再確認して約11℃と分かった(VREFが5Vの場合と取り違えていたようだ)。ちょっと気になるが、まあ、室温が11℃のまま我慢できることもないだろうから、今のところは良しとする。
            • もし、7℃くらいの低温から使うなら、直線性は低下するが、抵抗を6kΩくらいにすれば良さそうだ。
          • なお、オリジナルの抵抗1kΩは、分解能は低く、直線性も悪くて何もいいことがない、まさに「テキトーに付けた」としか思えないものだ・・・ (グラフ: 黄実線)
      • 基板の改造量が「半端なかった」。 (後述)
        • 動作確認するまで忘れて居たが、光センサ(CdS)の直列抵抗も変える必要があった。
        • ジャンパピンで元の構成(Vref= 5V, 光・温度センサの直列抵抗)に戻せるようにしたせいもある。
      • 間違って(勢い余って)切ったパターンもあって、その修正もした。
      • ソフトの対応(光・温度センサの出力レベルの変換)や再較正も手間が掛かった。
  8. 当初の設置場所の机右側はPCやアンプやサブディスプレイの熱が影響する可能性があることが分かり、新たな位置を探した。
    • PC・アンプとセンサの電源onから数十分すると、測定される温度が上がるのが証拠(上記の「約30分間は温度が低目になる」)。
      • 当初はセンサ(サーミスタ)が定常状態になったと思って居た。が、それには長過ぎる。
    • 机から少し離れた本棚辺りだと影響が少なくなり、サーミスタの抵抗値と温度との相関が高まった(移動前に比べ、移動後は抵抗値に対応する室温の幅が狭くなった)が、まだ完全ではなかった。
      • 一方、影響のない離れたところ(壁際)は机の温度と異なるので体感に合わず、実用性がない・・・
    • 机の左端にした。
      • 前に障害物がないため今までより明るいので、その補正式を作った。
        • 明るさに応じて明るさを減らす。比例ではなく、とても明るい場合は より減らす。
          • l': 補正後の明るさ, l: 明るさとすると、
            • l'= m(l) * l
            • m(l)= k * l + m0
          • 現在のパラメタ: k= -0.0025, m0= 0.95
        • 当てずっぽうで作ったのだが、結局、2次関数での補正となった。CdSの特性は対数なのに、どうしてこれでいいのかは分からないが、使ってみると悪くない。
          • 使っている明るさの範囲でのCdSの抵抗値の曲線と2次関数の形が似ているのだろうか?
          • 対数・指数関数での補正も試したが、うまく行かなかった。式が間違っていた(対数と指数の順序が逆だった?)のかも知れない。
  9. 「センサ(サーミスタ)と温度計がズレたまま直らない問題」が勃発(再発)
    • センサの温度が温度計より低い・高いままの状態がしばらく継続する。 → 例: グラフ: 13時辺りの水色の線(温度計での室温)や13:30辺りのベージュの線(センサでの温度)の凹んだところ。
      • 例えば、暑くて冷房を強くしたあと、エアコンの風が弱まった場合に起こる。
    • なぜか、温度計(センサの場合もある)内部に熱・冷気が溜まることがあるようだ。
      • (1分くらい)ファンで送風すると温度計の温度が本当の室温に合う。
        • 手であおいでも、なかなか効果が出ない。
      • センサと温度計の反応速度差(熱容量による)もあり、なかなか原因が分からなかった。
      • そういうことがあるのか まだ疑問だが(普通は、時間が経てば熱は拡散するので)、この場合は温度差が1℃未満(0.5℃など)と小さいので、温度計のケース内の空気で長く保温されてしまうのだろうか。
    • センサは通風がいいように設置することが重要そう。
      • 何か(柱など)にくっつけると良くなく、孤立させたほうが良い。 → センサを台に直接付けず、スペーサーで約1cm離した
        • スペーサーは、PCケースのスロットの未使用レールを保持する部品を加工して作った。: 適当な大きさに切ったものを上下に貼り合わせて、センサのケースと台が貼れるようにした。
      • 温度計もその必要があるが、そういう作りではない。: サーミスタは浮いているが、ケースの中なので今ひとつな気がする。
    • 調整と測定の日々・・・
      • 場所や設定を変えては、日がな室温を変えつつ※温度計とセンサの値を記録してチェック・一喜一憂していた。
        • ※室温を変えるのは冷房のoff/onでやるので、なかなか身体には悪そうだ。が、まあサウナだと思えばいいかw
      • ADCの温度特性による変動も疑い、電池の電圧の測定もした。
        • 試しにドライヤーで35℃くらいに熱して冷ましたら、一時的に電池の値が1cnt上がったが、その後戻った。温度変化でADCの出力が変動したのか たまたまかは不明だが、温度の値がずっと変わったままになる(器用な)現象とは異なると考えられる。 (→ グラフ: ベージュ: 温度, 紫: 電池(電圧ではない))
        • → 結局、通常の状態では電池(電源とは無関係に電圧がほぼ一定)の電圧値は全くと言っていいほど変動せず(→ グラフ: 紫の線)、ADCの温度特性は問題ないことが分かった。
        • 最初は、定電圧を生成する部品(ツェナーダイオードやLDO)はないので、(無意味そうな気がしつつも)電源から抵抗で2.5Vを作って測ったが、ふと、「電池でいいじゃん」と気付いた。電力を消費しなければ、数時間くらいは問題なく一定電圧を保つだろう。
    • 結局、この問題と温度計とセンサの反応速度差、それからPCなどの熱のために温度計とセンサの値がずれて、計算式を何度も変えたり体温計も諦めたようなもので、なかなか意外なところに落とし穴が いくつもあった。

YL-40基板の改造

  1. 上記の温度センサ(サーミスタ)の直列抵抗を変更した。
    • 抵抗で直線性と温度分解能が決まる。
      • ADCを使う場合、直線性がいいほうが温度ステップが均等になるので良い。
    • 最初は4.7kΩにし、次に5.7kΩにし、その後約4.1kΩにした
  2. ボリュームを外し、パスコンを交換・追加した。(それらの温度変化による、電源・ADCへの影響を疑ったためだが、そうではなかった)
    • パスコンは元のを外し、タンタルとセラミックにした。
    • タンタルは大きいので、外したボリュームのところに付けた。
    • 味気なかった基板にオレンジと青が加わって、カラフルになった。
  3. ADC/DACの基準電圧(VREF)の変更: 温度分解能を高めるため、PCF8591のVREF(ピン14)の電圧を5Vから3.51Vにした。
    •  その電圧は抵抗で電源(5V)を分圧して作った。
      • VREFピンの入力抵抗がそれほど高くないせいか、最初に大きな抵抗を使ったら電圧降下したので、1/10(2kΩ+4.7kΩ)にした。
    • 当初は3.3Vを考えていたが、3.5Vのほうが手持ちの抵抗で作りやすく、3.3Vは おぼろげに浮かんで来ただけの値でw、ぴったりにする必要はなかったのでそうした。
    • 新しいVREFに合うように温度センサ(サーミスタ)と光センサ(CdS)の直列抵抗を変更した。
      • サーミスタは5.1kΩに、CdSは7.8kΩにした。
        • CdSの抵抗を換える予定はなかったが、CdSの電圧がADCに対してオーバーフローするので変更した。
    • VREFと各センサの直列抵抗を、ジャンパピン(P4,5,6)をショートすることで元の状態に切り替えらえるようにした。
      • CdSの抵抗も換えなくてはならなくなってジャンパピン3個を全部使ってしまったので、当初の計画だった、ジャンパピンで電源LED(D2)を暗く光らせるようにするのはできなかった。
        • それ以前に、ここまでの改造で疲れて する気も起こらなかった。
    • DACの出力も小さくなるので、そのままのプログラムからの出力ではLED(D2)が光らなくなったので、出力する値を調整した。
    • 思って居たより大掛かりな改造になった。: 基板表面は余り変化が分からないものの、裏面はジャンパ線と抵抗で一杯になった。
      • ジャンパピンからのパターンを切る時、思い込みでGNDを切ったり、勢いで、切らなくていいパターンまで切ってしまったので、その修復のための線が増えた。

※参考までに、最新のハードウェア構成図と改造後のYL-40基板の回路図を載せる。

スタンドやコードをちゃんとした。 → 光・温度センサのハードが完成した。

  • センサをスタンドのポールに取り付ける延長ポール付き台を作った。
    • 延長ポールは半田のケース(丁度、スタンドのポールに嵌まる)を、ポールと台の角度を付けるのにはスピーカー保護キットで使わなかったターミナルを挟んで接着した。
    • センサを取り付ける台は猫のカレンダーのベースを使った。
  • VGAコネクタをちゃんとした。
    • シェルの前側(コネクタを囲む部分)の前半分を後ろ半分に半田付けした
      • 元々は固定ネジ用の穴の内側からハトメのように固定されていたが、分解・改造するためにそれを外したため。
    • シェル本体(後側)の上下部は結束バンドで留めた。
    • シェル本体(後側)は前側の後ろ半分に爪で引っ掛かっているだけなので、コネクタを抜く時に引っこ抜けないか心配・・・ → あとでダクトテープを巻いた。

ソフトの拡充・改良

  • 部屋の明るさ、ディスプレイ輝度、室温をsensors(改造版)(図の"YL-40"以下)やMuninで出せるようにした(→ , )。
    • 「改造版」と言っても、元々Muninのカスタマイズ用にsensorsの出力を加工して出すものを作っていて、それにYL-40の値を追加しただけである。
    • Muninでは、明るさを1/2にして、温度変化を分かりやすくした。
    • Muninのグラフを比較して、マザーボードの温度は室温に比例することが確認できた。: マザーボードの温度= 室温+約6℃。
      • ただ、マザーボードの温度は1℃ステップなので、室温計の代わりにはならない。
  • Xfceのパネルに測定した温度(室温)を出せるようにした(図の"Room"の下)。
    • つい、湿度や外気温も ずらっと出したくなる・・・
  • センサ値を読む時にADCから値を連続して数回(現在は4回)取って平均することで、精度や分解能を少し改善できるようにした。
    • 雑音的な変動の影響が減らせる。
    • いつもではないが、センサの値がADCのステップの中間で変動している場合に中間値が取れる。
      • 例: ADCのステップでの温度27.76℃と28.01℃の間の27.82℃などが出ることがある。
  • 他にもいろいろしたい細かいことはあったが、基本的にちゃんと使えるので、まあ「おいおい」とした。

仕上げ

センサのケースの蓋を、結束バンドを成形したもので閉じた。固く締めておらず、引けば横に抜けるので、メンテも容易である。また、上述のように、センサの温度追従性を高めるため、スペーサーで台と離すことにした。

それを再度ちゃんとスタンドに付け設置して完成。 ・・・ だったらいいな^^

なお、下の写真を撮影したあとに、メインディスプレイ(EIZO CX241)の熱の影響を避けるため、センサをもう少し左、机の左奥の角辺りに移動した。サブディスプレイ(同S170)と違ってメインディスプレイの側面はほとんど熱くならないが、それでもわずかに熱を持つことが分かった(気がした)ためである。

ちなみに、今日(8/29)のYL-40での室温測定結果は問題なかった。既知の「熱・冷え溜まり」による温度差は一回あった(11:30頃)ものの、全体的に良く温度計に合っていた(温度計との差は概ね±0.25℃以内だった)。

雑感

  • 最初は、サブディスプレイの輝度の自動調整がしたかったから明るさが取れればいいと思って居たのに、いつの間にか温度がメインになってしまった・・・
  • 温度は意外に細かく測る必要があり(でないと体感に合わないことがある)、今の0.25℃ステップでも不満なくらいで、0.1℃ステップにしたいくらいだ。
    • もちろん、分解能だけ高くしても駄目で、その分の精度を確保する必要はある。
  • 冬になると今は測れない低い温度になりそうなので、また確認と調整が要りそうだ・・・
  • ついでに外気温や湿度も測りたいが、全然「ついで」には行かない。測れたって、「おもしろい」以外に特にメリットはない(それでいいんだけどw)。
    • 外気温は体温計のセンサが使えるが、そもそも較正がクソ面倒なうえに、接続ケーブルが長くなるのでトラブルが起こりそうだ。 (でも、おもしろそうではある・・・)
    • 湿度はセンサがない。あっても、サーミスタと違って抵抗値で測れる訳ではない。
  • まあ、いつものように随分横道に逸れて なかなか大変で疲れはした(+暑かったw)が、おもしろかったし いろいろな知識が得られ、体験ができた(という書き方は意識高そうで嫌だ)。
    • たった数百円(新たに買ったものはYL-40基板だけ)でここまで遊べたのは、なかなか「コスパがいい」^^
    • YL-40は やっぱりいろいろ甘く、熟練者が見たら「お前、何考えてんだ! 常識ないぞ!」とか どやしそうだが、まあ、こうやって遊び・考え・苦しみながら「どうにか使える」ようにするのも一興だ(とは、余裕があるから言えるw)。

 

かくして、久し振りに再び作業机が片付いた。

 

PS. いつの間にか、シチズン小(または大)の湿度計も劣化していた。大と小の差が大きく、8%くらい違う。

  •  0
  •  0

去年の引越し後に、100円ショップでキーホルダーライトを買った。それまでは、車の鍵にはディーラーにもらったライトを付けていたのだが、部屋の鍵にも付けたくなったので買った。なるべく小さくてポケットに入れていても邪魔にならないものが良かったので、本体前部をひねって点灯させるものにした(調べたら、「ミニマムライト」という名前だった)。あと、色が気に入ったのもポイントだった。この手のものは普通は黒や銀だけだが、これにはピンク(しかも、「いかにも」とか安っぽくない色)のがあった。

ただ、そのひねる部分は、電池交換用に何回転かさせると外れるようになっているので※、(買う前に)使っているうちに 知らずに回転して外れる気がしたのだが、まあ気を付ければいいだろうと、それにした。

※高い製品だと、ラッチみたいなものでカチッとなって簡単には外れないようになっているだろうが、いかんせん100円なので そんな上級な仕組みはないと予想した。

それから一年半。悪い予想はやっぱり当たった。気付いたら、ライトがなくなっていた。気付くどころか、間抜けなことに車の鍵に付けていたライトがそれだと思い込んで、いつの間にか部屋の鍵のキーホルダーから車の鍵のに移ったと思って、何とも不思議に思いつつも、部屋の鍵のほうに戻した。

が、少しして、そうではなく、それとは別のライトがあったことを思い出して、どこかに落としたかと探したら、運良くズボンのポケットの中にあった。キーホルダーの付いている側は鍵と一緒に残るはずなのに、なぜか、キーホルダー側も含めてバラバラになって入っていた。運のいいことに、電池も含めて全部の部品があった。

それで、再発防止に、ライト前部が勝手に何回転も回って外れないようにした。とりあえず、前部に小さい結束バンドを付け、それにリード線を付け、そのリード線の反対側をキーホルダーの金具に留めた。リード線の色は合わせたものの、例によって見た目は今ひとつだ。

キーホルダーライトに回り止めを付けた。

自画自賛だが、リード線がない側を遠目で見ると、結束バンドの黒がアクセントになって、結構格好いい^^

見栄えの悪いリード線の代わりに、薄く しなやかで伸縮性のあるベルトのようなもの(そういう物があるかは不明)の両端を結束バンドで固定すると もっとかっこ良くなりそうだ(ベルトに結束バンドの長い部分を検討したが、硬いので駄目だと思う)。写真を見て思ったが、せめて、リード線が本体から浮かないように付ければ良かった・・・ あと、結束バンドの頭が大きくて邪魔だ。少し切ったけど、まだ大きい。

見てくれは良くないものの、意図した回り止めの効果は ちゃんとある。ただ、キーホルダー側のリード線の固定は縛ってあるだけなので、そのうち外れそうだ。もう少し何とかしたいが、そのうち忘れそうだw

 

書いたあとで思い付いたが、これがぴったり嵌まり、かつ、少し回せる、透明なゴムとかシリコンのチューブが良さそうだ。ただ、そんな都合のいいものがあるかは不明だw

(8/21 8:58) やっぱり改良したくなって、した。チューブはなさそうなので、回り止めベルトにしてみた。カードケース(PP? 塩ビ? スチロール?)を切ったものと、台所などに貼る吸盤(ウレタンゴム?)を外すタブを候補にした。カードケースは見た目は綺麗なのだが、点灯するために回すと折れるような感じで無理があったので、吸盤を外すタブにした。厚いのでちょっと目立つが、柔軟なので点ける時に多少引っ張っても伸びるから大丈夫そうだった。

結束バンドが2本になって目立つのが惜しいが、まあ、遠目に見ればアクセントになっていると言えなくもないし、眺めて愉しむものでもないから いいか(だったらリード線でも良かった気がwww)。(持ってないけど)透明な結束バンドに換えたり、ベルトの片方を接着すれば少しは良くなるが、うまく付くか。それに、そもそもそこまで手を掛ける物でもなさそうだ。

(8/21 18:51) 実は、これでも満足せずw、更に全く新しいやり方で改良した。もっと「シュッ」と、あるいは、シンプル、あるいは、タイトまたはソリッドにしたかったのだ。今は接着待ちなので、そのあとで追記したい。

(8/21 19:32) 僕の物の好みの大きな傾向として、「ふわっ」ととか「ぐにゃっ」としたのは嫌で、タイトまたはソリッドなものがいい。なぜ嫌かというと、そういうのは使用感がストレートでなく、はっきりせずに悪いだけでなく、比較的短期間で駄目になるからだ。前者はゴムとかテープとか、物が動き、摩擦を生ずることを前提とし、物の柔軟性に依存するもので、今回のライトの改良では最初と次のものの やり方がそうだ。

一方、タイトまたはソリッドなものというのは、柔軟性に依存しないハードコンタクトなので、使っている物が破損するまで機能が持続するという点で、長持ち・メンテナンスフリーだ。そもそも、(何もしなくても)機能が物理法則で保証されているという、確実性・永続性がある。そこが好きなのだ。

ここで思い付いた一句: テープより、接着・ネジ止め・半田付け。

(8/21 21:01 無事、接着できたようだ) どう改良したかというと、結束バンドを切った先端でストッパー(爪)を作り、それが相手側の結束バンドの留める部分に当たって、それ以上回らないようにした。ストッパーは、もう片方の結束バンドの留める部分の底部に接着した。これなら いかにも「シュッ」としているし、何もふわっとしていないのから気分がいいとともに、寿命が長そうだ(まあ、そもそも100円のものに耐久性を求めるのは間違って居るが)。

なお、結束バンドと本体は接着していないので、電池交換の際は※強く回転させれば、バンドも回って外れそうだ。あるいは、後部のバンドを後ろにスライドできるかも知れないし、ストッパーを上に持ち上げて回す手もある(これが一番楽そう)。

※新しい電池を買うのと同じものを買うのと、どちらが安いかは検討の余地がありそうだw もちろん、同じものが売って居るかという問題もある。

  •  0
  •  0

小学校2年の時に、どういう切っ掛けだったかは忘れたが、葉書より少し大きいくらいの紙に足し算または引き算の式(例: 12+59= ■■)がみっちり(3x20個くらい)書かれた、ドリルのコピー※だった。忌々しいことに、その元の紙に書いてある答えが、セコいことに、先生の手書きの黒ペンで消された状態でコピーされていた)を毎日のようにやらされてから、数学(計算)が本当に嫌になってしまった。この件に関して、あのババアは絶対に許せない。

※当然ながら、当時は わら半紙に汚いインクの印刷(ドラムスキャナみたいに原版を作って、それを手回しの輪転機で印刷していた)だった。

もちろん、数独はそういう無味乾燥な計算とは違うパズルで、高等な技術などがあるのだろうが、とにかく、(表面的にしろ)単純な計算を手でするのは当時から無意味だと気付いていたので、今に至るまで、そういう遊びでも仕事でも詰まらないと認識してしまって一切したくない。まあ、トラウマだ。

だから、上の自分で書いた例だって、答えなんて分からない。いやマジで。考える気が起こらないのだ。もし答えを出す必要があるなら、式をコピーしてbcコマンド(を起動しているターミナル)にペーストする。

もちろん、必要な場合で、自分でした方が速い時はする。例えば、オーディオの特性で、この8dB高い山はどのくらい下げればいいか(答え: 大体4-6dB?)とか、考えたことの大まかな確認のために桁が合っていればいいなどの、ものすごく単純な計算ねw

まあ、ゴーマンかまさせてもらえば、そんな下らねえ算数なんかより、もっと高等なことに頭を使いたいんだよ!!!

 

PS. 自分で書いて、改めてすごく頭に来た。だったら書かなきゃいいのにwww

  •  1
  •  0

去年の今頃 部屋のエアコンが交換されたので、興味や趣味で毎月消費電力量を測定して来た。その結果を簡単に書く。

  • メーカー・機種: 三菱 MSZ-GV2819-W (2020年製, インバーター式)
  • 測定期間: 2020/8/5 - 2021/8/10
    • 測定開始からの通算時間(Ta): 8923.8 h
  • 消費電力測定器の測定値
    • 消費電力量(Cm): 924.78 kWh
      • 注: 使用した測定器は5W未満の消費電力(待機電力など)が測定できないため、これがそのままエアコンの総消費電力ではない。
    • 使用時間(Tm): 5331.75 h
  • 推定平均消費電力(Pc): 104.6 W
    • 測定器で測定できない待機電力など(Pw)を2.5Wとして計算した。
    • 計算式: Pc= (Cm + Pw*(Ta - Tm))/Ta
  • 1年間の推定総消費電力量・電気料金: 917 kWh/年,  約18000円/年
    • 夏季だけ(6-10月, 153日)の値: 384 kWh,  約7685 円
    • 冬季だけ(11-3月, 151日)の値: 490 kWh,  約9800 円
    • 簡単のため、電気料金は20円/kWhとした。

総使用時間より、僕はほとんど年中・日がなエアコンを使っている(平均約14時間/日以上)が、エアコンの電気料は概ね年間2万円程度のようだ。それが多いか少ないかは不明である(きっと、最初はそれが気になって測り出したのだろうw)が、まあ、ものすごく高い訳ではなさそうだ。が、平均約1500円/月というのは高い気がする。

仮に500円/月減らすと年間約6千円減らせるが、可能なのだろうか?: 約25kWh/月= 約807Wh/日= 約33.6Wh/時減らすのは可能か? → 平均消費電力が約105Wなので、一日に使う時間を7.7時間減らせばいい?? (それは無理だ)

それから、測っていて不思議だったのは、測り始めた頃は年間5万円近い計算になって、「冬は更に電気を食うから、電気代がかさむなあ」と思っていたのに、実際には上のように2万円くらいに下がったことだ。これは、年間だと使わない日や使ってもパワーが弱い時間が増えるため、平均の消費電力が下がるためだろう。

ただ、去年の8-9月間の推定平均消費電力は258Wで今年の7-8月間は189Wだったので、1/4くらい減ったのは確かだ。これは、煙草臭流入対策※で窓などの隙間を塞いで気密性が高まったからだろうか。あるいは、単に今年は涼しかったのだろうか(随分暑かった気はするが)。あと、僕がこの部屋やエアコンに慣れて、使い方がうまくなったのかも知れない。それでも、夏も冬も暑い・寒いと感じることが多いので、もっと細かく調整したい気はある。

※解決したと思って居たのだが、暑くなってから再発してしまい、しばらく悪戦苦闘していた。今は小康状態だが、盆休みや雨のせいかも知れないので対策の効果なのかは分からない。暑くなってからということを考えると、周囲に窓を開けて煙草を吸う人・家が居る・あるようだ。実際、外を歩いて居ても、窓から流れ出るのか すごく臭いことはある。ただ、暑くない時も吸っているはずで、それが入ってこないのが謎だが、風向きが関係あるのかも知れない。

 

PS. 測定が終わったので、エアコンのコンセントに付けていた消費電力測定器を外したのだが、使用中のパワー(冷暖房の強さ)が分かると便利なので、再び付けた。

  •  1
  •  0

オーディオなどのボリュームは、スライド式より回転式がいい以下に理由を挙げる。

  • 回転式だと、つまみに目印(凹凸など)があれば、(見なくても)指の感覚で量の目安が分かるので。
  • スライド式だと、見ないと量が分からないから不便だ。
    • まあ、慣れていれば、左右のつまみ(あれば)や下端からの距離で分かるかも知れない。
    • 逆に、スライド式は、見れば正確に量(何割など)が分かるのがいい。更に、ミキサーなどでは複数の量の関係がパッと見て分かる。
  • あと、スライド式は操作性も回転式に劣る。指の構造から、細かい量の調整は難しい。
    • ただ、録音エンジニアのように、慣れていれば問題ないのかも知れない。
    • そもそも、今は昔のようにミキサーのボリュームをいじることはなく、マウスでやるのかも知れない。

それから、デジタル式ボリュームについての意見を以下に書く。

  • ソフトで描画される部品を回転式にする人は全く分かってない。
    • ないとは思うが、もしタッチパネルでそういうのがあったら、作った奴は大馬鹿者だ。
  • あと、+/-のボタン式は、ハードでもソフトでも最悪だ。まさに安直の権化で、極悪と言えよう。
  • それから、回転式でも、(中がデジタルで)際限なく くるくる回ってしまうものは、(作りによるが、)大抵は駄目だと思う。
    • 例えば、つまみに目印がない(音量がつまみの周りとかディスプレイに出る)とか、電源off時に回しても反映されないとか。

 

あと、スライド式ボリュームには悪い思い出がある。

子どもの頃は、スライド式は いかにもプロっぽくて格好いいから、それが付いたラジカセに憧れて手に入れた。でも、左右の音量が別々のスライドだったので、音量合わせがすごく面倒だった。左右の1mmくらいの差でも気になったが、左右を連結できないので、音量を変える時はいつも苦労した。さすがソニーwww

まあ、普通の人は微妙な差は気にしないのだろうし、聞いても分からないのだが。僕だって、1mmくらいでの音量差は分かってなかったはずで、単に見た目の問題ではあった。

今となっては、音量を左右で違える必要性が思い浮かばないので(同じように聞こえる位置で聞くのが前提・当然だし、アンバランスな位置(左右どちらかに近い)で音量だけを合わせても、位相が合わなくて音が悪くなって無意味なので)、左右別ボリュームどころか、バランス調整すら要らない。

 

左右別ボリュームでの(視覚的)音量差に似た問題に、レベルメーターの感度が左右で微妙に違うことがあった。メーターはボリュームには関係ないのでモノラルで再生すれば同じになるはずだが、1目盛りくらい(0dB付近で1-2dBくらいだったと記憶している)差が出た。気になって修理に出したら、「その程度は仕方ない」みたいな回答だった・・・ 昔から さすがだったwww

今考えると、仮に差が1-2dBくらいだったら実害はなく、やっぱり視覚的・主観的な問題だろう。が、デジタルで出るのでどうしても気になった。それに、そうやっていかにも格好いいデジタルメーターを売りにするのなら、ちゃんと合わせるのが当然ではないか。

そういう意味だけではないが、僕は音量メーターはアナログ表示(針式)がいい。そのほうが本当の音量が感覚的に分かりやすいと思う。ただ、針式は応答が遅いので、ピークがオーバーしないようにするためには、ピークレベルの数値などを一緒に表示すれば良い。

今考えれば、微調整のための素子(半固定抵抗)があるはずで、それで直ると思うのだが、なかったのだろうか(当時、そういう考えで分解しても分からなかった)。メーターのICをポン付けしただけだったのか? それだと入力の抵抗を交換して調整しなくてはならないので、面倒ではある。

でも、今なら(きっと)自分でできるな(遅過ぎwww)。

 

(8/15 8:09 「小ネタいろいろ」より移動, 8:18 整理、少し変更・加筆)

  •  0
  •  0

ツイートする程度のネタだけど、ちょっと残したい気がするので まとめて書く。

  • (オーディオなどの)ボリュームはスライド式より回転式がいい。
    • 回転式だと、つまみに目印の凹凸があれば、(見なくても)指の感覚で量の目安が分かるので。
    • (長くなったので、詳細は「ボリュームは回転式がいい。」に移動した。: 8/15 8:09)
  • 庭先にデーモン・コアがある家・・・
    • 暗く鈍い銀色で、上下半分に分かれる球状の物体が置いてある。ただ、上下が合わさっていても爆発しないので、大丈夫なようだ。
      • ていうか、単に、バーベキューなどで燃やした炭などを入れて消すものかと思われw
  • またしても、イオンモバイルにしてやられた・・・
    • 予想どおり、値下げするそうだ。
    • HISモバイル(590円/月(1GB))に追随しないと流出必至だから、どこまで下げるかと期待していたが、803円/月(0.5GB)と何とも腰砕け的、中途半端だ。700円くらいなら喜んだのに・・・
      • ただ、この程度の差なら手間を掛けてまで移転する気も起こらず、まさに「生かさず殺さず」と思われw
      • そういう意味では、この前の値下げの時もそうだったが、商売がうまい。だが、いつか しっぺ返しを食らうと思う。
  • スポーツで最高の競技会がオリンピックなら、音楽版オリンピックは、例えばショパンコンクール(5年ごと)を各国・地域で転々とやるのはどうだろうか?
    • とはいえ、余りおもしろくなさそうだし、混むのは嫌なので、日本でやっても行かないがw
    • それに、ああいうのは大抵は偉大な人を記念して・冠してするので、結局、国や地域に強く結びついたものになってしまうから、転々とはできないのだろう。まあ、何かのフェスティバルとかコンサートは良くありそうだが、競技会相当ではない。
  • 開かなくなったドライブから光メディアを無理に出す時などに細い穴を押すための、「『クリップを伸ばした暫定ツール』は、要る時に いつもなく、そのたびに作る」法則でもあるのか?
    • そもそも、本当の道具があるはずだが、出て来た ためしがないw
    • ただ、どちらも、使わない時には目にする。

 

結局、オーディオの話が長くなったなw まあ、こうやって追加・修正できるのがツイッターより好きなところだ。

  •  0
  •  0

プロトが動いたあと、正式版にするため いろいろな作業をしていたが、意外にうまく行っており、今は実際に使ってみて問題がないか確認中である。

光センサで取得した部屋の明るさに基づいて自動調整されるサブディスプレイ(EIZO S170)の輝度は、概ねメインディスプレイ(同CX241)に合っている。微妙に明るさが違うことはあるが、同じウインドウを二つのディスプレイに またがって表示して比べたりしなければ気にならない。(自分の性格のため、一旦気にし出すと気になってしまうのだが・・・)

ただ、視覚特性の影響や階調特性や発色の違いなのか、色や表示の明るさによって明るさの差が違って感じることがある※(例: 無彩色(白・グレー系)でも、ある色(明るさ)がCX241とS170で同じ明るさに見えても、それより暗い色が なぜかS170のほう明るく見える場合がある)ので、完全に合わせるのは無理そうだ。

※これは実は明るさでなく、色の違いによるなのかも知れない。二つのディスプレイの発色・色温度などが異なるので、無彩色でも、明るさによって色が違って見え、それが明るさの違いと認識されるのではないだろうか?

それから、センサ基板(YL-40基板: 以下、「基板」)に載っているので「ついで」に試した温度センサは、誤差(真の室温が分からないので、正確には「本物の温度計との差」)はあるものの、「それなりに」室温が取れるようになった。

 

今回の一番大きな改良は、基板をケースに入れ、それをスタンドに付けて設置を安定させたことだ。また、さまざまな部屋の明るさで画面の明るさの違いをチェックして、センサの明るさ値からS170に設定する輝度を求める近似式を改良した。

不思議と、近似式はグラフの形状から予想した指数関数でなく、3次の多項式が合った。指数関数(ただし、輝度がほぼ一定な暗い領域(概ね、明るさが30以下)を直線近似にした)のパラメタをいろいろ調整しても、明るい領域(概ね、明るさが60以上)で輝度が大きくなり過ぎてしまう。画面の輝度は無限に明るくできないから、CX241は指数関数を使っていないのだろうか。あるいは、指数関数は処理が大変なので、多項式にしたのだろうか。いや、そうでなく、視覚的に現状の特性がいいから こうなっていて、それがたまたま3次に近いのだろう。

 

今回使ったハード(物)は全部手持ちのものの再利用で済ませた。基板のケースはエーモンの部品(車用電装部品? 古過ぎて何だったかは不明w)が入っていた小さいプラケースを使った。基板を支えるスタンドは、オーディオの特性測定・調整を始めようとした時に買ったけど、小さ過ぎて今ひとつで使わずに死蔵していて何度も捨てようと思って居たマイクスタンドを使った。基板をスタンドに付ける台は、2年くらい前の猫のカレンダーのベース(台)を使った。そのカレンダーを挟む溝の幅がスタンドのポールの直径に近く、丁度良かった。※ ただ、ポールだけだと少し低かったので、以前エアコンの温度の微調整に使おうとして断念した灯油ポンプのパイプ(この直径も丁度良かった)の切れ端(写真上部の半透明の筒)で延長した。

※スタンドに添付のマイクホルダーがあれば、角度が自由に変えられて更に都合が良かったのだが、捨ててしまったようだ。

なお、基板を垂直に設置したら若干明るさが弱くなったので、プロトのように少し(15°くらい?)上に向けて取り付けた。※ 角度を付けるための台には、楽天モバイルのポケットWi-Fiの緩衝材が役に立ったw

※光センサが多少暗くても輝度の自動調整は可能だが、折角調整(較正)した明るさから輝度への変換式のパラメタが変わってしまうので、なるべく合わせたかった。

基板とPCの接続ケーブルはUSBケーブルの両端のコネクタを切って作った(本当は、電話線のような もっと細くて柔らかいものが良かったが、手持ちにはなかった。電話線は余るほどあったが、随分前に全部捨ててしまった)。基板とケーブル間のコネクタは、アンプで余ったXHコネクタの延長コードを使った。

ケースはいろいろ迷った。最初はSDカードケースを考えていたが、基板の部品の背が高くて入らず、エーモンの薄目(高さ約1.2cm)のケースを試したが まだ無理があったので、同じくエーモンの厚目(高さ約1.7cm)のケースにした。それでも幅が少し足らなかったので、右側のPC接続用ピンに挿すコネクタのカバーを切り詰め(写真右側の黒い長方形。ただし、その後 気が変わって使わなくなった)、左側のアナログ入力用のピンを少し上に曲げて収めた

ケース(基板)の取り付け方(オリエンテーション)もかで迷った。最初はコードの引き回しの関係で縦にしたが、光センサがジャンパピンのカバーの陰になる(左側からの光が遮られる)気がしたので(写真: カバーは中央辺りの赤い四角、そのすぐ上に光センサ)、カバーを外して「肉抜き」した。(写真: ケースの中央左端にピン、そのすぐ右の丸が光センサ) ただ、この状態だとピンの保持が完全でなくて外れやすいので、あとでちゃんとする必要があった。そうこうするうちに、やっぱり横に戻したので、カバー付きのものに戻した(が、それもあとで使わなくなる)。

それから、ケースでなくても基板をカバーすればいいのではと思って、少し厚手のビニルで覆ってみた。が、ビニルを台に付けるために折って居るところに埃が溜まりそうだったので止めてケースに戻した。更に、厚いケースは不格好に思えたので、いろいろ無理して薄目のケースに収めた出来上がりは、なんとなく(実物を見たことはないが)可搬式オービスを連想させる。

※上記のアナログ入力用のピンとジャンパピンを2-3mmくらい切り詰め、ボリュームの脚を折って付けて低くした。ボリュームを低くしたあと、なぜか抵抗の両端(電源とGNDに繋がっている)がショートしてしまって起動しなくなったが、付け直したら直った。電源側がGNDのパターンに繋がってしまったのか。

更に、ジャンパピンはピンのカバーが高いので、光と温度センサのジャンパのパターンをリード線でショートしてピンを不要にした。ボリュームは滅多に使わないので信頼性はなくて良いから、ジャンパはカバーを外したピンの上部を折って低くしたものを使った。

また、幅を狭めるため、PC接続用ピンとコネクタは使わず、コードを半田付けし、外にコネクタ(XH, プラグ)を付けた。なお、電源スイッチは無意味なので付けないことにした。漏れ電流のせいか、なぜかoffでも動いてしまうので・・・

あと、温度センサ(後述)の室温への追従性を向上させるために、左右両端に通気口を開けた。まあ、気休めの気はするが・・・

それから、試している時に気付いたが、ケーブルの力が掛かって、ブルタックでケースに固定した基板の上部が浮いてしまうので(下部はボリュームなどがあって隙間がないので、動かない)、蓋に届く厚さの緩衝材(上記の楽天のもの)で上の角を押さえた

 

輝度自動調整プログラムは、基本的な動きは最初の長ーいコマンドと同様で、さまざまな明るさで確認して近似式の係数を調整した程度である。現状の、YL-40基板で測定した部屋の明るさとCX241の画面輝度(青)、それに合うように本プログラムで設定したS170の輝度(赤)のグラフを次に示す。

YL-40の明るさとCX241, S170の輝度

通常使っている明るさの領域は点が密集した辺りで、S170の輝度が変化する範囲は約15-22%と大きくないが、昼にカーテンを開けて明るくすると、右側の明るい領域になる。また、夜に照明を消した場合などの暗い領域(左側: グラフにはないが、その領域での確認もしている)ではCX241が自動調整する輝度に下限(約50cd/m2)があるため、S170も14%までしか下げられない(まあ、際限なく下げたら見えなくなるがw)。あと、前回も同様なことを書いたが、CX241はOSDで表示している輝度と実際の輝度が異なることがある(グラフで、同じ明るさで点が上下にあるところ)ようで※、その場合にはS170の輝度は合わず、「わずかに違う」状態となることがある。

※想像だが、CX241が輝度の調整速度が遅く(ユーザに急変を感じさせないため?)、OSDで見た時には まだその輝度に達していないのかも知れない。

輝度の調整以外では、随分 機能追加・改良した。例えば、測定値の移動平均(4点、約2分分)を取るようにして、頻繁・無駄に輝度を変更しないようにした。また、ディスプレイのOSD(メニュー)で手動で変更した輝度を自動調整に加味できるようにした(具体的には、変更分を加算して設定する)。その際、PCの省電力機能(DPMS)やスリープからの復帰時にディスプレイが消灯状態から点灯した時に自動的・一時的に画面が明るくなって輝度が大きくなっているのを、手動での変更とみなさず無視するようにした。

他には、起動時に基板やS170の接続をチェックし、接続されていなかったらエラーで終了するようにした。

あと、全くの お遊びだが、起動時と毎回の測定後にLED(基板のIC PCF8591のDACに繋がっている)を一瞬弱く点灯させて、動いているのが分かるようにした。LEDに関しては、電源LEDが明る過ぎて目障りかつケース内面に反射して光センサに影響を及ぼしそうなので、パターンカットして点灯しないようにした。当初はLEDの上にハリ玉を被せて見えないようにしたのだが、明る過ぎるためか光が通ってしまうので、点かないようにした。

 

「ついで」の温度測定については、前回参考にしたGayの本に書いてある計算式(下記)を用いて、センサ(サーミスタ)の値から実際の温度を計算するようにした。※ 恒常的な誤差が約1℃*あるのと**、部屋の気流が かなり影響するが、定常状態になれば概ね(本物の)温度計の値に近い温度が得られることが分かった。

サーミスタ(NTC)の温度T(K)を求める式: 1/T= 1/T0 + 1/B * ln(R/R0)

定数・係数

    • R: 温度Tでのサーミスタの抵抗 (Ω)
    • B: サーミスタの「B定数」
      • 試行値: 3947
    • R0: 温度T0(「室温」)での抵抗 (Ω)
      • 試行値: 当初: 4700 → 現在: 5000 (Ω)
    • T0: R0の温度, 「室温」 (K)
      • 試行値: 25℃ (= 298.15 (K))

※明るさと同様に移動平均(8点、約4分分)して、値の変動を抑えた。

* その後、いくつかの室温と比較し、恒常的な誤差(オフセット?)を1.44として補正すると、更に(本物の)温度計に近い値となった。上の式を見ると、このオフセットはR0の仕様との差で生じているのではないか。実際、上の式で、Rを元の4.7kΩと別の情報で見た5kΩで比較すると、現在の通常の室温約28℃での差は約1.4℃と上のオフセットに合うので、現在はR= 5kΩ, オフセット= 0で試している。

なお、別品種のBやR0でも試したが、良い結果は得られなかった。 (8/7 10:30)

**書いたあとで気付いたが、基板に載っているサーミスタの仕様が分からないので、別のページに書かれた値("YL-40 #1"の、25℃での抵抗値=4.7kΩ, 係数B=3977)を使って計算しているのだが、実はそれも正しくないために温度の差が出ている可能性は否定できない。

ただ、ADCの量子化ステップ(室温では約0.6℃相当)の関係で※、室温との差が、大きい時(例: 室温がじわじわ上がっている時)には1℃近くなるので、エアコンの微妙(「自分にとって快適な」の意味)な調整には向かなそうだ。とは言え、そもそも、室温を正確に測っても、それでエアコンの微妙な調整ができる訳では全くない(物理的な温度よりも体感温度が重要)から仕方ない。まあ、大まかな室温が分かって自動的に記録できれば、何かの役に立つかも知れない。

※この点は、回路を変更して狭い温度レンジにADCのレンジ(0-255)を割り当てるようにすれば(要するに、「倍率を上げる」)、もう少し分解能(精度と同じではない)が上げられると思うが、具体的にどうすればいいかは まだ分かっていない。

→ その後検討して、サーミスタに直列に接続されている抵抗(R1, 1kΩ)を大きくすれば、ある程度 分解能を上げられることが分かった。

使用する温度範囲でセンサ出力をADCの入力レンジに最適化するには、ADCの前で増幅する必要があるが、アンプを入れるのは面倒だし、「ついでに」やっていることなのに、そこまでする意味がない。もしかしたらADCにPGA(プログラマブル・ゲイン・アンプ)が入ってないかと思ったが、さすがになかった。

計算では、R1を4.7kΩにすることで、通常の室温(10-40℃)でのADC出力レンジは元の46から82(cnt※)に広がり、分解能(上記の量子化ステップと同じ)が約0.7℃/cntから約0.4℃/cntに改善できることが分かり、実際に抵抗を換えて(限られた室温であるが)試してみたら、確かに分解能が向上したようだ。

※特定の単位がないADC出力の単位の書き方が分からないので こう書いたが、何かの個数ではない。

分解能を調べるのと同時に精度も調べたのだが、やはり固定した誤差(偏差)が気になり、計算式を検討したら、サーミスタのB定数と直列抵抗の誤差が考えられた。試算では後者のほうが効くようだったので、いくつかの値を試したところ、今のところ、-0.3%の補正(抵抗が0.3%大きいと想定)が良い感じで、限られた室温での短時間での評価ではあるが、本物の温度計との差は概ね±0.4℃以内となり、冬など条件が異なる場合でもこれなら、充分に満足できそう(「許せる」)だ。 (8/7 17:18)

ところが、いつものように、そう やすやすとはうまく行かない。温度の誤差が大きくなる場合があるのだ。通常は大きくても0.4℃なのだが、なぜか0.8℃くらいになることがあって、どうも許せない。観察していると、起こりやすい温度範囲がある。温度が上がる場合と下がる場合に(起こりやすい温度範囲はそれぞれ異なる)しばらく起こる。いろいろ検討し、試行錯誤しているが、何となくADCの性能(精度)に依存するような気がしている。 (8/9 7:55)

その後、自動測定・記録しているセンサなどの値をグラフにすればおもしろいと思い、Linuxの管理ソフトMuninで取り込んでグラフにするようにした。最初は温度(室温)だけだったが、ついでに部屋の明るさとそれに合わせて設定したS170の画面の輝度も出すことにした。今までのグラフを下に示す。

明るさ(グラフの緑線)は外(天気や日照)やカーテン・照明の状態によってダイナミックに変わるので、結構おもしろい。当然ながら、画面の輝度(グラフのオレンジ線)は 明るさに合わせて変わる。室温(グラフの青線)は上記のように調整・確認中である。 (8/7 17:18)

 

というところで、あとはケースやスタンドやケーブルをちゃんとする(接着・固定や補強や外見の改善)こと、プログラムの細かい改良などである。これ以上買うものはなさそうだから、結局150円くらいでできた。

書いて気付いたが、「細かくない」問題として、CX241の輝度(自動調整のベースとなる輝度)を手で変更した場合には、当然ながらS170の輝度が合わなくなってしまう。S170の輝度を手で調整して合えばいいが、非線形なので、そうも行かない気がする。CX241の輝度を変更することがないので実害はないが、気分的には良くない。

この辺りは近似式の較正・調整の話に関連し、例えばディスプレイの設置位置や向きを変えたら再調整が必要になるかも知れない。マウスでグラフィカルにできると手軽だが(→ イメージ)、そういうものを作る気合いは なかなかないw

 

結局、今回の一番の効果は、寿命になったサブディスプレイ(M170)をスペアだったS170に交換するに あたり、格安で同等の機能(自動輝度調整)にできたことだ^^ そもそも、今はスクエア型のディスプレイは入手困難なので、(自分のスペアだから無料で)交換できたことだけでも良かった。

そして、PCにI2CのADC/DACを繋げられたので、今後はRaspberry PiやArduinoなど用のI2Cのセンサ類(既にADCがあるので、なんならセンサの素子単体でも)が容易に使えそうだから、楽しみが増えた。何をするかは別としてw

 

PS. YL-40基板は手軽でいいんだけど、僕にしてみれば いろいろ甘い。例えば、本文に書いたように、LEDが明る過ぎるとか、サーミスタの分解能など、抵抗の値の決め方が安直だ。抵抗が小さくて(ほとんど1kΩ)、流れる電流が大き過ぎる。電源スイッチを切っても電源LEDが付いたり回路が動作するなんてのは、その証拠だ。確実には動くんだろうけど、僕の好みではない。

PS2. 上を書いたあとで回路図を見ていて、電源スイッチがoffでも(電源を供給していなくても)動く理由が分かった。I2Cのclockとdataが、(プルアップのためだろうけど、)それぞれ10kΩでVcc(電源)に繋がっており、VccとGNDには平滑コンデンサが繋がっている。そうすると、clockやdataの電圧は変動するだろうが、コンデンサで平滑化されて「電源」になってしまって、IC PCF8591が動くのだ。PCF8591の動作電圧は広く、低消費電力であろうから、そういう弱い電源でも動いてしまうのではなかろうか。

まあ おもしろいけど、「ちょっと」だ。だったら無電源で(clockとdataの電力で)動くようにすればいいのに・・・

とは言え、10kΩならプルアップとしては適当な気がするから、ちゃんと対処するのは難しいのかも知れない。33kとか47kΩくらいにする? それでも動いちゃうかもね。

  •  0
  •  0

と、ベタな文句しか出て来ないジジイと成り果てて居るが、ディスプレイ輝度の自動調整システムのプロトタイプが動き出したので、ちょっとうれしい。

先日検討して注文した光センサ基板(正確にはPCF8591 AD/DA基板, "YL-40"。以下、「基板」などと書く)が、数日前に届いた。中国からだが、今回は意外に速く、1週間くらいで届いた(と思ったが、実際には注文から2週間近く掛かった。1週間というのは、発送されてからだった)。EMS(かどうかは不明だが、郵便扱い)だと速いことがあるのかも知れない。

例によって非常に簡素な梱包で、基板の入ったビニル袋が汚くて、以前の汚ねえピンジャックを思い出したが、中身の基板はピカピカだったので安心した。これなら全然問題ない。早速電源を繋いでみたら、ちゃんと電源ランプが点いたので更に安心した。

ただ、一つ謎がある。電源スイッチ(下記の暫定接続ケーブルと一緒に付けた)を切った状態でも電源ランプが薄く点くのである。おそらく、I2Cの信号線(DataとClock)の電圧がIC PCF8591経由で漏れている(一種の逆流)のだと思う。余り良くない気がするが、壊れることはなさそうだ。

それに気を良くして、暫定版の接続ケーブルを作って※PCのVGAコネクタに繋いだら、Linuxのi2cdetectコマンドで以下のように基板のアドレス(0x48)に表示が出て、I2Cデバイスとして認識できていることが分かった。

$ sudo i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

※当初は、容易に延長できることやケーブルの細さ・柔からさなどを考えて、電話用のモジュラーコードを使おうと思って居たのだが、システム構成を確定させ、ある程度「行ける」ことが分かってから そこら辺をちゃんとしようと考え、まずは手持ちの長い(約3m)バラ線4本を(切らずに)そのまま使った(切ったら端切れが出来てしまって、最後に無駄になるので)。

同様に、VGAコネクタ(これを用意するのには なかなかの苦労があった。 → 下の「おまけ1」を参照)に電源スイッチを組み込もうと思って、結構苦労して付けられるようにしたのだが、実際にはコネクタがPC背面の込み入ったところにあるためにスイッチが操作しにくいから あっさり却下して、基板側のコネクタに仮付けした。

次に、I2C経由で基板上のADCとDACを動かしてみたら、これもあっさりとできた。i2cget, i2cset, i2ctransferコマンドを使うことで、基板上のADC(光, 温度, ボリュームが繋がっている)の値が読め、DAC(LEDが繋がっている)にアナログ電圧の出力ができた。

中国製品は当たり外れが激しいというのが常識だが、今回は当たりだった。きっと、この基板は、どこかのちゃんとした人が設計したもの(メーカーの評価基板?)が回り回って手に入るようになったのだろう。で、ADCやDACとは言ってもしょぼい簡素なものなので*、部品を載せて半田付けするだけで調整なしで動くから、部品が壊れてなくて半田が付いている限り、ちゃんと動くのだろう。

*簡素とは言っても、これがあれば、サウンドカードではできなかった、直流電圧が入出力できるから、PCでできることが格段に増える、超優れものだ。

基板に書かれている"YL-40"という型番(写真左下)がポイントで、Amazonで検索した時に()その番号が見え、"PCF8591 YL-40"で検索したら、Raspberry Piなどで使っている人が多いことが分かり、その関係の資料や情報が結構あったので、これを買うことにした。

ちなみに、買ったのはAmazonでなく、残ったポイントを使うために楽天にした。Amazonより高くて約700円だったが、ポイント利用で150円くらいになった。PCF8591が載っていて、外観が希望のものと同じで、一応 基板に"YL-40"が見えるものを選んだ。ただ、それには何の保証もなく、一種の賭けではあった。

余談ではあるが、明らかに勝算がなく、失敗した時の損失なども検討せずに 大言壮語してむやみに賭けをする大馬鹿者が居るが、言語道断だ。今回は150円だったから安心して賭けられたw

なお、基板には説明書も回路図も何も付いていないので、上のような情報がないと使うことはできないだろう。謎の多い基板だが、情報が多い点で当たりだった。ただ、これを何も知らない一般の方が買って どうにかできるものとは思えず、Raspberry Piなどで使った経験者が書いたものを参考にして使っているのだろうが、最初の方はどうしたのかなど、興味深い謎は多いw

それから、基板から取得した明るさの値からS170に設定する輝度を求めるための関係を調べるため、基板の光センサ(CdSセル)の特性を調べた。CdSセルの型番はもちろん分からず、データシートを参照できないためだ。基板はビニル袋に入れてS170の脚の上に設置した。ここだと机に向かった時に見えないのと、ディスプレイの熱が当たりにくいので良い。また、基板を垂直に近くして埃が溜まりにくくした。また、電源ランプが明る過ぎるので、テープを貼って隠した。

手元に光量(「照度」などいろいろあるが、正しい呼び方は不明)の分かる・設定できるライトなどないので、日光(カーテンも併用w)や部屋の照明(明るさが調整できる)を使い、基板から取得した明るさの値と、輝度が自動調整されるメインディスプレイ CX241のOSDに出る輝度と、それに合うサブディスプレイ S170の輝度を記録して、それらの関係を調べた。

足掛け2日くらい測って、関係が大体分かった。基板の明るさ値とS170の輝度(正確にはCX241の自動調整輝度に合う輝度)は2次曲線とか指数関数のような感じ(グラフの青線)だった。※ のだが、使ったLibreOffice Calcのそれらの近似では合わないので、とりあえず、イメージに近くなる3次の近似を使った。ただし、誤差や ばらつきの影響で、測定したデータを全部使うとまともな近似にならないので、「良さそうな」もの(イメージした曲線に乗っているもの)だけを選んで、その近似式を「作った」(近似式の実体は、グラフ上部の式か下記のコマンドの"be="以降を参照のこと)。

「なんだかなあ」だが、ちゃんとした使い方をすればできるのかも知れないし、自分で指数関数なりの近似式を求めればいいのだが、指数関数だと kAbx+C + D のように、底(A)や係数など(b, C, k, D)求めるべき項がいくつもあるし、そもそも底は何が適当なのか(e? 10? その他??)分からなかったのでパスしたw

※当初は、基板の明るさの値とS170の輝度の関係は単純な式(例: 直線)にはならないと思ったので、いくつかの測定値を用いて、LUT(変換テーブル)と線形補間にしようとしていた。が、線形補間が面倒なので、できれば単純な式にしたかった。それで測定を重ねてグラフを眺めたら、上のように指数関数的なことが分かった。

なお、CX241のOSDで表示される画面輝度(グラフの赤線)は遅延やバラつきがあるのか、今ひとつ基板の明るさ値との相関が悪かった。特に、基板の明るさ45-55辺りに対応する輝度に変化がないように思ったが、今見るとS170も同様の形状なので、基板の光センサ(CdS)の特性なのかも知れない。CdSについて調べた時に、前歴依存性というのが出て来たが、それだろうか? それとも、単にCX241の輝度調整特性(この辺りだけ、明るさへの追従が鈍い?)の問題だろうか?

試行錯誤の末にできたのが、この渾身の(怒涛かつ笑える)コマンドだ。たった(?)1行で、S170の輝度を、30秒ごとに、YL-40基板から取得した周囲の明るさに合わせて、CX241に合う明るさに自動調整する。

sudo sh -c 'proc_int=30; i2c_ch=2; yl40_addr=0x48; s170_hid=0; s170_FB=0x21; usbmc_cmd=~xxxxx/misc/usbmonctl/usbmonctl; sleep_t=0.2; while true do; date; d0=`i2ctransfer -y $i2c_ch w1@$yl40_addr 0 r1`; sleep $sleep_t; d=`i2ctransfer -y $i2c_ch w1@$yl40_addr 0 r1| sed -n "s/^0x//p" | tr a-f A-F`; echo "D0=$d" > /dev/null; di=`echo "ibase=16; $d"| bc`; echo "di=$di" > /dev/null; d2=`expr 255 - $di`; echo "L=$d2"; b_s170_e=`echo "be=0.0001972222 * $d2^3 - 0.009486435 * $d2^2 + 0.1930219 * $d2 + 13.56602; scale=0; bf10= (be*10)%10; if (bf10 >= 5) {bf= 0.5} else {bf= 0}; scale=3; be2= be - bf10/10; be2= be2 + bf; scale=1; be2/1.0" | bc -l`; b_s170=`$usbmc_cmd -g "F,$s170_FB" /dev/usb/hiddev$s170_hid | sed -nr "s/^([0-9]+) .+/\1/p"`; echo "Cur. S170 B=$b_s170"; echo "EB_S170=$b_s170_e"; b_s170_e_set=`echo "scale=0; $b_s170_e * 2 / 1.0" | bc -l`; echo "New S170 B=$b_s170_e_set"; $usbmc_cmd -s "F,$s170_FB=$b_s170_e_set" /dev/usb/hiddev$s170_hid; t0=`i2ctransfer -y $i2c_ch w1@$yl40_addr 1 r1`; sleep $sleep_t; t=`i2ctransfer -y $i2c_ch w1@$yl40_addr 1 r1 | sed -n "s/^0x//p" | tr a-f A-F`; ti=`echo "ibase=16; $t"| bc`; t=`expr 255 - $ti`; echo "T=$t"; echo; sleep $proc_int; done' |& tee -a ~/tmp/yl-40-lt-2021-07-30-1.log

※「プロト」だというのを免罪符に、シェルスクリプトにすらしていないし、無駄な処理が多い。 → さすがに起動が面倒なのでスクリプトにした時に、無害だけど誤りも見付けた。 (← 修正した。: 8/1 11:14)

簡単に処理の内容・動作の説明を書く。

  1. 動作条件などを設定する。: proc_int=30; ..の箇所
  2. 以下を繰り返す。: while true ..の箇所
  3. 現在の日時を表示する。: date; の箇所
  4. ADCの光センサを読む。: d0=`i2ctransfer と d=`i2ctransfer .. di=`echo の箇所
    • 光センサのチャネル(AIN0)を読む。
    • i2ctransferコマンドを使い、読み出すチャネルを指定してから読む。
    • 変換時間の関係か、PCF8591のADCは前回変換した値が読み出されるため、少し(約0.2秒)間を開けて2回読んで現在の値を得る。
  5. 取得した値から明るさを求める。: d2=`expr 255 ..の箇所
    • 値は反転している(明るいほど小さい)ので、最大値(255)から引いて反転させる。
  6. 明るさの値を表示する。: echo "L=$d2"; の箇所
  7. 明るさから近似式でS170に設定する輝度を求める。: b_s170_e=`echo .. be2= be2 + ..の箇所
    • 設定する輝度は0.5単位なので丸める。
  8. 参考のため、S170の現在の輝度を取得する。: b_s170=`$usbmc_cmd ..の箇所
    • usbmonctlコマンドを使う。
  9. 現在の輝度を表示する。: echo "Cur. S170 B= ..の箇所
  10. 上で求めたS170に設定する輝度を表示する。: echo "EB_S170= ..の箇所
  11. MCCS(DDC/CI)でS170に設定する輝度の値に変換する。: b_s170_e_set=`echo "scale= ..の箇所
    • MCCSでの値は上の値を2倍した整数。
    • MCCSとは書いたが、実際にはS170(M170もCX241も)は準拠していなくて、Featureの番号が全然違う。
  12. S170に設定する輝度(変換後)を表示する。: echo "New S170 B= ..の箇所
  13. S170に輝度を設定する。: $usbmc_cmd -s ..の箇所
    • usbmonctlコマンドを使う。
    • S170の輝度はFeature 0x21で取得・設定可能。
      • また、バックライトの輝度(推定)はFeature 0xceで取得可能。
      • それらはM170では異なるし、CX241では不可。
  14. ついでにADCの温度センサを読む。: t0=`i2ctransfer -y .. ti=`echo "ibase=16 ..の箇所
    • 光センサと同様に、温度センサのチャネル(AIN1)を2回読み、値を反転させる。
  15. 温度センサの値を表示する。: echo "T=$t"; の箇所
  16. 約30秒待つ。: sleep $proc_int の箇所
  17. 4から繰り返す。: done の箇所

実行すると、以下のように、基板から取得した明るさ("L=")、現在のS170の輝度("Cur. S170 B=")、明るさから計算したS170に設定する輝度("New S170 B")を表示する。なお、"EB_S170="はS170のOSDで表示・設定する輝度(上の測定や近似式を求める時に使った値)、"T="は基板に載ったサーミスタからの値(温度に依存する: ついでに出しているだけで、輝度設定には無関係 → この値と室温の関係は「おまけ4」を参照)である。

Fri Jul 30 21:00:12 JST 2021
L=33
Cur. S170 B=32
EB_S170=16.5
New S170 B=33
T=48

これを昨日の午後から試していた。周囲が明るい場合にS170が少し明る目だったので使うデータを調整して近似式を改良したあとは、夕方近くも朝も概ね問題なく調整できて居たので、あとは(本当の)昼間も大丈夫なら、予想より楽に動いてしまったことになる。

ちなみに、普通に使っていて設定されたS170の輝度の範囲は15-23%程度で、カーテンを開けて明るくすると40%くらいになった。また、CX241が自動設定する輝度には下限があるようで、夜 照明を消しても15%程度だった。

まあ、それから「ちゃんと」作る訳で、そうすると途端に面倒なことがいろいろ出て来るので、いつものように誰かに「あとは頼んだ」と言いたいところだw

参考資料

主に以下が役に立った。

 

おまけ1: VGAコネクタの5Vピンを「何とか」した話

以前も書いたように、EIZOのディスプレイに添付のVGAケーブルには5Vのピン(ピン9)がないので、この用途には使えないことが分かった。が、VGAケーブルもコネクタも安くない。大体500円くらいする。中古屋も見たが、新品はやっぱりそのくらいだったし、ジャンク品ですら300円くらいだったので馬鹿らしくなった。テキトーな中古VGAケーブルなんて高くても100円くらいで買えると思ったが、今は世知辛いのか・・・

何とかならないものかとコネクタを眺めていたら、180°回転させればピン9が「できる」気がした。調べたら、180°回転させた状態でも、GNDやI2Cに使うピンも大丈夫そうだった。

早速工作した。それまでに、何とかしてピン9を追加できないかと思い、すごく苦労してコネクタをモールドから取り出して居たので、そのコネクタをシェルから外し、D形状の上部左右の角を削り、180°回転させてもシェルに入るようにした。更に、回転させたために中段の左端のピン(元のピン6)が余るので切った。どうにかできたものをPCに挿したら、見事に5Vが出た。

回転させたことで嵌ったのは、基板へのコードを繋ぐ時に中段のピンの番号を1つずらしていたために、最初は電源が出なかったことだ。上述の切ったピンに相当する「幻のピン6」を考慮していなかったためである。

それから少し綺麗にして、とりあえず完成となった。

なお、本文に書いたように、コネクタに電源スイッチを内蔵させたくて、モールドの一部を切ってスイッチを嵌め込めるようにもしたが、使いにくいので却下した。まあ、いくら苦労したって、「駄目なものは駄目」と捨てる勇気は重要だ。

おまけ2: モジュラージャックを「何とか」した話

当初は電話線でVGAコネクタと基板を繋ぐことを考えていたので、モジュラージャック2個が必要だった。これは100円ショップで延長アダプタを買えば安いが、暇に飽かせて何とかした。

手持ちに電話用の3分岐のアダプタがあったので、それを「イッコニ化」wした(2個のジャックに分割した)。3分岐のために、丁度、2個のジャックからの線が使えるので良かった。ケースを切断し、少し綺麗にしVGAコネクタに接着できるようにして完成となった。

これはまだ却下ではない。最終的に電話線で繋ぐ場合には生きる。が、何となく、そこまでする必要はなく、もっとテキトーに(例: 今のバラ線を少し綺麗にする。USBケーブルの線だけ使う。VGA側のジャックはなし)繋いでも充分な気がしている。

おまけ3: M170の光センサ基板を単体で動かした話

寿命になったサブディスプレイ M170は、光センサ辺りが壊れたと思って居たが、実際には生きていた。ちょっと試してみたら、明るさに従った電圧が出るのを確認した。

接続コード(FFC)は6芯だが、2本ずつGND、電源、出力になっていた。電源は何Vか分からなかったが、基板にツェナーダイオードが載っていたので、多少高くても壊れないだろうと思って5Vを入れたら、ちゃんと動いた。: テスターで測ったら、明るさに比例した電圧が出て、光センサ(フォトダイオード)を塞いだ場合はほぼ0Vが、ライトで照らすとほぼ5Vが出た。

あの回路はフォトダイオードがLDOの電圧調整らしきピンに繋がっていて何とも謎なのだが、そういう使い方があるのか、実際にはLDOでない(I-V変換や温度補償素子?)のか。

光センサ基板が届く前は これを使おうと思って居たが、基板のセンサ(CdSセル)が結構使えそうだし、こちらだと温度特性が不明だしシステムのサイズが大きくなってしまうので、ひとまずは保留とした。

 

おまけ4: YL-40基板の温度センサ(サーミスタ)を試した。

輝度調整コマンド(その後、スクリプトにした)で ついでに表示していた温度センサ(サーミスタ)の値と その時の室温をグラフにしてみたら、測っている時からそんな気がしていたが、今ひとつ相関が悪い。

YL-40の温度センサの値と室温

何となくリニアには見えるが、ばらつきが多い。ディスプレイの近くなので、その熱の影響があるのかも知れない。あと、サーミスタは電源ランプ(LED)のすぐ隣なので(ランプはCdSにも近いし、この配置は ひどい)、LEDの熱に影響されているのかも知れない。

まあ、これには期待して居なかったし、もう少し様子を見たり試してみたい。 (8/1 11:03)

 

PS. 気付いたら、前回の投稿から結構日が経っていた。何をしていたか記憶がないことはないが(とは言え、すぐには思い出せない)、意外に空いた。そうやってブログは廃れて行くのかも知れない・・・

  •  0
  •  0