マスター ボードは Arduino Uno で、スレーブは Arduino Yun です。一方のボードの A4 と A5 を使用して両方を配線し、もう一方のボードの A4 と A5 ピンに接続します。どちらも別々に電源が供給されますが、下の図のように同じグランドを共有します。
マスターとスレーブの両方のコードを以下に示します。スレーブ ボードに電力が供給されていない場合、マスターはスレーブと通信できないことを認識しLoop
、スレーブに電力が供給されるまで出力しません。これは、マスターがスレーブを知っていることを示唆しています。
ただし、スレーブはマスターからこの信号を受信することはありません。receiveEvent
呼び出されることはありません。
マスターのピンが足りなくなったので、スレーブにいくつかのピンを占有するLCDディスプレイを制御させたいので、これを行っています。
どんな助けでも素晴らしいでしょう、ありがとう。
主人
#include <Wire.h>
#define SLAVE_ADDRESS 0x9
void setup() {
Serial.begin(9600);
Wire.begin();
delay(1000);
}
void loop() {
Wire.beginTransmission(SLAVE_ADDRESS);
Wire.write('T');
Wire.endTransmission();
Serial.println("Loop");
delay(1000);
}
スレーブ
#include <Wire.h>
#define SLAVE_ADDRESS 0x9
void setup() {
Serial.begin(9600);
delay(1000);
Wire.begin(SLAVE_ADDRESS);
Wire.onReceive(receiveEvent);
Serial.println("Setup");
}
void loop() {
// Serial.println("Loop");
}
void receiveEvent(int howMany){
Serial.println("Receive event");
while (Wire.available() > 0)
{
char c = Wire.read();
Serial.println(c);
}
}