SPI」タグアーカイブ

MAX6675とK型熱電対とを使って温度を測ってみた

前回のエントリではK型熱電対をMAX6675で使うためのArduinoのSketchの一例を紹介しました。このエントリでは、そのSketchを使って各種温度を測定した結果を紹介します。

1.水温の変化を測定する

まず、温度がはっきり分かっている物体の温度を測ってみました。具体的には「水」です。水の場合、1気圧での沸点が100℃と一定なので、温度測定の基準として使うことができます。写真1の様に水(約600cc)を満たした鍋の中に熱電対を入れ、ガスコンロで加熱して温度変化を測定しました。

写真1 測定の様子

測定結果を図1に示します。

図1 水温の測定結果

100℃は水の沸点ですので、この範囲においては温度が一定になっていることがよく分かります。

続きを読む

ArduinoでSPIを使う時の備忘録

ArduinoSPI(Serial Peripheral Interface)を使って、K型熱電対用センサーIC、MAX6675動作させてみたわけですが、そのSketchを書いている時に得た知見を備忘録として列挙しておきます。
また、このエントリの後半には、得られた知見を元に書いたサンプルSketchを掲載しました。

1.Arduino IDEでは「SS」「SCK」「MISO」「MOSI」は予約語で、汎用的な変数名としては使えない

上記文字列はSPI専用の変数として予約されているようで、コンパイルすると「conflicting declaration」エラーが出ます。図1参照。SSやSCKなどは他のSketchでも使いそうですが、使えないようです。

図1 SS,SCK,MISO,MOSIを使った場合のコンパイルエラー

2.SPIに関連するArduinoのピンは固定されている

Arduinoのボードによって違いますが、UNOの場合、SSは10番ピン、SCKは13番ピン、MOSIは11番ピン、MISOは12番ピンです。ボードごとの違いはここの「Connections」を参照ください。

続きを読む

K型熱電対用センサーIC(MAX6675)からのデータが化ける【追記あり】

MAX6675(写真1)はSPIインターフェースを持つ、K型熱電対用センサーです。Arduinoを使って評価をしていたのですが(写真2)、COMに表示されるデータのうち、一番目のデータのみあり得ないデータになってしまいました。

MAX6675写真1 MAX6675が搭載された基板
Amazonで購入

DSOX2014写真2 測定の様子
SPIインターフェースに流れる波形を確認したいので、
キーサイトテクノロジーのオシロスコープDSOX2014を使った

Vdd_8_GND_9_1図1 1回目はあり得ないデータが取得されている。2回目以降は問題ない。

このエントリでは、なぜ一番目のデータのみ、あり得ないデータが取得されたその理由と対策を備忘録として記載します。

続きを読む