SPI」タグアーカイブ

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回目以降は問題ない。

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

続きを読む