Show 목차
개요스크래치 (scratch) 나 s4a, scratchX, 엔트리, snap4arduino등은 아두이노의 기본 개발환경인 C언어를 다루지 않고도 아두이노를 프로그래밍 할 수 있도록 해주기 때문에 편리하지만 USB케이블이 언제나 연결되어있어야 하는 불편이 있다. 블루투스를 사용하면 이 케이블을 제거해 무선 통신을 통해 스크래치로 아두이노를 제어토록 할 수 있다. 스크래치, 엔트리, s4a 나 snap4arduino등 도 물론이고, firmata 프로토콜을 사용해 프로세싱( processingn)이나 다른 툴로 개발한 데스크탑 어플리케이션도 당연히 같은 방법으로 블루투스를 사용해 아두이노와 연결 가능하다. 준비물아두이노 보드, HC-06 블루투스 모듈, 9V 배터리 아두이노(arduino) - 스냅4아두이노( snap4arduino) 블루투스로 무선연결하기step 1. 블루투스 설정
#include <SoftwareSerial.h> SoftwareSerial BTSerial(9,10); // RX | TX (블루투스 모듈의 tx|rx에 각각 연결 void setup() { Serial.begin(9600); Serial.println("Enter AT commands:"); BTSerial.begin(9600); // 처음 hc-06의 기본값은 9600이지만 연결이 이루어지지 않으면 19200, 38400, 57600 ...등으로 바꾸어가며 시도한다. } void loop() { // Keep reading from HC-06 and send to Arduino Serial Monitor if (BTSerial.available()) Serial.write(BTSerial.read()); // Keep reading from Arduino Serial Monitor and send to HC-06 if (Serial.available()) BTSerial.write(Serial.read()); } 파일:Bluetooth-setup-ATmode.zip
step 2. 아두이노에 standardFirmata 스케치 업로드
step 3. 회로 연결
주의!!: 아두이노 스케치를 업로드할때는 반드시 아두이노 0,1번핀은 뽑아두도록 하자. 아두이노의 0,1번핀은 시리얼 통신을 위해 사용되며 USB와 연결되어있다. step 4. 블루투스 페어링 (pairing)
step 5. snap4arduino 연결
참고HC-06 블루투스 모듈 AT 명령어 하드카피월드 블루투스 기초 아두이노 블루투스 모듈아두이노는 유선 통신인 시리얼 통신을 사용한다. 그래서 아두이노 자체만으로는 무선통신이 불가능하다.(블루투스 모듈이 내장되어있는 블루투스 제외) 따라서 무선 통신을 하기 위해서는 무선통신을 시리얼 통신으로 바꿔주는 모듈 블루투스 모듈이 필요하다. 이를 통신 변환 모듈 통신 모듈이라 한다. 블루투스 모듈(HC-06)블루투스 모듈(HC-06)을 사용하여 무선통신을 가능하게 할 것이다. 핀은 RXD, TXD, GND, VCC가 존재한다. 아두이노에 다음과 같이 꽂아줄 수 있다. 블루투스 RXD핀은 아두이노의 블루투스 TXD에 TXD핀은 아두이노의 RXD에 맞춰서 꽂아준다. 보통 RXD핀과 TXD핀은 0과 1이 아닌 다른 핀을 사용하지만 여기서 사용한 아두이노는 0과 1번에 연결되어 통신하게 된다. 0과 1은 보통 pc와 시리얼 통신하기 때문에 블루투스 통신으로 잘 사용되지는 않는다. 블루투스 모듈을 0과 1번 핀에 사용하기 위해서는 pc와 아두이노 통신할 때는 잠시 빼두고 통신이 끝나면 연결해야 한다. 코드
간단하게 스마트폰에서 'Serial Bluetooth Terminal'을 다운로드하여 블루투스 테스트를 진행해볼 수 있다. 라즈베리파이 블루투스 통신라즈베리파이 블루투스 설치// 라즈베리파이 업데이트 블루투스 페어링sudo bluetoothctl HC-06 모듈이 나타난 것을 확인할 수 있다. pair "MAC 주소" 초기 블루투스 모듈의 비밀번호는 1234이다. 블루투스 연결을 할 수 있다. VNC 아이콘 사용[Add Device...] -> [HC-06] [Pair]으로 연결한다. PIN code를 입력하면 블루투스 연결이 완료된다. 여기서 라즈베리파이가 이미 와이파이에 연결되어있다면 블루투스가 연결이 잘되지 않을 경우가 있다. 그럴 경우에는 장치를 제거하고 다시 해봐도 좋은 방법이다. Bluetooth Devices에 들어가 Serial Port로 연결해주면 /dev/rfcomm0 시리얼 통신이 가능하다. 다음 글에는 라즈베리파이에서 node-red로 시리얼 통신 확인을 해본다.참고 - https://popcorn16.tistory.com/196 |