프로그래밍

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

ㅁㄴㅇㄹ.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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180596 [잡담] 누가봐도 리듬게임만 하는 사람처럼 보이게 꾸밈 69746974 0 42 분 전 22
180595 [잡담] 아이패드 가격 꼬라지 어질어질하네 참잘했어요 0 1 시간 전 24
180594 [잡담] 안녕하세요 아이패드 미니6 64기가 셀룰러 사용자입니다. 2 아도크 0 2 시간 전 58
180593 [모바일] 신형 아이패드에 애플펜슬 2세대 호환 안되네 제육볶음맛있다 0 2 시간 전 57
180592 [모바일] 스타일러스펜 좋은거 없냐 CEASAR 0 3 시간 전 23
180591 [모바일] 아이패드 프로 11인치 1세대 보상판매하면 Marlin 0 4 시간 전 95
180590 [잡담] 저장용량 두배로 해놓고 동결해버리기 2 SNRB 0 4 시간 전 146
180589 [잡담] 어이패드 미니 어디감 7 년째재수강 0 4 시간 전 180
180588 [잡담] 팀쿡 어디 아프냐? 1 hideonbush 0 4 시간 전 148
180587 [잡담] 애플 또 주특기 나왔네 씹 6 ye 1 4 시간 전 250
180586 [컴퓨터] 자꾸 하드디스크가 연결해제됩니다.. 도움이 필요합니다..ㅠ 1 뱌마크재나투 0 4 시간 전 37
180585 [잡담] 노트9 폰겜용 공초하면 처음 샀을때처럼 빨라짐? 1 제발요 0 5 시간 전 31
180584 [잡담] 갤24플러스 vs 아이폰15플러스 5 1등 0 5 시간 전 96
180583 [잡담] Transmit 5 이거 진짜 개쓰레기 앱이네 1 고양이가좋아요 0 5 시간 전 66
180582 [컴퓨터] 조카 컴퓨터 견적인데 이거 괜찮나요? 9 롤다이아요 0 6 시간 전 85
180581 [견적] 모니터 포함 100만 견적 평가좀 6 응이엄마 0 7 시간 전 89
180580 [컴퓨터] 음탕한 처녀를 샀습니다 3 69746974 0 8 시간 전 233
180579 [프로그래밍] 요즘 모바일 개발은 어떤 걸 사용하나요? 12 커피좋아용 0 10 시간 전 191
180578 [잡담] 맥 전체화면 위에 창 하나 더 어떻게 띄움?? 8 fhana 0 11 시간 전 140
180577 [잡담] 엔비디아 제어판 이거 왜 안되는거임 2 두근두근메르피즈 0 12 시간 전 112