Arduino ラズパイ3 SPI通信テスト

今回はラズパイ3とArduinoを使って、簡単なSPI通信テストをやってみます。

とは言え、ネットに落ちてる情報を組み合わせてやってるだけなので、詳しくは探した方が解説付きでええかも。

これは自分の備忘録も兼ねてますので、ざっくりと手順を記載しています。

で、早速ラズパイ3とArduinoの接続からなんですが、ラズパイ3の入力って3.3VでAruduinoの出力は5Vなんですね。

なので、レベル変換する必要があります。

とは言え、難しい話ではなく、ただ単に1kΩ抵抗2本で分圧するだけで大丈夫です。

こんな感じ。

多分、図を書かなくても判って貰えるとは思ったのですが、一応書いてみました。

で、それぞれのピン配ですが、

ラズパイ3

Arduino

つう事で、

信号 ラズパイ3 Arduino
MOSI 19 11
MISO 21 12
CLK 23 13
CS 24 10
GND 39 GND

※MISOは分圧回路を経由して接続

※2018/05/04追記

fritzingなるソフトを見つけて、配線図を書いて見ました!

見づらいかなー?なんとなく判って貰えると嬉しいんだけどw

ソフトの話はこちらで

Arduino ラズパイ 配線描画ツール fritzing

※追記ここまで

Arduinoのプログラム

新規スケッチに下記を記載

パクリ参照元:Raspi と ArduinoでSPI通信

受信データをそのまま送信するシンプルなプログラムです。

ついで、ラズパイ3ですが、ラズビアン上でコンパイルします。

パクリ参照元:Raspberry PiのSPI通信

上記ソースをコンパイルします。

実行する前に、ラズパイのMOSIとMISOを短絡しておきます。

ループバックテストですので、自分で送信し、受信出来るかの確認になります。

で、実行!

上記はループバック成功のメッセージ。

短絡を外して実行すると、

接続されてませんよー!ってメッセージが出ます。

では、続いてラズパイ3とArduinoを接続。(写真の右上のが分圧してる所。)

次にArduinoのシリアルモニタを起動し、9600bpsに合わせます。

ラズパイ3から送信したデータを受信するとここに表示されます。

では、早速ラズパイで先ほどのプログラムを実行

ポチッ!

おおおおおおーーーーー!

シリアルモニタに受信データが表示されました!

では、オシロスコープで波形を確認。

しっかりと波形も取れております。

大成功です!(* ‘д’ノノ゙☆パチパチパチ

パクり先参考元の情報が良いので簡単に確認できました。

後は、FRAMが届いた時に色々弄って見たいと思います。

因みに、GNDはノイズの影響を受ける可能性があるので、接続しています。

管理人の場合、HDMIでモニター接続時には正常動作し、外すと正常に動作しない現象が発生し、モロGNDが弱いと気付き付けました。

環境によっては無くでも動作するかもしれませんが、元々ラズパイ自体GNDが弱いので、付けてた方が安心かも。

GND有り、無しの波形

同じ通信をしてるのに、この差です。

2018/6/30まで、オプション無料キャンペーンしてるよー。
凄いお得ですよー。

RIGOL (リゴル) デジタルオシロスコープ DS1054Z オプション10万円相当無料

シェアする

  • このエントリーをはてなブックマークに追加

フォローする