아크릴램프 코드 업로드

휴대폰에서 블루투스를 켜면 MAC address만 표시되기에 내 오렌지보드를 찾기가 어렵다. 이를 대비하여 고유의 이름을 설정한다.

오렌지보드의 MAC address를 바꾸는 방법

아래 코드를 업로드 한 후 시리얼 모니터를 연다

시리얼 모니터 입력창에 AT+NAME바꾸고싶은이름 을 입력해준다 (이름 – 영문 + 숫자 최대 20자 까지 가능)

위 명령어를 입력하면 시리얼 모니터에 바뀐 이름이 표시가 된다.

바뀐 이름이 표시가 되면 다시 입력창에 AT+RESET을 입력하여 리셋시키면 해당 이름이 적용된다.

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(4, 5);

void setup()
{
  Serial.begin(9600);
  BTSerial.begin(9600);
}

void loop()
{
  // 블루투스로 부터 수신된 데이터를 읽는다.
  if (BTSerial.available()) {
    Serial.write(BTSerial.read());
  }
  
  // 시리얼 모니터로 부터 입력 받은 데이터를 블루투스로 송신한다.
  if (Serial.available()) {
    BTSerial.write(Serial.read());
  }
}

소스코드를 업로드하기 전 아두이노 라이브러리에서 Adafruit_NeoPixel 을 다운로드 합니다.

아래 소스코드를 업로드합니다.

/*
  제목 : DIY 아크릴 램프 만들기
  내용 : 오렌지보드 BLE를 이용해 스마트폰으로 색상 제어가 가능한 나만의 아크릴 램프 만들기
 
  이 소스코드는 kocoafab에서 작성하였습니다.
  소스코드 배포시에는 출처를 남겨주시기 바랍니다.
 
  E mail : contact@kocoa.or.kr
*/
 
#include <SoftwareSerial.h>
#include "Adafruit_NeoPixel.h"
 
// 오렌지 BLE보드는 4, 5번 핀에 BLE칩이 연결되어 있습니다.
SoftwareSerial BTSerial(4, 5);
 
// 네오픽셀 LED 셋팅(6번핀에 연결된 3개의 NeoPixel을 사용)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(3, 6, NEO_GRB + NEO_KHZ800);
 
// 어플로부터 받은 데이터를 저장할 변수를 생성합니다.
char data;
 
void setup() {
  BTSerial.begin(9600);
  Serial.begin(9600);
  strip.begin();
}
 
void loop() {
  // 블루투스를 통해 데이터가 들어오면
  if (BTSerial.available()) {
    // 들어온 데이터를 data 변수에 저장합니다.
    data = BTSerial.read();
    Serial.write(data);
 
    // data에 저장된 변수의 값에 따라 NeoPixel의 색상을 바꿔줍니다.
    if (data == '1') {
      for (int i = 0; i < 3; i++) {
        strip.setPixelColor(i, 255, 0, 0);
        strip.show();
      }
    }
 
    if (data == '2') {
      for (int i = 0; i < 3; i++) {
        strip.setPixelColor(i, 0, 255, 0);
        strip.show();
      }
    }
 
    if (data == '3') {
      for (int i = 0; i < 3; i++) {
        strip.setPixelColor(i, 0, 0, 255);
        strip.show();
      }
    }
 
    if (data == '4') {
      for (int i = 0; i < 3; i++) {
        strip.setPixelColor(i, 255, 255, 255);
        strip.show();
      }
    }
 
    if (data == '5') {
      for (int i = 0; i < 3; i++) {
        strip.setPixelColor(i, 0, 0, 0);
        strip.show();
      }
    }
  }
}

nRF Toolbox App을 휴대폰에서 다운로드 받습니다.

UART를 클릭하여 버튼마다 1~5를 입력하도록 설정합니다.

블루투스를 연결하고 버튼을 누르면 완성!

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다