Irina's Atelier

Happy New Year :)

If you control the ppt using bluetooth?

아이디어는 http://kocoafab.cc/make/view/195 에서 얻어서 만들게 되었습니다.
위의 사이트는 flex 센서를 사용하여 ppt를 컨트롤하게 되어있습니다.
flex는 센서 중에서 가격이 센편에 속하기 때문에 사용하지 않았고, 대신 Switch를 flex센서를 대신하여 사용하였습니다.

Parts

bluetooth_ECO_1
– WIZwiki-W7500ECO :
Reference Document
sale_kr ,sale_en
– JMODE-BT-1 :
Reference Document
sale_kr
Bluetooth 모듈이라면 뭐든지 상관없습니다.
– Jumper line
– Push Switch

Program

  • mbed web compiler
  • Processing

Processing의 자세한 설명은 아래의 링크를 참고하세요.
http://kocoafab.cc/tutorial/view/90

Schemetic

bluetooth_ECO

Code flow

Processing

  • 현재 PC에서 사용하고 있는 Comport확인하는등 초기에 관련된내용
    import processing.serial.*;
    import java.awt.*;
    import java.awt.event.KeyEvent;
    
    Serial myPort;
    
    boolean temp;
    
    void setup(){
      println(Serial.list());
      println(Serial.list()[0]);
      String portName = Serial.list()[0];
      myPort = new Serial(this, portName, 9600); // Serial baud는 9600으로 세팅
      
      myPort.bufferUntil('\n');
      
    }
    
    • 블루투스 통신을 통해 받아온 데이터를 받습니다.
      void draw(){
        serialEvent(myPort);
      }
      
      void serialEvent(Serial myPort){
      
        String inputString = myPort.readStringUntil('\n');
        try{
          inputString = trim(inputString);
          RobotTest(inputString);
        }catch(NullPointerException ne){
          inputString = "0";
        }
        // 블루투스 통신을 통해 받아온 데이터를 받습니다.
      }
      
    • 블루투스가 연결되어있는 Comport로 들어오는 값에 따라 동작합니다.
      void RobotTest(String temp) {
        try{
          Robot robot = new Robot();
      
           robot.setAutoDelay(1000);
           
           if(temp.equals("1")){
           robot.keyPress(KeyEvent.VK_RIGHT);
           }
           // '1'이 들어왔을 경우 키보드 오른쪽 버튼을 누릅니다.
           else if(temp.equals("2")){
             robot.keyPress(KeyEvent.VK_LEFT);
           }
           // '2'가 들어왔을 경우 키보드 왼쪽 버튼을 누릅니다.
        }catch(Exception e){
          
        }
       }
      

mbed

mbed의 소스코드는 다음의 링크로 가시면 Update된 사항을 확인할수 있습니다.
https://developer.mbed.org/users/eunkyoungkim/code/Bluetooth_PPT_Control/

  • Configuration mbed I/Os
#include "mbed.h"

DigitalOut right_led(PA_1);
DigitalOut left_led(PA_2);
Serial bt(P13, P14); // tx, rx
InterruptIn leftsw(P31);
InterruptIn rightsw(P32);
  • Interrupt
bool left_flag = false;
bool right_flag = false;

void left_handler(void) {
left_flag = true;
}

void right_handler(void) {
right_flag = true;
}

int main() {
    // Disable the battery charger unless a battery is attached.
    right_led = 1;
    left_led = 1;

    bt.baud(115200);


    leftsw.rise(&left_handler);
    rightsw.rise(&right_handler);
// 버튼이 눌러질때 마다 1 or 2가 bluetooth를 통해 전송된다.

    while (true) {
        if (left_flag) {
            bt.printf("1");
            left_flag = false;
            left_led = 0;
              wait_ms(500);
            left_led = 1;
        }
        if (right_flag) {
            bt.printf("2");
            right_flag = false;
            right_led = 0;
            wait_ms(500);
            right_led = 1;
        }

    }
}

동작순서

  1. WIZwiki-W7500ECO에 firmware를 올린다.
  2. 노트북와 JMOD-BT-1(bluetooth module)를 bluetooth 통신으로 연결한다.
  3. Processing프로그램에 코드를 넣고 실행시킨다.
  4. PPT의 슬라이드쇼를 실행시킨 후 push button을 이용하여 컨트롤한다.

결과

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

정보

이 엔트리는 05/04/2016에 님이 IoT Project에 게시하였으며 , , , , 태그가 지정되었습니다.

내비게이션

%d 블로거가 이것을 좋아합니다: