정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

형님들 제발좀 도와주세요ㅠㅠi2c 통신으로 초음파 센서값을 얻으려구 합니다..그런데 값이 제대로 안나오네요
멋쟁잇 | 2019-07-30

질문내용 : I2C 통신을 이용하여 슬레이브 값을 마스터에 전달하여 초음파 센서의 값을 확인하려고 합니다. 여기서 값이 안나오는데 소스 확인 부탁드립니다 ㅠㅠ...

 

 

#include <Wire.h>
#include <NewPing.h>
#define SLAVE 4

void setup()
{
  Wire.begin();
  Serial.begin(9600);
  Serial.println("I2C");
}

void loop()
{
  i2c_communication();
  delay(1000);
}
void i2c_communication()
{
  Wire.requestFrom(SLAVE, 1);
  float a = Wire.read();
  Serial.println(a);
}

//////////////////////////////////마스터

 

 

 

#include <NewPing.h>
#include <Wire.h>

#define SLAVE 4
NewPing sonar[2] = {
  NewPing(2, 3, 200),
  NewPing(4, 5, 200),
};
int A,B,C=0;

void setup()
{
  Serial.begin(9600);
  Wire.begin(SLAVE);
  Wire.onRequest(sendToMaster);
}
void loop()
{
 
}
void sendToMaster()
{
  delay(50);         
  A=sonar[0].ping_cm();
  Serial.print("A Ping : ");
  Serial.print(A);
  Serial.println("cm");

  delay(50);         
  B=sonar[1].ping_cm();
  Serial.print("B Ping : ");
  Serial.print(B);
  Serial.println("cm");

}

/////////////////////////////////////슬레이브

 

이전글   |    아두이노 프로세싱 버튼 영상 제어 2019-07-29
다음글   |    아두이노 나노 업로드 문제 2019-07-30