안녕하세요.제가 조명을 제작하고 있는데 잘 풀리지 않는 부분이 있어서 질문드립니다.
컨셉은 로봇모양 조명2개를 만들어서
로봇1에는 블루투스로 ON/OFF제어/적외선 수신부
로봇2에는 적외선 송신부 를 달 예정입니다.
로봇1의 ON/OFF는 블루투스로 제어하고 로봇끼리 마주봤을 때에만 로봇2도 함께 점등되도록 만들고 싶은데요.
두 개의 스케치를 어떻게 연결해야 하는지 모르겠습니다..
****블루투스ON/OFF****
char val;
int ledpin=8;
void setup() {
pinMode(ledpin, OUTPUT);//8번으로 아웃풋
Serial.begin(9600);//시리얼 통신시작
}
void loop() {
if(Serial.available()){//데이터가 들어오는가?
val=Serial.read();//데이터가 들어오면 val에 저장
}
if((val=='h')||(val=='H')){//h로 입력되면
digitalWrite(ledpin,HIGH);//LED를 ON해라
}
if ((val=='L')||(val=='l')){ //ㅣ이 입력되면
digitalWrite(ledpin,LOW);//OFF해라
}
}
****적외선 송수신****
#define IRRX A0
#define LED 13
int val = 0;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int r = analogRead(IRRX);
if(r > 999){
digitalWrite(LED, LOW);
}else{
digitalWrite(LED, HIGH);
}
if( abs(r - val) > 0){
Serial.println(r);
val = r;
delay(100);
}
}
***합쳐졌을 때***
char val;
#define IRRX A0
#define LED 13
int r = analogRead(IRRX);
int ledpin1=8;
int ledpin2=13;
void setup() {
pinMode(ledpin1, OUTPUT);//8번으로 아웃풋
pinMode(ledpin2, OUTPUT);
Serial.begin(9600);//시리얼 통신시작
}
void loop() {
if(Serial.available()){//데이터가 들어오는가?
val=Serial.read();//데이터가 들어오면 val에 저장
int r = analogRead(IRRX);
}
if((val=='h')||(val=='H')){//h로 입력되면
digitalWrite(ledpin1,HIGH);//LED를 ON해라
if(r > 999){
digitalWrite(ledpin2, LOW);
}else{
digitalWrite(ledpin2, HIGH);
}
if( abs(r - val) > 0){
Serial.println(r);
val = r;
delay(100);
}
if ((val=='L')||(val=='l')){ //ㅣ이 입력되면
digitalWrite(ledpin1,LOW);//OFF해라
if(r > 999){
digitalWrite(ledpin2, LOW);
}else{
digitalWrite(ledpin2, HIGH);
}
int r = analogRead(IRRX);
if(r > 999){
digitalWrite(ledpin2, LOW);
}else{
digitalWrite(ledpin2, LOW);
}
if( abs(r - val) > 0){
Serial.println(r);
val = r;
delay(100);
}
}
} }
블루투스는 잘 작동되는데 적외선 송수신이 작동이 안돼네요ㅠㅠㅠ
제가 소스를 합치면서 문제가 있는 것 같은데 도움 부탁드립니다.
|