당신은 주제를 찾고 있습니까 “아두 이노 블루투스 – 아두이노 예제 14 블루투스로 LED 제어하기“? 다음 카테고리의 웹사이트 https://ppa.fordvinhnghean.com 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.fordvinhnghean.com/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 코딩런 IT [Codingrun IT] 이(가) 작성한 기사에는 조회수 33,781회 및 좋아요 207개 개의 좋아요가 있습니다.
Table of Contents
아두 이노 블루투스 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 아두이노 예제 14 블루투스로 LED 제어하기 – 아두 이노 블루투스 주제에 대한 세부정보를 참조하세요
스마트폰의 블루투스 기능을 이용하여 LED를 제어해봅시다.
본 강의 : http://codingrun.com/114
아두 이노 블루투스 주제에 대한 자세한 내용은 여기를 참조하세요.
[아두이노] 블루투스 모듈(HC-06) 사용하기 (설정, 문자열 전송 …
아두이노에 블루투스 모듈을 추가하면 시리얼통신을 이용하여 데이터 값을 받거나 보낼 수 있다. 블루투스는 10미터 정도에서 무선으로 데이터를 보내 …
Source: deneb21.tistory.com
Date Published: 6/5/2021
View: 3807
아두이노 안드로이드 블루투스 통신하기 (HC-06 AT 무응답 해결)
아두이노와 블루투스 통신을 하기 위해서는 블루투스 모듈이 필요합니다. 저는 HC-06이라고 가장 저렴한 모듈을 구매해서 테스트해봤습니다.
Source: popcorn16.tistory.com
Date Published: 6/1/2022
View: 9272
HC-06 아두이노 블루투스 모듈 : 다나와 가격비교
컴퓨터/노트북/조립PC>PC주요부품>메인보드, 요약정보 : 임베디드 보드.
Source: prod.danawa.com
Date Published: 7/27/2022
View: 3113
[아두이노] HC-06 블루투스 사용하기 – 모두의 메이커
아두이노 블루투스 모듈의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 HC06를 연결하고, 간단한 코딩으로 센서를 …
Source: makerspace.steamedu123.com
Date Published: 4/30/2021
View: 3773
HC-06 블루투스 아두이노에 연결해보기 (AT명령어, 안드로이드 …
하드웨어 연결(Arduino + HC-06) 그림1은 Frizting이라는 툴을 사용해서 회로도를 작성한 것이다. HC-06 블루투스 모듈과 아두이노는 통신라인과 전원 …
Source: scribblinganything.tistory.com
Date Published: 4/8/2022
View: 7403
아두이노 블루투스 모듈 HC-06(ZS-040) 연결과 설정하기
1. 아두이노 · 2. 블루투스 모듈 HC-06(ZS-040 센서(모듈) 뒷 부분에 써져있어요) · 3. 아두이노 USB 케이블 · 4. 점퍼선.
Source: allhpy35.tistory.com
Date Published: 5/27/2022
View: 9845
Bluetooth 통신 제어(아두이노) – Steemit
Bluetooth 통신 제어(아두이노) 온라인 가상시뮬레이터 : AUTODESK CIRCUITS 참고자료 출처 : Serial 통신 제어 (아두이노) 아두이노 끼리… by codingman.
Source: steemit.com
Date Published: 7/16/2022
View: 792
주제와 관련된 이미지 아두 이노 블루투스
주제와 관련된 더 많은 사진을 참조하십시오 아두이노 예제 14 블루투스로 LED 제어하기. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

주제에 대한 기사 평가 아두 이노 블루투스
- Author: 코딩런 IT [Codingrun IT]
- Views: 조회수 33,781회
- Likes: 좋아요 207개
- Date Published: 2017. 7. 26.
- Video Url link: https://www.youtube.com/watch?v=hAhkSBLJ6f0
[아두이노] 블루투스 모듈(HC-06) 사용하기 (설정, 문자열 전송, LED ON/OFF)
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 32 33 34 35
#include < SoftwareSerial.h > //시리얼 통신 라이브러리 호출 int blueTx = 2 ; //Tx (보내는핀 설정) int blueRx = 3 ; //Rx (받는핀 설정) SoftwareSerial mySerial(blueTx, blueRx); //시리얼 통신을 위한 객체선언 String myString = “” ; //받는 문자열 void setup() { Serial. begin ( 9600 ); //시리얼모니터 mySerial. begin ( 9600 ); //블루투스 시리얼 개방 pinMode( 13 , OUTPUT); //Pin 13을 OUTPUT으로 설정 (LED ON/OFF) } void loop() { while (mySerial.available()) //mySerial 값이 있으면 { char myChar = ( char )mySerial.read(); //mySerial int형식의 값을 char형식으로 변환 myString + = myChar; //수신되는 문자열을 myString에 모두 붙임 (1바이트씩 전송되는 것을 모두 붙임) delay( 5 ); //수신 문자열 끊김 방지 } if ( ! myString.equals( “” )) //myString 값이 있다면 { Serial.println( “input value: ” + myString); //시리얼모니터에 myString값 출력 if (myString = = “on” ) //myString 값이 ‘on’ 이라면 { digitalWrite( 13 , HIGH); //LED ON } else { digitalWrite( 13 , LOW); //LED OFF } myString = “” ; //myString 변수값 초기화 } } Colored by Color Scripter
아두이노 안드로이드 블루투스 통신하기 (HC-06 AT 무응답 해결)
아두이노와 블루투스 통신을 하기 위해서는 블루투스 모듈이 필요합니다.
저는 HC-06이라고 가장 저렴한 모듈을 구매해서 테스트해봤습니다.
HC-06
지금은 어느 쇼핑몰에 가도 3000원 후반 ~ 4000원대에 판매가 되고 있습니다.
HC-06 블루투스 모듈을 이용한 아두이노 블루투스 통신은 굉장히 간단합니다.
아두이노 보드를 다음과 같이 구성해줍니다.
아두이노 보드 구성
VCC는 아두이노 5V에, GND는 아두이노 GND에, TXD는 7번핀, RXD는 8번핀에 연결해줍니다.
그리고 다음 코드를 업로드합니다.
#include
int RX=7; int TX=8; SoftwareSerial bluetooth(RX, TX); void setup(){ Serial.begin(9600); bluetooth.begin(9600); } void loop(){ if (bluetooth.available()) { Serial.write(bluetooth.read()); } if (Serial.available()) { bluetooth.write(Serial.read()); } } HC-06센서가 잘 연결되었는지 확인하기 위해서 시리얼 모니터를 켜고 AT를 입력합니다.
OK가 출력된다면 잘 연결된 것입니다.
아두이노 시리얼 모니터
이때 아두이노 HC-06 AT 무응답인 경우가 있습니다.
9600 보드레이트가 맞는지, 또한 line ending 없음으로 잘 맞췄는지 확인해봅니다.
안된다면 line ending 없음이 아니라 새 줄, 캐리지 리턴, Both NL&CR로도 다 해보시는 걸 추천합니다.
보드구성, 코드를 다시 점검해보시고, 이것저것 다 해봐도 안된다면 모듈이 고장 났을 경우도 생각해보셔야 합니다.
실제로 저는 해커톤 가서 블루투스 모듈 고장인지 모르고 엄청나게 삽질했던 적이 있습니다.
모듈을 여러 개 들고 갔는데 2~3갠가 빼고 다 고장이었던,, 모듈은 안전한 곳에 잘 보관하셔야 합니다;ㅅ;
AT 명령어가 잘 되시는 분들은 블루투스 모듈 이름을 변경할 차례입니다.
블루투스 모듈은 처음 사면 이름이 없습니다.
블루투스 기기가 많은 곳에서 테스트한다면 헷갈릴 수 있으니 꼭 변경해주셔야 합니다.
AT+NAME “변경하고 싶은 이름” 명령어를 통해서 이름을 변경합니다.
AT // OK AT+VERSION // OKlinvorV1.8 AT+NAME Arduino // 블루투스 이름을 Arduino로 변경 // OKsetname
그리고 구글 플레이스토어에서 Arduino Bluetooth Controller 앱을 다운받습니다.
아래 어플이 아두이노 블루투스 통신 테스트용 앱 중에 제일 깔끔합니다.
아두이노 블루투스 컨트롤러 앱 in 구글 플레이 스토어
실행하면 Arduino라는 이름의 기기가 존재합니다.
클릭해서 통신을 시작합니다.
아두이노 블루투스 컨트롤러 앱 첫화면
처음 연결할 때는 블루투스 연결 요청이라는 팝업창이 뜹니다.
그때 1234를 입력해주면 정상적으로 연결이 됩니다.
블루투스 연결 요청 팝업창(1234 입력)
Terminal mode로 통신을 시작합니다.
터미널 모드
이제 스마트폰에서 문자를 보내면, 아두이노 시리얼 모니터에서 출력하는 것을 확인할 수 있습니다.
터미널 모드 화면 폰에서 보낸 문자가 시리얼 모니터에서 출력되는 모습
기쁨도 잠시, 스마트폰→아두이노는 데이터 전송이 잘 되는데, 아두이노→스마트폰 데이터 전송은 잘 안 되는 문제가 있었는데, line ending 없음을 Both NL&CR로 변경해주니 금방 해결되었습니다. 지금은 아두이노↔️스마트폰 양방향 통신이 원활하게 잘 됩니다.
제가 산 HC-06 모듈은 AT 세팅을 할 때는 line ending 없음으로, 블루투스 통신할 때는 Both NL&CR로 설정해줘야 하네요. 모듈마다 버전도, 통신도 다르니까 안돼도 이것저것 시도해보시길 바랍니다!
잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.
이 포스팅이 도움이 되었다면 공감 부탁드립니다.
궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다:D
HC-06 아두이노 블루투스 모듈 : 다나와 가격비교
No.1 가격비교사이트 다나와 앱으로
간편하게 최저가를 확인하세요.
언제 어디서나 빠르고 간편하게 상품을 팔거나 살 수 있는
스마트한 모바일 장터입니다.
PC조립을 위한 최고의 어플
실시간 최저가로 손쉽게 조립PC를 구성해보세요.
항시 100개 이상의 이벤트를 언제 어디서든
자유롭고 편리하게 응모 할 수 있습니다.
대한민국 최대 규모의 정보를 자랑하는 신차견적, 견적평가,
중고차 매물 검색, 자동차 뉴스, 커뮤니티 등 자동차 관련
소식을 받아보실 수 있습니다.
문자로 앱 설치 URL 받기 – – 보내기 QR코드
다나와 앱 서비스 목록 닫기
[아두이노] HC-06 블루투스 사용하기
본 절은 [HC-06] 아두이노 블루투스 모듈을 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 블루투스 모듈의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 HC06를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
[아두이노] HC-06 블루투스 사용하기HC-06 블루투스 모듈이란?
HC-06 블루투스 모듈은 다음과 같다.
-모듈인터페이스는 VCC, GND, TXD, RXD를 사용하고 LED에서 상태를 표시
-3.3V 레벨로 MCU(51, AVR, PIC, ARM, MSP430등등) 바로 직접적으로 연결가능, 5V MCU도 또한 MAX232 IC 없이 바로 연결가능
-10M이내의 거리에서 정상적으로 동작
– 10M이상의 거리에도 가능하나 정상동작하지 않을 수 있음
HC-06 vs HC-05 비교 원리
HC-06 와 HC-05의 차이는 다음과 같다.
HC-05는 모듈 KEY 핀의 HIGH/LOW 상태로 모드를 구분, 마스터와 슬레이브 둘 다 사용 가능
기본 설정 : Slave, 38400,8, N, 1, piN=1234, “HC-05” 시리얼 모니터에서 “Both NL & CR”
HC-06은 현재 페어링이 돼있으면 통신 모드, 페어링이 안 돼있으면 AT 설정 모드로 동작. 슬레이브로 기본 고정 (펌웨어 버전이 1.7 이상에선 HC-06도 AT 명령으로 마스터 모드 설정 가능, HC-06에선 AT 명령이 4~6개로 제한)
기본 설정 : Slave, 9600,8, N, 1, pin=1234, “HC-06” 시리얼 모니터에서 “line ending 없음”
HC-06 구입하기
[HC-06 ]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다HC-06 하드웨어 연결
다음과 같이 HC-06 아두이노 센서를 연결할 수 있다.
HC-06 소프트웨어 코딩 #1
간단히 시리얼 통신을 확인할 수 있다.
hc06-T1.ino 0.00MB
센서 코드는 다음과 같다.
#include
#define BT_RXD 2 #define BT_TXD 3 SoftwareSerial hc06(BT_RXD, BT_TXD); void setup(){ Serial.begin(9600); hc06.begin(9600); } void loop(){ if (hc06.available()) { Serial.write(hc06.read()); } if (Serial.available()) { hc06.write(Serial.read()); } } ——————————————————
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
——————————————————
01 연결
– 아두이노와 PC 연결
– 아두이노 IDE 실행
– 메뉴 → 툴 → 보드:아두이노 UNO 확인
– 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
05 스마트폰과 동작 확인
‘Arduino Bluetooth Controller’ 이름을 가진 어플리케이션을 다운로드 및 설치한다.
어플에서 ‘test’ 순서로 입력후 전송을 해보면 아두이노 시리얼 모니터에서 문자 그대로 전송됨을 확인할 수 있다
HC-06 소프트웨어 코딩 #2 – 아두이노의 값을 스마트폰에서 받기
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
hc06-T2.ino 0.00MB
센서 코드는 다음과 같다.
#include
unsigned long previousMillis = 0; const long interval = 1000; unsigned int time; SoftwareSerial hc06(2, 3); void setup() { Serial.begin(9600); hc06.begin(9600); } void loop() { unsigned long currentMillis = millis(); if (currentMillis – previousMillis > interval) { previousMillis = currentMillis; time++; hc06.print(“Time Sec:”); hc06.println(time); if (time == 60) { time = 0; } } } ——————————————————
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
——————————————————
01 연결
– 아두이노와 PC 연결
– 아두이노 IDE 실행
– 메뉴 → 툴 → 보드:아두이노 UNO 확인
– 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
HC-06 소프트웨어 코딩 #3 – 스마트폰에서 아두이노 LED ON/OFF 하기
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
hc06-T3.ino 0.00MB
센서 코드는 다음과 같다.
#include
#define BT_RXD 2 #define BT_TXD 3 #define PIN_LED 7 unsigned long previousMillis = 0; const long interval = 1000; SoftwareSerial hc06(BT_RXD, BT_TXD); void setup() { Serial.begin(9600); hc06.begin(9600); pinMode(PIN_LED, OUTPUT); } void loop() { receivePacket(); } void receivePacket() { char val = hc06.read(); if (hc06.available()) { Serial.write(hc06.read()); } if(val == ‘a’) { digitalWrite(PIN_LED, HIGH); } if(val == ‘b’) { digitalWrite(PIN_LED, LOW); } } ——————————————————
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
——————————————————
01 연결
– 아두이노와 PC 연결
– 아두이노 IDE 실행
– 메뉴 → 툴 → 보드:아두이노 UNO 확인
– 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 HC-06 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.반응형
HC-06 블루투스 아두이노에 연결해보기 (AT명령어, 안드로이드폰에 연결하기)
반응형
하드웨어 연결(Arduino + HC-06)
그림1
그림1은 Frizting이라는 툴을 사용해서 회로도를 작성한 것이다.
HC-06 블루투스 모듈과 아두이노는 통신라인과 전원라인만 간단히 연결하면 된다.
RXD(HC06)은 3번에 TXD(HC06)은 2번에 연결한다. 3번 2번은 아두이노 코드에서 설정한 값이라 다른 포트로 변경도 가능하다.
전원은 5V와 GND에 연결한다.
그림2
그림2은 실제 자리에서 연결한 사진이다. 브래드보드 오른편에 연결되어 있는 것이 HC-06 블루투스 모듈이고 왼편에 있는 것은 가속도 센서이다. 이번 실험에서는 단순 블루투스 연결만을 위해 사용하므로 왼쪽에 모듈은 신경안써도 된다.
최종 연결은 가속도 센서에서 읽은 값을 블루투스를 통해 PC에 보내는 동작을 할 것이다.
아두이노 코드
#include
SoftwareSerial bluetooth(2, 3); void setup(){ Serial.begin(9600); bluetooth.begin(9600); } void loop(){ if (bluetooth.available()) { Serial.write(bluetooth.read()); } if (Serial.available()) { bluetooth.write(Serial.read()); } } 코드 주석>>
아두이노에 bluetooth라는 모듈이 있어서 단순히 핀번호만 입력하면 연결할 수 있다. 그리고 setup에서 시리얼 통신과 블루투스 통신 시작을 한다.
loop함수에서 블루투스 버퍼와 시리얼 통신 버퍼를 확인하면서 값이 들어오면 각 각 보내 준다.
AT 명령어 테스트
그림3
아두이노에서 터미널을 열고 속도를 9600baudrate에 맞춘다. 그리고 Line ending 없음으로 설정해야 한다.
위와 같이 AT를 입력하면 OK라는 메세지를 받을 수 있다. 이는 블루투스 모듈과 아두이노가 잘연결되었음을 알수 있다.
그림4
그림4와 같이 AT+NAME바꾸고싶은이름 을 해서 블루투스 이름을 famtech로 변경하였다.
그림5
그림5처럼 이름을 확인할 수 있다.
그림6
AT+PIN 명령을 사용하여 비밀 번호를 4321로 변경하였다. 기본 default 는 1234이다. 이제 블루투스에 전원이 꺼졌다가 켜져도 비밀번호는 4321이다.
핸드폰에 연결하기
참고로 내 핸드폰은 갤럭시이다. HC-06은 안드로이드에서만 동작한다고 들었는데 애플에서는 안해봐서 모르겠다.
그림7
그림7처럼 핸드폰에 arduino bluetooth controller 앱을 설치한다.
그림8
편의상 다른 블루투스는 지웠다. 아래에 famtech라는 블루투스명이 떴다. 위에서 설정한 이름이다. 해당 블루투스를 연결하자.
그림9
비밀번호를 누르라고 한다. 전에 설정한 4321을 누르자.
그림10
그림10처럼 메뉴를 선택할 수 있는데 터미널모드를 하면 창이 뜬다.
그림11
그림11처럼 텍스트를 입력하였고 이 메세지는 블루투스를 통해 아두이노에 전달된다. 그리고 아두이노는 현재 컴퓨터와 시리얼 통신중이다. 그래서 시리얼 통신으로 위 메세지를 아래 그림처럼 받았다.
반응형
아두이노 블루투스 모듈 HC-06(ZS-040) 연결과 설정하기
안녕하세요 코딩하는 공대생입니다
드디어 제가 대학교 4학년에 올라가는 2020년이 되었어요
오늘은 Arduino의 많은 센서들 중 하나인 HC-06에 대해서 테스트를 해보려고 합니다
준비하기 전에 앞서서 HC-06과 HC-05의 센서는 같은 블루투스 모듈이지만
회로를 연결하고 코딩하는 부분에서 조금 차이가 납니다 실습하시기 전에 꼭 확인해주세요
바로 시작해보도록 하죠!
준비물
1. 아두이노
2. 블루투스 모듈 HC-06 (ZS-040 센서(모듈) 뒷 부분에 써져있어요)
3. 아두이노 USB 케이블
4. 점퍼선
블루투스 센서를 HC-06 또는 ZS-040 라고 부릅니다 즉 하나의 센서를 두 가지 이름으로 부릅니다
HC-06(ZS-040)센서 뒷면 HC-06(ZS-040)센서 앞면
블루투스 모듈 HC-06(ZS-040)은 위 사진 처럼 생겼습니다
재료 준비를 다하셨다면 아래의 사진처럼 회로를 연결해주세요
회로도
아두이노 HC-06(ZS-040) 5V VCC GND GND 7 RX 6 TX
아두이노에 점퍼선을 위와 같은 표를 보고 연결하시면 됩니다
예를 들어서 아두이노의 5V라고 써져있는부분에 점퍼선을 연결한 후 HC-06 센서의 VCC에 점퍼선을 연결하시면 됩니다
Bluetooth_HC-06_test.ino
#include
//블루투스모듈 HC-06(슬래이브만가능)으로 진행함 //블루투스모듈 HC-05(슬래이브 마스터둘다가능)는 조금 코드가 다르다 //HC-06 시리얼창에서 “line ending 없음” 설정할것 int Tx = 6; //전송 보내는핀 int Rx = 7; //수신 받는핀 SoftwareSerial BtSerial(Tx,Rx); void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(“hello”); BtSerial.begin(9600); } void loop() { // put your main code here, to run repeatedly: if (BtSerial.available()) { Serial.write(BtSerial.read()); } if (Serial.available()) { BtSerial.write(Serial.read()); } } Bluetooth_HC-06_test.ino 0.00MB
위의 소스를 넣어주세요
스케치> 라이브러리 포함하기> SoftwareSerial을 클릭해주세요
자동으로 #include
라고 추가되어있을 겁니다 #include
이 잘 추가되어있다면 안 하셔도 됩니다 빨간 동그라미 : 업로드 버튼
파란 동그라미 : 시리얼 창 버튼
업로드 버튼을 클릭 후 시리얼 창 버튼을 클릭
“9600 보드 레이트, line ending 없음”을 확인해주세요
같지 않다면 아래의 사진을 보고 똑 같이 맞추어 주세요
업로딩 후 시리얼 창을 킨 모습입니다
AT라고 입력 후 엔터를 입력하시면 시리얼 창에서 OK 가 뜬 것을 확인할 수 있습니다
AT+NAMEHwang라고 했지만
여러분들은 AT+NAME 하고 바로 뒤에 원하시는 이름을 쓰시면 됩니다
AT+NAME원하는 이름
그러면 OKsetname이라고 뜨는 것을 확인할 수 있습니다
AT+PIN원하는 숫자
PIN바로 뒤에 숫자를 적어주세요
몇 자리까지 되는지는 모르겠지만 저는 4자리로 입력했습니다
잘 입력하셨다면 OKsetPIN이라고 뜹니다
자 그러셨다면 안드로이드 핸드폰을 가지고 블루투스 설정 부분에 가서 기기 찾기 를 해보세요
아까 위에서 AT+NAME으로 설정한 기기 이름이 뜰 것이고
그 기기를 터치하면 AT+PIN으로 설정한 번호를 입력하시면 됩니다
Bluetooth 통신 제어(아두이노) — Steemit
Bluetooth 통신 제어(아두이노)
오늘은 Bluetooth 통신을 주제로 이야기를 할가 합니다. 원래는 나중에 할 예정이였는데 Servo Motor를 조이스틱으로 제어하고 스위치 버턴으로 제어하는 포스프를 쓰다 보니깐 나중에 Bluetooth를 포스트하고 응용 예제로 LED나 Servo Motor를 복습차원을 포스팅을 할 것 같아서 이참에 한번에 해버리는게 좋을 것 같아서 오늘의 포스트 주제로 선정했네요. 이제 본격적으로 Bluetooth 통신으로 들어 가겠습니다.
1. Bluetooth HC-06 모듈
Rx – 데이터 읽기
Tx – 데이터 보내기
두 개의 Rx, Tx만 무슨 핀인지만 아시면 됩니다. 두 핀만 잘 아두이노에 연결하면 무선 통신을 할 수 있게 됩니다.
하지만 이 Bluetooth HC-06 모듈을 아두이노에 연결할 때 잘 생각하고 연결하셔야 합니다. 물론 아무 핀에다 연결해도 상관은 없습니다만 아두이노에 연결 했을 때 해당 핀이 어떤 핀인지에 대한 정의를 머리속에서 내리셔야 합니다.
다음 회로도에서 설명하겠지만 Bluetooth Rx핀은 아두이노에서 사용 할 Tx핀에 연결해야 하고 Bluetooth Tx핀은 아두이노에서 사용 할 Rx핀에 연결해야 합니다. 이 부분만 주의하시면 됩니다. 즉, 아두이노가 보내는 데이터 핀은 아두이노 자체니깐 Tx핀이겠죠. 그게 Bluetooth가 읽으니간 Rx에 연결하는 것이고 Bluetooth가 보내는 데이터는 Bluetooth의 Tx핀에서 나와서 아두이노가 그 데이터를 읽기 위해서는 아두이노의 Rx핀에서 읽어들이겠죠. 이렇게 생각하시면 될 듯 싶네요.
2. 회로도 구성
준비물 : – Bluetoooth HC-06 1개, 아두이노우노
내용 : 0,1핀을 제외한 아무핀에다 연결하시오.
0,1 은 아두이노 자체 시리얼통신 핀입니다. 이곳에 Bluetooth를 연결해도 되긴 하는데 처음에 따로 연결해 주세요.
Bluetooth Tx 핀은 아두이노의 Rx 2번핀에 연결하고 Bluetooth Rx 은 아두이노의 Tx 3번핀에 연결합니다. 왜 이렇게 복잡하게 말하냐면 나중에 SoftwareSerial 라이브러리를 통해서 통신을 할 때 통신 함수의 인자 변수명을 일치시키기 위해서 입니다.
SoftwareSerial::SoftwareSerial(uint8_t rxPin, uint8_t txPin, bool inverse_logic)
SoftwareSerial(rxPin, txPin) : 시리얼통신 핀을 세팅합니다.
여기서 인자값은 bluetooth의 Tx=rxPin, Rx=txPin으로 넘겨지기 때문입니다.
const int rxPin = 2; const int txPin = 3; SoftwareSerial mySerial(rxPin, txPin);
Bluetooth Rx -> Arduino txPin
Bluetooth TX -> Arduino rxPin
대충 변수명은 SoftwareSerial 생성자 함수의 인자 명하고 일치 시켜 유사한 이름을 써주세요.
간혹 Bluetooth 이름으로 짓는 경우가 많은데 그러면 혼동이 생길 수 있습니다.
int BT_TX = 2; int BT_RX = 3;
이럴때
SoftwareSerial mySerial(BT_TX, BT_RX);
이렇게 이름을 짓는 경우가 많습니다. Bluetooth 관점으로 핀이름을 만들다 보니 이렇게 되죠. 엄밀히 말하면 생성자 함수의 인자 네임음 (rx, tx)입니다. 그런데 들어가는 값이 블루투스의 (tx, rx)다고 해서 이렇게 이름 만들면 혼동할 수 있습니다. 될 수 있으면 함수 인자의 네임을 일치시켜 주세요.
3. 코딩
내용 : 스마트폰 연결 Bluetooth를 연결하여 간단히 스마트폰에서 입력한 값을 아두이노에서 읽고 아두이노 IDE 시리얼모니터로 읽은 값을 출력을 해보자.
함수
Serial.begin(9600) : 시리얼통신 시작
Serial.write(출력값) : 시리얼모니터로 출력
SoftwareSerial 통신
#include
SoftwareSerial mySerial (rx, tx) : 소프트시리얼 객체선언(rx(수신), tx(전송))
mySerial.begin(9600) : 시리얼 통신 시작(예로 9600 통식속도를 사용해 봤네요.)
mySerial.write(값) : 데이터 전송
mySerial.available() : 데이터 들어왔는 확인
mySerial.read() : 전송된 데이터 1byte 읽기
SoftwareSerial 라이브러리에서 제공되는 기본 예제로 테스트
해당 소스에서 2,3핀을 시리얼통신 핀으로 사용 했습니다. 그리고 전송속도는 9600으로 둘 다 해버렸네요.
전송 속도 : 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600, 115200
다른 속도로 하셔도 됩니다.
[기본 소스] : 이 코딩은 위 아두이노공식홈페이지에 있는 기본 예제를 기반으로 약간만 수정한 소스입니다. 제가 만든게 아니라 위 아두이노 공식홈페이지에서 제공되는 오픈 예제 소스입니다.#include
const int rxPin = 2; const int txPin = 3; SoftwareSerial mySerial(rxPin, txPin); // RX, TX void setup() { Serial.begin(9600); while (!Serial) { ; } Serial.println(“Bluetooth Start!”); mySerial.begin(9600); } void loop() { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); } 딱히, 어려운 건 없습니다. 링크 예제를 안하더라도 대부분 Bluetooth 샘풀 테스트를 하면 위 소스와 비슷한 방식으로 다들 실험을 합니다.
(1) SoftwareSerial 헤더파일 연결
(2) SoftwareSerial 객체변수 선언
(3) 객체변수.begin(전송속도)
(4) if(객체변수.available()) { byte ch = 객체변수.read(); }
(5) Serial.write(ch);
누가 실험을 하든 이게 젤 처음 다들 하는 Bluetooth 실험 소스입니다. 그냥 자연스럽게 이렇게 코딩하게 됩니다.
여기서 loop()문은 통신을 수행하는 문장입니다.
예전에 시리얼 통신을 할 때 시리얼모니터에서 데이터를 입력하면
if (Serial.available()) {
byte ch = Serial.read();
}
이렇게 읽었습니다. 시리얼 모티터로 출력 한다면
Serial.write(출력값);
이렇게 사용했습니다. 블루투스 통신에서도 이와 같습니다. if (mySerial.available()){ Serial.write(mySerial.read()); }
블루투스를 통해 들어온 데이터를 시리얼모니터로 출력하는 문장입니다. 이것과 반대로 시리얼모니터로 입력한 데이터를 블루투스로 반대로 보내는 동작은 다음과 같습니다.
if (Serial.available()) { mySerial.write(Serial.read()); }
이전에 시리얼 통신을 해왔던 방식 그대로 표현 하시면 됩니다. 단지 블루투스를 SoftwareSerial 라이브러리를 이용하기 때문에 따로 SoftwareSerial 의 객체 변수를 선언해주고 그 객체명으로 시리얼통신함수를 사용하시면 됩니다.
간단히 정리하자면 평소 Serial 통신에서 시리얼모니터에 아두이노의 결과물을 출력했던 방식으로 동일하게 Bluetooth도 동일한 방식으로 푠현한다고 생각하시면 됩니다.
4. Bluetooth 통신을 하기 위한 세팅
1) 스마트폰에서 Bluetooth 등록
위 그림 처럼 HC-06의 이름을 가진 Blutooth가 잡힙니다. 등록하기 위해서는 비번을 쳐야 하는데 초기 비번은 “0000”, “1234” 둘 중 하나로 초기 비번으로 설정 되어 있습니다. 둘 중 하나니깐 두 개 다 입력해서 잡히면 그걸로 등록하시면 됩니다. 참고로 AT 명령어로 비번을 변경할 수 있습니다.
2) 스마트 폰 Bluetooth 통신 앱 설치
전 느낌 오는 걸로 구글스토어에서 블루투스 컨트롤을 쳐서 아래 그림의 어플을 설치했네요. 결과만 보기 위해서 대충 선택했네요. 다른 것들도 많으니간 편한 걸로 설치 하시면 됩니다.
혹시, 직접 만드시고자 하시는 분들은 웹인벤터에서 앱을 만들 수 있습니다. 스크래치 방식으로 블록으로 배치하여 직접 만들 수 있는데 구글 검색 키워드로 “bluetooth 앱인벤터”로 치시면 동영상하고 블로그 게시물이 엄청 많습니다. 유튜브에서 검색하셔도 됩니다. 동영상을 보고 따라 만드시면 나중에 자신이 원하는 스타일로 개조 할 수 있습니다.
3)실행
Bluetooth를 잡아놓은 상태어서 HC-06으로 제가 현재 쓰는 Bluetooth 모듈 명이 검색 되어 있네요. 초기 이름울 AT명령으로 Bluetooth 이름을 변경 할 수 있습니다. 그냥 초기 이름을 그대로 사용합니다. 클릭을 하면 옆 그림처럼 선택 목록이 있는데 젤 위의 Controller mode를 누르면 다음과 같이 조종기가 나옵니다.
오른쪽 상단에 톱니모양을 누르면 환경 설정을 할 수 있습니다.
간단히 방향버턴을 1,2,3,4 로 세팅했네요.
이제 아두이노 IDE를 열고 결과를 테스트 하면 됩니다.
5. 결과
스마트폰에서 방향 스위치를 누르면 아두이노에 연결된 Bluetooth가 방향 스위치 값을 읽고 그 값을 아두이노에서 PC에 연결된 아두이노 IDE 시리얼모니터로 결과가 출력된다.
아래 실험 영상 녹화는 데스크탑 PC에서 녹화한 영상입니다. PC에서 스마트폰을 원격접속하여 스마트폰을 PC에서 볼 수 있게 하였고, 아두이노는 라즈베리파이에 연결되어 작동하고 라즈베리파이에 설치된 아두이노 IDE 의 시리얼모니터로 Bluetooth에서 들어온 데이터를 출력하도록 해놓았습니다. 참고로 라즈베리파이도 데스크탑 PC에서 원격 접속을 하였습니다. 결론은 녹화를 하기 위해서 PC가 스마트폰과 라즈베리파이를 동시에 원격접속하여 PC 모니터에 띄워서 둘을 동시에 조정하여 그 결과를 녹화한 영상물입니다.
위 그림처럼 스마트폰과 라즈베리파이를 원격 접속하여 창을 띄운 화면입니다. 참 번거롭게 녹화을 했네요. 스마트폰으로 찍자니 그러면 Bluetooth 어플 조정을 못하니깐 어쩔 수 없이 원격 접속하여 PC로 녹화를 하게 되었습니다.
키워드에 대한 정보 아두 이노 블루투스
다음은 Bing에서 아두 이노 블루투스 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 아두이노 예제 14 블루투스로 LED 제어하기
- 아두이노
- 센서
- 아두이노 센서
- 블루투스 센서
- 아두이노 강의
- 아두이노 강좌
- 무료 아두이노 강의
- 블루투스 센서 강의
- 강의
- 강좌
아두이노 #예제 #14 #블루투스로 #LED #제어하기
YouTube에서 아두 이노 블루투스 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 아두이노 예제 14 블루투스로 LED 제어하기 | 아두 이노 블루투스, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.