Title
아두이노 예제
2017.02.07 23:43

Wire Library - Master Reader/Slave Writer

조회 수 49 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

몇명의 상황에서는 경우에 따라 유용할 수 있습니다 2 (이상!)을 설정 하면 Arduino와 Genuino 보드 서로정보를 공유 하는 것에 도움이 될 수 있습니다. 이 예제에서는 두 개의 보드 I2C 동기 직렬 프로토콜을 통해 마스터 리더/슬레이브보낸 구성에서 서로 통신할 프로그래밍 됩니다.  Arduino의 와이어 라이브러리의 몇가지 기능은 이것을 성취하는데 사용된다. Arduino 1, Master 1은 요청된 대로 프로그램을 요청하고, 독특하게 쓰여진 슬레이브 아르 뒤노에서 보낸 데이터를 읽을 수 있도록 합니다. 그 메시지가 수신 되 면는 Arduino 소프트웨어 (IDE) 시리얼 모니터 창에서 다음 볼수 있습니다.

 

I2C 프로토콜은 데이터를 보내고 받기 위해 두라인을 사용하는 것을 포함합니다: Arduino( regular)또는 Genuino MasterBoard( SCL)가 정기적으로 전송되는 serial( clock)또는 두 장치 사이에 데이터가 전송되는 직렬 데이터 핀( SDA). 클록 스프링이 로우에서 하이(시계 펄스의 상승)로 변함에 따라 단일 비트의 정보가 표시됩니다. - 특정 장치의 주소와 명령 또는 데이터를 순서대로 작성할 것이다. 이 정보가 전송된 후 비트 전송률 - 요청된 장치는 요청을 실행하고 데이터를 다시 전송하고 필요한 경우 타이밍 신호에 의해 여전히 MA에 의해 생성된 클록 신호를 사용하여 동일한 라인에 대해 보드 위에 놓으십시오.

 

12C 프로토콜이 각 활성화된 장치를 고유한 주소로 사용할 수 있도록 하기 때문에 마스터 및 슬레이브 장치 둘 다 단일 라인에서 교대로 통신할 수 있습니다. Arduino 또는 Genuino 보드를 사용하여 여러개의 장치 또는 다른 보드를 사용하는 것이 가능합니다. 단, 마이크로 컨트롤러의 두개의 핀 포인트를 사용합니다.

 

Hardware Required


  • 2 Arduino or Genuino Boards
  • hook-up wires

 

Circuit


현황판에서 핀 4(데이터 또는 SDA, 핀)및 핀 5(시계, 핀 또는 핀)를 슬레이브 보드에 연결합니다. 양쪽 보드가 공통 접지를 공유하는지 확인하십시오. 직렬 통신을 활성화하려면 USB를 통해 마스터 보드에 마스터를 연결해야 합니다.

 

보드 전원을 독립적으로 작동하는 경우, 마스터의 5V출력을 슬레이브 핀의 VIN핀에 연결합니다.

 

4.png

 

 

Schematic​


 

5.png

Code


마스터 리더 코드-Arduino 1프로그램

 

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

// Demonstrates use of the Wire library
// Reads data from an I2C/TWI slave device
// Refer to the "Wire Slave Sender" 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)
  Serial.begin(9600);  // start serial for output
}

void loop() {
  Wire.requestFrom(8, 6);    // request 6 bytes from slave device #8

  while (Wire.available()) { // slave may send less than requested
    char c = Wire.read(); // receive a byte as character
    Serial.print(c);         // print the character
  }

  delay(500);
}

 

마스터 리더 코드-Arduino 2프로그램

 

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

// Demonstrates use of the Wire library
// Sends data as an I2C/TWI slave device
// Refer to the "Wire Master Reader" 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.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("hello "); // respond with message of 6 bytes
  // as expected by master
}


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
311 아두이노 강좌 [아두이노 강좌] 03. RGB LED 색깔 변경하기 file 귀욤둥이 2017.02.21 129
310 아두이노 강좌 [아두이노 강좌] 02. LED 밝기 변경하기 file 귀욤둥이 2017.02.21 122
309 아두이노 강좌 [아두이노 강좌] 01. LED 깜빡이기 file 귀욤둥이 2017.02.20 85
308 아두이노 강좌 아두이노란 무엇 일까요??? file 귀욤둥이 2017.02.20 59
307 아두이노 예제 Wire Library - SFR Ranger Reader file 귀욤둥이 2017.02.08 84
306 아두이노 예제 Wire Library - Master Writer/Slave receiver file 귀욤둥이 2017.02.07 49
» 아두이노 예제 Wire Library - Master Reader/Slave Writer file 귀욤둥이 2017.02.07 49
304 아두이노 예제 Wire Library - Digital Potentiometer file 귀욤둥이 2017.02.07 71
303 아두이노 예제 WiFi Shield 101 Library - WiFi Send Receive UDP String file 귀욤둥이 2017.02.07 43
302 아두이노 예제 WiFi Shield 101 Library - WiFi Web Server file 귀욤둥이 2017.02.07 53
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 33 Next
/ 33