ラズピコだと1/65535が出現
Arduinoでぐだぐだ言ったのが1023 vs 1024問題 。
トラ技のラズピコ特集、2022年5月号を見ていたら・・・
A/D変換の値から電圧を計算するのに「1/65535」が
出ていました。
ただし言語は「python」。
analogioを検索してみると、Aanaloginは
16bitの値になるそうで、
https://learn.adafruit.com/circuitpython-essentials/circuitpython-analog-in
ここでは1/65536して電圧に変換しています。
https://www.denshi.club/pc/python/circuitpython/circuitpython-10-3.html
ここは、「65535は間違いなので」と注記があって
1/65536になっています。
https://logikara.blog/raspi-pico-basic/
ここは1/65536。
もう一つ、気になったのが
v / (ref - v)
のところ。
vが電圧値でrefが基準電圧つまり3.3Vなら、
adc.valueがフルスケールの65535になったときは
v = 65535 / 65535 * 3.3 で
= 3.3 となります。
すると、
3.3 / (3.3 - 3.3)
で、ゼロ除算が発生。
図15のCDSが外れて、A/D値がフルスケールになると
ゼロ除算してしまうわけです。
1/65536にしていれば、v = 3.29995となり、
ゼロ除算は避けられます。
pythonでの数値型がよく分かってないので、
これでどんな挙動になるのかは知りません。
記事をぱっと見して、
1/65535が出てきたぞ
1023 vs 1024と同じ匂いか
っと、感じた次第です。
| 固定リンク
「重箱の隅」カテゴリの記事
- 1/1023監視団 活動中!(2025.03.10)
- DIPのLMC6482えらい高くなった(2025.03.07)
- 因縁のボリューム記号 トランジスタ技術2025年3月号(2025.02.17)
- ボリューム記号のボヤキ、トラ技2025年3月号の別冊付録に再掲載(2025.02.10)
- NECは3段タイプの発振回路をすすめてる(2025.01.31)
「ラズパイ・ピコ」カテゴリの記事
- Arduino UNO R3のクロック精度を1MHzパルスで確かめる(2025.04.28)
- トラ技2024年5月号に「3.3/65535」(2024.04.07)
- ラズピコだと1/65535が出現(2024.03.30)
- Help me! ラズピコ、Philhower版だとスケッチをアップロードできない(2023.04.12)
- Arduino IDEでのラズピコ開発環境 Philhower版が正解でしょう(2023.04.04)
「1023 vs 1024」カテゴリの記事
- Arduino、analogWriteは捨てちゃえ。ちゃんとしたPWMの例(2025.03.22)
- 1023 vs 1024:AVRマイコンとPICマイコンのデータシートより(2025.03.19)
- 1/1023監視団 活動中!(2025.03.10)
- おっと。map関数の計算桁に注意(2024.10.06)
- サーミスタでの温度測定、「inf」の出現に耐えられるか?(2024.05.13)
コメント