프로그래밍

아두이노 아까 질문했던 개붕이인데

ㅁㄴㅇㄹ.png

 

제목 없음sd.png

 

 

 

 

#include <SoftwareSerial.h>
#include <Servo.h>
Servo servo;
SoftwareSerial bluetooth(3,2);
int servo_Pin=13;
int min_value = 544;
int max_value = 2400;

void setup() {
 bluetooth.begin(9600);
 Serial.begin(9600);
 pinMode(13,OUTPUT);
 servo.attach(servo_Pin, min_value, max_value);
 servo.write(90); //기본 모터각도 90도
}
int incom;
int cdsVal;
void loop() {
  int cdsVal = analogRead(A0);
  if (bluetooth.available() > 0 ){
    incom = bluetooth.read();
    Serial.print(incom);              
  }                                                    //여기까지 아날로그신호랑 블루투스 신호받음
    if(5 == incom){                               //자동부분 - 신호 5를 받으면 자동으로 전환되야함
      (cdsVal > 80);{ 

----------원래 이곳을 채워넣어야함----------------------------------------------------------------------------------------------
      }
    }
    else{                                             //수동부분 어플에서 신호 (닫기)0 혹은 (열기)90 을 받으면 받은대로 각도조절
    int servo_value = incom;
    servo.write(servo_value); 
  }
  delay(800);
  }

 

 

 

 

 

 

 

간단하게 바꿔보라고 해서 일단 여기까지만 하려공..

 

사실 내가 써놓고도 잘 모르겠어..

 

작동은 하긴하는데

 

자동부분이 좀 이상하게 작동해 

 

자고 일어나서 다시 생각해볼래 그냥 수동으로만 할까봐

 

 

 

 

 

 

원래 채워야할 부분에

 

if(5 == incom){
      (cdsVal > 80);{ 

for(int i = 90; i >= 0; i--) { 
      servo.write( i );                     
      delay(100); 
      }
    } // 조도센서가 80이상 감지되면 각도를 내려서 닫게함

+

else(int k = 0; k <= 90; k++) {  

      servo.write( k );                     
      delay(100); 
      }
    } //반대로 조도 센서가 80이하면 각도를 올려야함

 

 

 

 

 

 

이렇게 넣을려고 헀는데

 

else문을 넣으면 밑에 else랑 겹쳐서 또 무한루프되더랑


 

10개의 댓글

2019.06.16

else if 쓰면 되는거 아님?

0
2019.06.16
@클로로프렌

ㄱㄷㄷㄱㄷ 함써봄

0
2019.06.16
@류게이

#include

#include

Servo servo;

SoftwareSerial bluetooth(3,2);

int servo_Pin=13;

int min_value = 544;

int max_value = 2400;

 

void setup() {

bluetooth.begin(9600);

Serial.begin(9600);

pinMode(13,OUTPUT);

servo.attach(servo_Pin, min_value, max_value);

servo.write(90); //기본 모터각도 90도

}

int incom;

int cdsVal;

