準備
◆Arduinoのソフト(PCにインストール無料)
ツール > マイコンボード > Arduino Uno
ツール > シリアルポート > Arduino Unoが接続されているポート
スケッチを書きましょう
#include <Wire.h>
int y = 0;
void setup()
{
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Wire.onRequest(requestEvent); // register event
}
void loop()
{
delay(100);
}
void receiveEvent(int howMany)
{
y = Wire.read();
}
void requestEvent()
{
Wire.write(11*y+5);
}
→
◆Arduino Uno(master) と Uno(master)をつなぎましょう
◆Arduinoのソフト(PCにインストール無料)
◆Arduino のハード(ピンヘッダー同梱)(360円+送料170円)
◆Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170円)
工作開始
◆Arduino Uno(slave)をつなぎましょう
◆Arduino Uno(skave) にスケッチ を書き込みましょう
ツール > シリアルポート > Arduino Unoが接続されているポート
スケッチを書きましょう
#include <Wire.h>
int y = 0;
void setup()
{
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Wire.onRequest(requestEvent); // register event
}
void loop()
{
delay(100);
}
void receiveEvent(int howMany)
{
y = Wire.read();
}
void requestEvent()
{
Wire.write(11*y+5);
}
→
◆Arduino Uno(master)をつなぎましょう
◆Arduino Uno(master) にスケッチ を書き込みましょう
#include <Wire.h>
int x = 3;
int c = 0;
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(4); // transmit to device #4
Wire.write(x); // sends one byte
Wire.endTransmission(); // stop transmitting
delay(500);
Wire.requestFrom(4, 1); // request 1 bytes from slave device #4
while(Wire.available()) // slave may send less than requested
{
c = Wire.read(); // receive
Serial.println(c); // print I absolutely can not assume the responsibility
}
}
int x = 3;
int c = 0;
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(4); // transmit to device #4
Wire.write(x); // sends one byte
Wire.endTransmission(); // stop transmitting
delay(500);
Wire.requestFrom(4, 1); // request 1 bytes from slave device #4
while(Wire.available()) // slave may send less than requested
{
c = Wire.read(); // receive
Serial.println(c); // print I absolutely can not assume the responsibility
}
}
注意:master5V出力容量が足りるかどうか分からないが・・・・Caution:I do not know whether or not the 5V supply is sufficient・・・・・
◆シリアルモニタで見てみましょう
記載の情報を利用することで被った被害や損害につきましては、情報の内容に誤りがあった場合であっても、一切の責任を負いかねます。
I absolutely can not assume the responsibility
0 件のコメント:
コメントを投稿