티스토리 뷰


아이폰과 아두이노를 블루투스로 연결해보겠습니다. 아이폰은 BLE(Bluetooth Low Energy)을 지원하기 때문에 아두이노 블루투스 모듈을 고르실 때 확인해야 합니다. 앱에디터에서 어플을 만들어서 아두이노와 바로 연결했던 안드로이드 보다는 사용에 제한이 있는 것 같지만, 아이폰으로도 아두이노와 연결할 수 있습니다.

BLE(블루투스 저전력 프로토콜, Bluetooth Low Energy)는 4.0(Bluetooth Smart) 스펙이 2010년 채택된 이후로 배포되는 저전력 블루투스입니다. 기존의 블루투스 통신 프로토콜은 '클래식 블루투스'라는 명칭으로 구별됩니다. 따라서 BLE만 지원하는 아이폰은 ‘클래식 블루투스’를 사용할 수 없습니다.


<그림​ 1> HM-10 블루투스 모듈과 아두이노 우노


    아이폰에서 신호를 주고 아두이노는 블루투스 모듈을 통해 그 신호를 받아 LED를 켜고 끄는 회로를 만들어 보겠습니다. 아두이노와 블루투스 통신을 할 수 있는 어플리케이션을 앱스토어에서 다운로드 받아 사용하도록 하겠습니다.

<그림 2> 블루투스로 아두이노 연결하기


완성된 회로도


<그림 3> 블루투스로 LED 켜기 회로도 

    LED (+)는 아두이노의 디지털 8번 핀에 연결하겠습니다. 그리고 LED (-)는 아두이노 GND에 연결해줍니다. HM-10 블루투스 모듈의 전원을 연결해줍니다. 그리고 RXD는 디지털 3번, TXD는 디지털 2번에 연결합니다.


완성된 코드

#include <SoftwareSerial.h> 
SoftwareSerial BTSerial(2, 3); 
int LED = 8;
void setup()  
{
  pinMode(LED,OUTPUT);
  Serial.begin(9600);
  Serial.println("Hello!");
  BTSerial.begin(9600);  // set the data rate for the BT port
}
 
void loop()
{
   if (BTSerial.available()) {
    int data = BTSerial.read();
    Serial.println(data);

    if(data == 49) {   // BT 로 1 이 오면 (1==49) 로 치환됨
      digitalWrite(LED,HIGH);
    }else{
      digitalWrite(LED,LOW);
    }
  }

  if (Serial.available()) {
    BTSerial.write(Serial.read());
  }
}


아이폰으로 LED 켜고 끄기

아이폰으로 HM-10 모듈을 통해 아두이노로 신호를 보내겠습니다. 그 신호로 LED를 켜고 끄는 아주 간단한 제어를 하겠습니다. 우선 아이폰에 신호를 주고 받을 수 있는 통신 어플리케이션을 설치해야 합니다. 앱 스토어에서 Serial로 검색하면 아래 어플리케이션을 찾을 수 있습니다. 간단한 신호만 주고 받기 때문에 Lite 버전으로 사용하겠습니다.



<그림 4> 앱스토어에서 찾은 HM10 Bluetooth Serial 애플리케이션


    애플리케이션을 실행 후 왼쪽 위에 있는 Connect 버튼을 누릅니다. 아두이노와 HM-10 모듈에 전원이 들어와 있으면 "HM Soft"로 뜨는 블루투스가 있습니다. 이것을 눌러 블루투스로 연결해줍니다. 그 다음 메세지에 "1"을 치면 LED가 켜지고, 다른 문자를 치면 LED가 꺼지는 것을 볼 수 있습니다.


    아두이노 IDE에서 시리얼 모니터에 문자를 입력해서 아이폰으로 출력할 수 있습니다. 시리얼 모니터에 "text from lap top"이라고 치면 아래와 같이 아이폰 화면에 출력됩니다. 

<그림 5> 시리얼 모니터로 입력한 텍스트가 아이폰에 출력된 모습

 


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함