ソフトウェア

4–20mAはなぜ4mAから始まるのか?電流ループの仕組みとマイコンでの受け方

工場やプラントの計装で広く使われている「4–20mA」。圧力や温度などの測定値を、電流の大きさで伝えるアナログ信号です。古くからある方式ですが、今でも現役で使われ続けています。なぜ電圧ではなく電流で送るのか?なぜ0mAではなく、中途半端な4...
ソフトウェア

オーバーサンプリングでADCの分解能を上げる仕組み 4倍で1bit増える理由と、効かない条件

マイコン内蔵の10bitや12bitのADCで、もう少し細かく測りたい。そんなときに、外付けのADCを足さずに使えるのがオーバーサンプリングです。何回も測って足し合わせるだけで分解能が上がるという、少し不思議な手法です。なぜ「4倍測ると1b...
ソフトウェア

12bitのADCなのに実力は10bit?分解能・精度・ENOBの違いとデータシートの読み方

ADC(A/Dコンバータ)を選ぶとき、まず目に入るのは「12bit」「16bit」といった分解能の数字です。しかしデータシートを読み進めると、INL、DNL、ENOB、ノイズフリー分解能と、似たような項目が次々に出てきます。分解能が高いAD...
ソフトウェア

12Vや24Vをマイコンで測るには?分圧回路の設計と誤差の計算

バッテリー電圧や24V電源をマイコンで監視したい場面はよくあります。しかしマイコンのADCが受けられるのは、3.3Vや5Vまでです。そこで使うのが、抵抗2本の分圧回路です。抵抗値はどうやって決めればよいのか?抵抗は大きいほうがよいのか、小さ...
ソフトウェア

ADCの分解能はなぜ10・12・14・16bitの「2bit刻み」なのか?12Vや24Vで測れば精度は上がる?

マイコンやADC(A/Dコンバータ)を選んでいると、ふと気になることがあります。分解能は10・12・14・16bitと2bit刻みの製品ばかり。1bit増えるだけで分解能は2倍になるのに、なぜ11bitや13bitは少ないのか?3.3Vや5...
Python

【Python×Rust】uvとMaturinで構築する高速ハイブリッド開発環境!Ubuntu対応版 🦀🐍

「Pythonの書きやすさは最高だけど、特定の処理だけもっと高速化したい…」「Rustで高速なロジックを書いて、Pythonから手軽に呼び出せるって本当?」「uvとMaturinを組み合わせた今どきのハイブリッド開発環境、どうやって作るの?...
Python

【Python×旅・ハイキング 第4回】ルートの険しさを丸裸に!matplotlibで高尾山の「標高断面図」を作ろう【シリーズ最終回】⛰️

「地図上でルートは分かったけど、このコースってどれくらい登りがキツいの?」「よく登山雑誌で見かける、横軸が距離で縦軸が標高になっている『山の断面図』を自分で作りたい!」「シリーズの締めくくりとして、これまでの知識をすべて繋ぎ合わせたい!」こ...
Python

【Python×旅・ハイキング 第3回】ついにビジュアル化!foliumライブラリで高尾山のルートをWeb地図上に描こう 🗺️

「データが計算できるのは分かったけど、やっぱり地図の上に線を引いて見たい!」「よくニュースやWebサイトで見かける、拡大・縮小できるインタラクティブな地図って自分で作れるの?」「Pythonで地図データを扱うのって、専門知識がないと難しい?...
Python

【Python×旅・ハイキング 第2回】高尾山のルートデータを大解剖!区間距離と方位角を自動計算して「登山計画レポート」を作ろう 🥾

「前回、高尾山のルートから緯度・経度・標高を抜き出せたけど、これを使って何ができるの?」「『次のチェックポイントまであと何メートル?』『どの方角に進めばいい?』を自動で計算させたい!」「前に学んだ地理計算の知識を、実際のルートデータに応用し...
Python

【Python×旅・ハイキング】世界一登られる山「高尾山」のGPXファイルをPythonで解析してみよう!🧭

「休日にハイキングに行く計画を立てているけど、スマートにルートを管理したい!」「よく耳にする『GPXファイル』って何?どうやって使うの?」「せっかくPythonを学んだんだから、自分の趣味(旅・登山)にも役立ててみたい!」こんにちは! AI...