정보나눔

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

아두이노 비콘에 대해서 질문이요
왕초보초보맨 | 2018-05-15

제가 아두이노와 블루투스 모듈고 비콘 4개를 통해 RSSI세기 값을 받아오려고 하는데요.

비콘이 랜덤으로 받아져서 제가 원하는 비콘 순서대로 받고 싶은데요 받을 수 있는건지 여쭤보고싶습니다.

#include<SoftwareSerial.h>

int bluetoothTx = A2;
int bluetoothRx = A3;

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
int a,b,c,d = 0;
char commandbuffer1[200];
char commandbuffer2[200];
char commandbuffer3[200];
char commandbuffer4[200];

 

void setup() {
Serial.begin(9600);
bluetooth.begin(9600);

bluetooth.println("AT");
bluetooth.println("AT+RENEW");
bluetooth.println("AT+IMME1");
bluetooth.println("AT+ROLE1");
bluetooth.println("AT+ADTY2");
bluetooth.println("AT+SHOW0");

 

}

void loop() {
 
bluetooth.println("AT+DISC?");
Serial.println("AT+DISC?");
delay(600);
while( bluetooth.available() && (a< 99))

{
commandbuffer1[a++] = bluetooth.read();
delay(40);
}

commandbuffer1[a++]='\0';

while( bluetooth.available() && (b< 99))

{
commandbuffer2[b++] = bluetooth.read();
delay(40);
}

commandbuffer2[b++]='\0';

while( bluetooth.available() && (c< 99))

{
commandbuffer3[c++] = bluetooth.read();
delay(40);
}

commandbuffer3[c++]='\0';

while( bluetooth.available() && (d< 99))

{
commandbuffer4[d++] = bluetooth.read();
delay(40);
}

commandbuffer4[d++]='\0';


if(a>0)
{
  Serial.println((char*)commandbuffer1);
  a=0;
  delay(100);
}

if(b>0)
{
  Serial.println((char*)commandbuffer2);
  b=0;
  delay(100);
}

if(c>0)
{
  Serial.println((char*)commandbuffer3);
  c=0;
  delay(100);
}

if(d>0)
{
  Serial.println((char*)commandbuffer4);
  d=0;
  delay(100);
}
}

 

이전글   |    MQ-5 가스센서 컴파일 에러 2 2018-05-15
다음글   |    아두이노 dc모터 delay 대신 millis 변경 2018-05-15