정보나눔

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

블루투스로 아두이노간 데이터 전송에 대해서 궁금한점이 있습니다.
고덕윤 | 2015-11-26

hc06 블루투스로 아두이노 간 데이터 전송을 시도해볼려고 합니다.

마스터 모듈이 달린 아두이노에 포텐셔미터와 스위치 2개를 달고 슬레이브 모듈가 달린 아두이노에는 led 및 서보모터를 달 생각입니다.

현재 다음과 같이 코드를 작성했는데 포텐셔미터의 데이터 값을 전송해 서보모터를 제어하는것이 마음대로 되지가 않내요..

한번 봐주실수 있으신가요?

<송신부>

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(2,3); 

int shift1 = 8;
int shift2 = 9;
int change = 10;

void setup() {
  BTSerial.begin(9600);
  Serial.begin(9600);
  pinMode(shift1, INPUT_PULLUP);
  pinMode(shift2, INPUT_PULLUP); 
}

void loop() {
  
  int m = 255; 

  BTSerial.print('C'); // 포텐셔미터로 서보모터 제어를 위한 부분
  BTSerial.println(analogRead(A0));
    delay(100);
  
  if(digitalRead(shift1) == LOW)
  {
    BTSerial.print('1');  
    BTSerial.write(m);
    delay(100);  // 스위치를 디바운스 하기 위해 지연 필요.
  }

  else if(digitalRead(shift2) == LOW)
  {
    BTSerial.print('2'); 
    BTSerial.write(m);
    delay(100);  // 스위치를 디바운스 하기 위해 지연 필요.
  }
  
    else
  {
    BTSerial.print('S');  // stop
    BTSerial.write(m);
    delay(100);  // 스위치를 디바운스 하기 위해 지연 필요.
  }
}

 

<수신부>

#include <SoftwareSerial.h>
#include <Servo.h>

#define led1 13
#define led2 12
#define led3 11

SoftwareSerial BTSerial(2,3); 
Servo myservo;

int changeDirection = 0; 

void setup() {
  BTSerial.begin(9600);

  pinMode(led1, OUTPUT);
   pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
  myservo.attach(10);
}

void loop() {
   
  if(BTSerial.available())  
  {
    char ch = BTSerial.read();

  switch(ch)
  {
    case '1':
    {
      digitalWrite(13, HIGH);
      delay(1000);
      digitalWrite(13,LOW);
    }
    break;

    case '2':
    {
      digitalWrite(12, HIGH);
      delay(1000);
      digitalWrite(12,LOW);
    }
    break;

    case 'S':
    {
      digitalWrite(11, HIGH);
    }
    break;
    
    case 'C':
    {
      unsigned char angle = BTSerial.read();
      int changeDirection = angle;
      int a=constrain(changeDirection, 0, 50);
      myservo.write(a);
      delay(50);
    }
    break;
  }
  }
}

 

이전글   |    질문드려요!! 온도센서 블루투스 2015-11-26
다음글   |    날씨 정보를 알려주는 무드 램프 만들기[완성]에서 코드 질문드립니다... 2015-11-26