RaspberryとArduinoの無線通信

nRF24L01(Software SPI)

このページを見て 「Software Driven SPI」を使えば、Arduino側のSCK MOSI MISOのピン番号は変更できることに気がつきました。
そこで、早速試してみます。
以下のページから「DigitalIO-master.zip」をダウンロードし解凍したら、
解凍したフォルダーの中の「DigialIO」フォルダーだけlibraries フォルダーに移動します。
https://github.com/greiman/DigitalIO

次に「libraries\RF24\RF24_config.h」をコピーしてバックアップをとります。
バックアップを取ったら「libraries\RF24\RF24_config.h」の「#define SOFTSPI」のコメントを外します。



次にSCK MOSI MISOのピン番号をハードウェアSPIと同じ番号に変更します。


Arduino SDKを再起動し(再起動しないと上記の変更が有効になりません) スケッチを一部変更します。
スケッチは赤字の部分だけ変更します。
/*
 * nRF24L01 Software SPI Sample Program
 *
 * VCC  3.3V
 * MISO 12
 * MOSI 11
 * SCK  13
 * CE   7
 * CSN  8
 */
//#include <SPI.h>
#include <DigitalIO.h>  // Use Software SPI
#include "RF24.h"


{後略}


スケッチを書き込むと変更前と同じように動きます。
これで、Arduino側のSCK MOSI MISOのピン番号は好きなピンに変えることができます。

続く...