2017년 2월 25일 토요일

16. 두개의 아두이노 통신

개요:

아두이노 보드 2개를 연결하여 통신을 해보겠습니다.


Step1.

두개의 아두이노를 연결한다. A4와 A4, A5와 A5를 연결한다.

Step. 2

마스터 아두이노에 아래 소스를 업로드한다.
port는 10, device는 Arduino로 설정한다.

// Wire Master Writer
// by Nicholas Zambetti <http://www.zambetti.com>

// Demonstrates use of the Wire library
// Writes data to an I2C/TWI slave device
// Refer to the "Wire Slave Receiver" example for use with this

// Created 29 March 2006

// This example code is in the public domain.

#include <Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
}
byte x = 0;

void loop()
{
  Wire.beginTransmission(8); // transmit to device #8
  Wire.write("x is ");        // sends five bytes
  Wire.write(x);              // sends one byte
  Wire.endTransmission();    // stop transmitting

  x++;
  delay(500);
}

Step 3. 

Slave Arduino에 아래 소스를 입력한다. 이때 port는 8로 설정한다.

// Wire Slave Receiver
// by Nicholas Zambetti <http://www.zambetti.com>

// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this

// Created 29 March 2006

// This example code is in the public domain.


#include <Wire.h>

void setup()
{
Wire.begin(8);                // join i2c bus with address #8
  Wire.onReceive(receiveEvent); // register event
  Serial.begin(9600);           // start serial for output
}

void loop()
{
delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany) {
  while (1 < Wire.available()) { // loop through all but the last
    char c = Wire.read(); // receive byte as a character
    Serial.print(c);         // print the character
  }
  int x = Wire.read();    // receive byte as an integer
  Serial.println(x);         // print the integer
}

Step 4.

Serial Moniter를 열어 Mater Arduino 에서 보낸 문자가 Slave Arduino 로 전송되는 모습을 확인한다. 이때 Slave Arduino에서 LED 깜박이며 수신되는 모습을 확인할 수 있다.






















라벨:

0개의 덧글:

댓글 쓰기

에 가입 댓글 [Atom]

<< 홈