powerpoint page control using the bluetooth
Parts
- WIZwiki-W7500ECO : Rerence Document :http://wizwiki.net/wiki/doku.php?id=products:wizwiki-w7500eco:start
- JMODE-BT-1 : - Reference Document : http://eleparts.co.kr/data/design/product_file/Hoon/JCnet/JMOD-BT-1-2.pdf Bluetooth 모듈이라면 뭐든지 상관없습니다.
- Jumper line
- Push Switch
Schematic
Program
- mbed web compiler
- Processing
Software
Link :https://developer.mbed.org/users/eunkyoungkim/code/Bluetooth_PPT_Control/
include the mbed library with this snippet
#include "mbed.h" DigitalOut right_led(PA_1); DigitalOut left_led(PA_2); Serial bt(P13, P14); // tx, rx 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); InterruptIn leftsw(PC_6); InterruptIn rightsw(PC_7); leftsw.rise(&left_handler); rightsw.rise(&right_handler); while (true) { if (left_flag) { bt.printf("1\n"); left_flag = false; left_led = 0; wait_ms(500); left_led = 1; } if (right_flag) { bt.printf("2\n"); right_flag = false; right_led = 0; wait_ms(500); right_led = 1; } } }
Processing
include the mbed library with this snippet
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); 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"; } // 블루투스 통신을 통해 받아온 데이터를 받습니다. } 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){ } }
/media/uploads/eunkyoungkim/ppt_control_using_bluetooth.mp4
main.cpp@0:292d2774e9b9, 2016-04-01 (annotated)
- Committer:
- eunkyoungkim
- Date:
- Fri Apr 01 07:46:48 2016 +0000
- Revision:
- 0:292d2774e9b9
Powerpoint page control using the bluetooth
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eunkyoungkim | 0:292d2774e9b9 | 1 | #include "mbed.h" |
eunkyoungkim | 0:292d2774e9b9 | 2 | |
eunkyoungkim | 0:292d2774e9b9 | 3 | |
eunkyoungkim | 0:292d2774e9b9 | 4 | DigitalOut right_led(PA_1); |
eunkyoungkim | 0:292d2774e9b9 | 5 | DigitalOut left_led(PA_2); |
eunkyoungkim | 0:292d2774e9b9 | 6 | Serial bt(P13, P14); // tx, rx |
eunkyoungkim | 0:292d2774e9b9 | 7 | |
eunkyoungkim | 0:292d2774e9b9 | 8 | bool left_flag = false; |
eunkyoungkim | 0:292d2774e9b9 | 9 | bool right_flag = false; |
eunkyoungkim | 0:292d2774e9b9 | 10 | |
eunkyoungkim | 0:292d2774e9b9 | 11 | void left_handler(void) { |
eunkyoungkim | 0:292d2774e9b9 | 12 | left_flag = true; |
eunkyoungkim | 0:292d2774e9b9 | 13 | } |
eunkyoungkim | 0:292d2774e9b9 | 14 | |
eunkyoungkim | 0:292d2774e9b9 | 15 | void right_handler(void) { |
eunkyoungkim | 0:292d2774e9b9 | 16 | right_flag = true; |
eunkyoungkim | 0:292d2774e9b9 | 17 | } |
eunkyoungkim | 0:292d2774e9b9 | 18 | |
eunkyoungkim | 0:292d2774e9b9 | 19 | int main() { |
eunkyoungkim | 0:292d2774e9b9 | 20 | // Disable the battery charger unless a battery is attached. |
eunkyoungkim | 0:292d2774e9b9 | 21 | right_led = 1; |
eunkyoungkim | 0:292d2774e9b9 | 22 | left_led = 1; |
eunkyoungkim | 0:292d2774e9b9 | 23 | |
eunkyoungkim | 0:292d2774e9b9 | 24 | bt.baud(115200); |
eunkyoungkim | 0:292d2774e9b9 | 25 | |
eunkyoungkim | 0:292d2774e9b9 | 26 | InterruptIn leftsw(PC_6); |
eunkyoungkim | 0:292d2774e9b9 | 27 | InterruptIn rightsw(PC_7); |
eunkyoungkim | 0:292d2774e9b9 | 28 | leftsw.rise(&left_handler); |
eunkyoungkim | 0:292d2774e9b9 | 29 | rightsw.rise(&right_handler); |
eunkyoungkim | 0:292d2774e9b9 | 30 | |
eunkyoungkim | 0:292d2774e9b9 | 31 | while (true) { |
eunkyoungkim | 0:292d2774e9b9 | 32 | if (left_flag) { |
eunkyoungkim | 0:292d2774e9b9 | 33 | bt.printf("1\n"); |
eunkyoungkim | 0:292d2774e9b9 | 34 | left_flag = false; |
eunkyoungkim | 0:292d2774e9b9 | 35 | left_led = 0; |
eunkyoungkim | 0:292d2774e9b9 | 36 | wait_ms(500); |
eunkyoungkim | 0:292d2774e9b9 | 37 | left_led = 1; |
eunkyoungkim | 0:292d2774e9b9 | 38 | } |
eunkyoungkim | 0:292d2774e9b9 | 39 | if (right_flag) { |
eunkyoungkim | 0:292d2774e9b9 | 40 | bt.printf("2\n"); |
eunkyoungkim | 0:292d2774e9b9 | 41 | right_flag = false; |
eunkyoungkim | 0:292d2774e9b9 | 42 | right_led = 0; |
eunkyoungkim | 0:292d2774e9b9 | 43 | wait_ms(500); |
eunkyoungkim | 0:292d2774e9b9 | 44 | right_led = 1; |
eunkyoungkim | 0:292d2774e9b9 | 45 | } |
eunkyoungkim | 0:292d2774e9b9 | 46 | |
eunkyoungkim | 0:292d2774e9b9 | 47 | } |
eunkyoungkim | 0:292d2774e9b9 | 48 | } |