2014-09-12 12:33:25



| NO | 부품명 | 수량 | 상세설명 |
| 1 | 아두이노 플로라(Flora) | 1 | 아두이노 |
| 2 | 블루투스 모듈(HC-05) | 1 | 블루투스 |
| 3 | Flex센서 | 1 | Flex센서 |
| 4 | 3.7V 리튬 이온 폴리머 전지 | 1 | 리튬전지 |
| 5 | 점퍼케이블 | 10 | 점퍼케이블 |
| 6 | 10KΩ 저항 | 2 | 저항 |
| 부품명 | 아두이노 플로라 | 블루투스 모듈 | Flex센서 | 3.7V 리튬전지 | 점퍼케이블 | 10KΩ |
| 파 트 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |


#include <SoftwareSerial.h>
SoftwareSerial BTSerial(0, 1); // SoftwareSerial(RX, TX)
byte buffer[1024]; // 데이터를 수신 받을 버퍼
int bufferPosition; // 버퍼에 데이타를 저장할 때 기록할 위치
const int flexPin = 10; // 검지 손가락 Flex센서와 연결된 Pin
const int flexPin1 = 9; // 중지 손가락 Flex센서와 연결된 Pin
void setup(){
BTSerial.begin(9600);
Serial.begin(9600);
pinMode(flexPin, INPUT);
pinMode(flexPin1, INPUT);
}
void loop(){
int flexVal = analogRead(flexPin);
int flexVal1 = analogRead(flexPin1);
// 각각의 손가락에 연결된 Flex센서의 값을 받아서 저장합니다.
if (flexVal < 850) { // 검지 손가락을 구부렸을 경우 '1'을 보낸다.
BTSerial.write('1');
BTSerial.write('\n');
delay(1000);
}
if (flexVal1 < 850) { // 중지 손가락을 구부렸을 경우 '2'를 보낸다.
BTSerial.write('2');
BTSerial.write('\n');
delay(1000);
}
else{
delay(1000);
}
}
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){
}
}








if (flexVal < 850) {
digitalWrite(ledPin, HIGH);
BTSerial.write('1');
BTSerial.write('\n');
delay(1000);
}
if (flexVal1 < 850) {
digitalWrite(ledPin, HIGH);
BTSerial.write('2');
BTSerial.write('\n');
delay(1000);
}
void setup(){
println(Serial.list());
println(Serial.list()[0]);
String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
myPort.bufferUntil('\n');
}

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);
}
else if(temp.equals("2")){
robot.keyPress(KeyEvent.VK_LEFT);
}
}catch(Exception e){
}
판다마니아
아두이노, 프로세싱, Flex센서, 블루투스, 통신, Flora