코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-09-04 17:48:41
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 | 1 | 아두이노 호환보드 |
2 | 릴레이 모듈(KY-019) | 1 | 릴레이 |
3 | 블루투스 모듈(HC-05) | 1 | 블루투스 |
4 | 초음파 거리센서(HC-SR04) | 1 | 초음파 거리 센서 |
5 | 브레드보드 | 1 | 브레드보드 |
6 | 점퍼케이블 | 1 | 점퍼케이블 |
부품명 | 오렌지 보드 | 릴레이모듈 | 블루투스 모듈 | 초음파 거리센서 | 브레드보드 | 점퍼케이블 |
파트 |
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3);
int bufferPosition;
int echoPin = 6;
int trigPin = 7;
int relay = 13;
// 초음파 거리 센서는 6, 7번핀, 릴레이는 13번 핀에 연결 했습니다.
float senVal = 0;
float senDur = 0;
void setup() {
Serial.begin(9600);
BTSerial.begin(9600);
bufferPosition = 0;
pinMode(relay, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
if (BTSerial.available()) {
byte data = BTSerial.read(); // 블루투스로 안드로이드에서 보내준 데이터를 받는다.
if (data == '1') { // 안드로이드에서 on을 입력 했을 경우
digitalWrite(relay, HIGH);
} else if (data == '2') { // 안드로이드에서 off를 입력 했을 경우
digitalWrite(relay, LOW);
} else if (data == '3') { // 안드로이드에서 auto를 입력 했을 경우
while (1) {
float duration, distance;
digitalWrite(trigPin, HIGH);
delay(10);
digitalWrite(trigPin, LOW);
senDur = pulseIn(echoPin, HIGH);
senVal = ((float)(340 * senDur) / 10000) / 2;
// 초음파 거리 센서에서 보낸 데이터에서 거리를 측정 한다.
// 초음파 거리 센서 원리는 튜토리얼에 있습니다.
Serial.println(senVal);
if (senVal < 40) // 40cm내에 사람이 있을 경우
{
digitalWrite(relay, HIGH); // 릴레이를 작동
} else {
digitalWrite(relay, LOW); // 없을 경우 릴레이를 끔
}
delay(200); // 0.2초 대기
if (BTSerial.read() == '4') { // 안드로이드에서 stop을 입력 했을 경우
break; // 초음파 거리 센서로 스탠드를 조정 하는 것을 멈춘다.
}
}
}
}
}
if (data == '1') { // 안드로이드에서 on을 입력 했을 경우
digitalWrite(relay, HIGH);
} else if (data == '2') { // 안드로이드에서 off를 입력 했을 경우
digitalWrite(relay, LOW);
} else if (data == '3') { // 안드로이드에서 auto를 입력 했을 경우
while (1) {
float duration, distance;
digitalWrite(trigPin, HIGH);
delay(10);
digitalWrite(trigPin, LOW);
senDur = pulseIn(echoPin, HIGH);
senVal = ((float)(340 * senDur) / 10000) / 2;
// 초음파 거리 센서에서 보낸 데이터에서 거리를 측정 한다.
// 초음파 거리 센서 원리는 튜토리얼에 있습니다.
Serial.println(senVal);
if (senVal < 40) // 40cm내에 사람이 있을 경우
{
digitalWrite(relay, HIGH); // 릴레이를 작동
} else {
digitalWrite(relay, LOW); // 없을 경우 릴레이를 끔
}
delay(200); // 0.2초 대기
if (BTSerial.read() == '4') { // 안드로이드에서 stop을 입력 했을 경우
break; // 초음파 거리 센서로 스탠드를 조정 하는 것을 멈춘다.
}
}
}
판다마니아