티스토리 뷰
아이폰과 아두이노를 블루투스로 연결해보겠습니다. 아이폰은 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> 시리얼 모니터로 입력한 텍스트가 아이폰에 출력된 모습
'아두이노' 카테고리의 다른 글
[아두이노] 해외 참고 사이트 목록 (1) | 2019.02.20 |
---|---|
[아두이노] 포텐셔미터로 스탭모터 제어하기 (1) | 2019.02.04 |
[아두이노] 스텝 모터 사용하기 (4) | 2019.02.01 |
[아두이노] LED 서서히 켜고 끄기 (0) | 2019.01.24 |
[아두이노] 포텐셔미터로 서보모터 동작 (1) | 2019.01.23 |
- Total
- Today
- Yesterday
- 태양광
- 습도
- 온도
- dc 모터
- agile
- 아두이노
- 서보모터
- solar
- relay
- LED
- 스크럼
- 애자일
- Solar Panel
- Arduino
- 초음파센서
- Renewable
- 4 원칙
- Solar Sharing
- DHT22
- 태양광 공유
- 코딩
- 시리얼 모니터
- Step Motor
- Fading LED
- Scrum
- dht
- Stepper Motor
- DC Motor
- Potentiometer
- 릴레이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |