ArduinoのSPI(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」を参照ください。