ArduinoUno를 블루투스 통신으로 원격 L 치카하고 싶다.

하고 싶은 일



이번에는 어떤 사정에서 Arduino와 PC를 Bluetooth 통신시킬 필요가 되어 버렸기 때문에, 그것의 전 단계로서 L치카를 실시하고 싶습니다.
이번 주요 내용으로는
・Bluetooth로 Arduino와 PC를 접속
・PC로부터 원격으로 L치카
같은 느낌입니다.

준비하는 것



구입한 것은
· Arduino Uno Rev3
· RN-42 사용 Bluetooth 무선 모듈 평가 키트 (아키즈키 전자 통상에서 구입 가능)
· 핀 헤더
・점퍼선
・브레드보드
・USB 케이블(A-B)
・9V 전지
· 배터리 스냅
입니다.

준비한 소프트웨어는
・ArduinoIDE(1.8.5)
・TeraTerm(4.97)
입니다.
이러한 설치에 대해서는 자세한 기사가 많이 있으므로, 할애하겠습니다.

환경으로서는 OS에 Windows10 64bit를 사용하고 있습니다.
또한 FTDI의 USB 장치 드라이버가 이미 설치되어 있습니다. (이쪽의 설치에 대해서는 할애)

준비



EV 킷은 그대로 핀이 없기 때문에 핀 헤더를 납땜하여 사진처럼 합니다.
핀 헤더를 붙이는 것은 J1, J2라고 써 있는 곳입니다.

EV 킷 설명 에서처럼 똑바로 설치하면 브레드 보드의 피치에 맞지 않으므로 조심하십시오.

Arduino에 쓰기



소스 코드(스케치)는 이 사이트 을 참고로 하여 다음과 같이 썼습니다.
1번 핀을 TXD, 0번 핀을 RXD로 데이터를 교환하고 있습니다.
터미널 소프트웨어(이번에는 Tera Term)로 1을 입력하면 점등, 0을 입력하면 소등하도록 하고 있습니다.
또한 각각의 입력에 대해 대답을 하도록 하고 있습니다.

bt_led.ino
#include <SoftwareSerial.h>

#define tx 1
#define rx 0
#define led 13

//Bluetooth Serial
SoftwareSerial btSerial(rx,tx);

int mode = 0;

void setup() {
  //Initialize LED
  pinMode(led,OUTPUT);
  digitalWrite(led,LOW);

  //Initialize Bluetooth Serial baud rate
  btSerial.begin(115200);
}

void loop() {
  char c;

  //Store data
  if(btSerial.available()){
    c = btSerial.read();
  }

  //Change mode
  switch(c){
    case '0':
      btSerial.write("LED = disabled\n");
      mode = 0;
      break;
    case '1':
      btSerial.write("LED = enabled\n");
      mode = 1;
      break;
  }

  //Turn on or off LED
  switch(mode){
    case 0:
      digitalWrite(led,LOW);
      break;
    case 1:
      digitalWrite(led,HIGH);
      break;
  }
}

이 소스 코드를 ArduinoIDE로 컴파일하고 USB 케이블을 사용하여 ArduinoUno에 씁니다.

Arduino와 평가 키트 연결



배선은 아래 그림과 같습니다.

그림을 만들려면 Fritzing, 여기의 데이터를 사용했습니다.

연결된 부분은
・3.3V와 평가 키트의 3.3V
· GND 및 평가 키트의 GND
・1번(TXD)과 평가 키트의 RXD
・0번(RXD)과 평가 키트의 TXD
· 평가 키트의 CTS와 RTS
되어 있습니다.
이제 Arduino에서 평가 키트에 전원을 공급하고 송수신 할 수 있습니다.

EV 킷과 PC 연결



Arduino에 배터리 스냅으로 배터리를 설치하고 평가 키트의 녹색 LED가 깜박이는지 확인합니다.
설정 > 블루투스 및 기타 기기
에서 장치를 추가하고 "RNBT-oooo"인 것을 추가합니다.
(oooo는 EV 킷에 표시된 MAC ID 아래 4 자리)
이제 Arduino와 Bluetooth를 이용한 통신을 할 수 있습니다.

Tera Term 시작



Tera Term을 시작합니다.
시작하고 직렬을 선택하고 포트를 선택합니다.

포트에 몇 개의 후보가 있는 경우는 선택하고 나서 조금 기다려 봐, 평가 킷의 녹색의 LED가 점멸로부터 점등으로 바뀌면 OK입니다. 변하지 않을 때는 다른 포트를 선택합시다.
연결이 끝나면 설정 > 직렬 포트를 선택하고 다음과 같이 설정합니다.

설정이 끝나면 이제 준비가 끝납니다.

L치카



실제로 입력합니다.
1,0을 입력하면 Tera Term에서 다음과 같이 표시되어 ArduinoUno의 LED를 켜고 끌 수있었습니다.




끝에



이번에 우선 블루투스 통신으로 L치카하는 곳까지는 할 수 있었으므로, 앞으로는 보다 복잡한 일도 실시하고 싶습니다.

좋은 웹페이지 즐겨찾기