2016年6月6日月曜日

Arduino と Arduino でI2C通信してみた

 準備   

Arduinoのソフト(PCにインストール無料)
 

◆Arduino のハード(ンヘッダー同梱)(360円+送料170円)


◆Arduinoのソフト(PC)とArduinoのハードをつなぐUSBケーブル(100円+送料170円
  


 工作開始
◆Arduino Uno(slave)をつなぎましょう

Arduino Uno(skave) にスケッチ を書き込みましょう

ツール > マイコンボード > 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)をつなぎましょう

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
  } 
}


◆Arduino Uno(master) と Uno(master)をつなぎましょう
注意:master5V出力容量が足りるかどうか分からないが・・・・CautionI do not know whether or not the 5V supply is sufficient・・・・・

◆シリアルモニタで見てみましょう





  記載の情報を利用することで被った被害や損害につきましては、情報の内容に誤りがあった場合であっても、一切の責任を負いかねます。
I absolutely can not assume the responsibility

0 件のコメント:

コメントを投稿