void loop() {

int cdsVal = analogRead(A0);

if (bluetooth.available() > 0 ){

incom = bluetooth.read();

Serial.print(incom);

}

if(5 == incom){

(cdsVal > 80);{

for(int i = 90; i >= 0; i--) {

servo.write( i );

delay(100);

}

}

}

else {

for(int k = 0; k 0){

int servo_value = Serial.println; /// 여기까지 쓰고있다가

servo.write(servo_value);

}

delay(800);

}

 

 

 

else if 부분에서 'else' without a previous 'if' 이런거 떠써 막히고..

 

그냥 if로 때워봤더니 이번엔

 

cannot resolve overloaded function 'println' based on conversion to type 'int' 으로 막힌다 ㅎ ㅏ..

 

그냥 포기해야겠다.. 수동으로만 쓸래

 

 

0
2019.06.16
@류게이

아 else if 문에서 if가 없다는 건 괄호 못 친거임 { }이거 짝이 맞는지 보셈

0
2019.06.16
@클로로프렌

아... ㅋㅋㅋ int cdsVal 두번이나 선언 하셨네요

0
2019.06.16

뭐라 쓴건지 이해 안되는 부분이 있긴한데 자동제어에서

값이 튀면 예상되는 반복문, 구별문? 거기다가 Serial.println(변수);로 값봐요

0
2019.06.16

자동으로 동작하다가 블투 명령이 들어오면 수동 모드로 전환 -> 블투 명령에 자동 모드로 전환하는게 없다면 복귀가 안되겠지?

 

셋업에

unsigned char mode = AUTO;

 

루프에

switch(mode)

{

default:

case AUTO:

// 자동 동작만 하다가 블루투스 명령이 들어오면 mode = MANUAL;

break;

case MANUAL:

// 블투 명령만 수행하다가 자동 모드로 변경 명령이 들어오면 mode = AUTO;

break;

}

 

 

0
2019.06.16

if(5 == incom){

(cdsVal > 80);{

for(int i = 90; i >= 0; i--) {

servo.write( i );

delay(100);

}

}

}

 

이거 뭔데?

 

C 몰라서 그러는데 이게 맞아?

if(cdsVal > 80) {

아냐?

0
2019.06.16
@망연자실

아 나도 저기 부분이 처음보는 거라 내가 모르는 건가 했는데 역시....

0
2019.06.16

if(5 == incom){

 

if(cdsVal > 80) {

 

for(int i = 90; i >= 0; i--) {

 

servo.write( i );

 

delay(100);

 

}

 

} else {

 

for(int k = 0; k 0){

 

int servo_value = Serial.println; /// 여기까지 쓰고있다가

 

servo.write(servo_value);

 

}

 

delay(800);

 

}

 

이게 니가 원하던 거 아냐?

 

진지하게 문법이 맞긴 한가 물어보는거야

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180472 [컴퓨터] 컴퓨터 완본체 샀는데 깔아야할 드라이버나 설정 있나요? 4 하이웨이 0 2 시간 전 96
180471 [잡담] 좆데온 8천번대보다 7900xtx가 1 전기모기채는신이야 0 3 시간 전 97
180470 [컴퓨터] 형님들 견적짠거 호환 문제없는지 확인 부탁드립니다 2 우루루옳지 0 3 시간 전 42
180469 [정보] 크러쉬80 - 레이니75를 만든 Wob의 텐키리스 키보드 2 Veigrake 0 4 시간 전 139
180468 [잡담] 여기 로봇 청소기도 물어봐도 됨?? 9 년째재수강 0 5 시간 전 138
180467 [잡담] 윈도우12 전부 레거시쳐낸다는말이 하드웨어를 말한거구나 4 이거보인다면기분탓임 0 5 시간 전 201
180466 [컴퓨터] 갤럭시80 넘나 이쁜것이예요 2 군마 1 7 시간 전 301
180465 [모바일] 차량용 맥세이프 충전기 탁상용으로 쓰니 좋다 4 년째군대 0 8 시간 전 164
180464 [잡담] 채터링 어캐잡습니까... 5 로우팡맨 0 9 시간 전 162
180463 [잡담] 4월에 마우스 큰 게 두 개 나오네 4 GNStout 0 9 시간 전 214
180462 [컴퓨터] 무선 키보드 마우스 세트는 별로인가? 3 하이웨이 0 9 시간 전 111
180461 [컴퓨터] 10만원대 포터블 모니터는 사는거 아니더라 14 코싸멘뚜 0 9 시간 전 192
180460 [정보] 레이니75 저격하는 브릿지75 18 Veigrake 0 11 시간 전 278
180459 [모바일] 새 애플펜슬 나오면 기존 제품들 가격내려가? 5 II바II코II드II 0 14 시간 전 218
180458 [잡담] 드디어 왔다 레이니 5 ltearl 0 22 시간 전 291
180457 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 16 god79ii 0 22 시간 전 417
180456 [컴퓨터] sata 케이블때문에 ssd가 망가질 수도 있나요? 9 드웨인토마스 0 23 시간 전 317
180455 [모바일] 횽들 어거좀 봐줘 6 부자가될개붕이놈들 0 1 일 전 193
180454 [컴퓨터] 선생님들 혜안을 구합니다 9 빠른인정빌런 0 1 일 전 184
180453 [모바일] 당근으로 갤럭시탭 s9 울트라 사기로했는데 2 말이야방구야 1 1 일 전 296