프로그래밍

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

ㅁㄴㅇㄹ.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
번호 제목 글쓴이 추천 수 날짜 조회 수
공지 컴퓨터 / IT에 관련된 글을 올려주시기 바랍니다. 21 overflow 5 2016.08.22 21911
119860 [잡담] 아 또 파일 그대로 옮겻엇네 친구없는병신찐따... 0 27 분 전 18
119859 [모바일] 본인 미니5 구매후 상당히 만족중 날카로운입담 0 40 분 전 36
119858 [컴퓨터] LG32GK650F 팜 3 언제나슬픔 0 49 분 전 54
119857 [컴퓨터] 하드디스크 안쓸때 끄는거 유틸말고는 없음?? 1 오피차주 0 1 시간 전 34
119856 [컴퓨터] 아 망했다. 7 클로로프렌 0 1 시간 전 50
119855 [모바일] 샤오미 홍미8 3일간 사용후기 6 이디나후이 0 1 시간 전 133
119854 [컴퓨터] 사블 카드 있고없고 차이심해? 9 휘바 0 1 시간 전 60
119853 [컴퓨터] 윈도우 10 오면서 5 Hyouka 0 2 시간 전 103
119852 [컴퓨터] 클라이언트 비활성시 프레임 드랍.help 2 에더리 0 2 시간 전 66
119851 [컴퓨터] 색감차이는 어쩔수 없는듯 6 숨참고백스텝 0 2 시간 전 135
119850 [정보] 요새 오디오 플레이어 다 거기서 거기인가? 3 번째 나날 0 3 시간 전 68
119849 [컴퓨터] 형님들 혹시 컴퓨터에선 블루투스 어떻게 해야 12 와나두5렙 0 3 시간 전 103
119848 [모바일] 노트8 공기계 팔려고하는데 6 신혜율 0 3 시간 전 119
119847 [컴퓨터] 파스 점수 ㄹㅇ 조진 듯... 왜이럼 7 클로로프렌 0 4 시간 전 119
119846 [컴퓨터] 노트북 옵티머스 잘 아는분 5 개드리퍼의일생 0 4 시간 전 36
119845 [컴퓨터] 노트북 파이어 스트라이크 점수 8 클로로프렌 0 4 시간 전 57
119844 [잡담] 노트8에서 아이폰11로 넘어가면 디스플레이 와닿으려나? 4 고렙페티쉬 0 4 시간 전 82
119843 [컴퓨터] ㄹㅇ컴터 나보다 안좋은사람 입닫아라(인증) 11 한남충게이 0 4 시간 전 179
119842 [모바일] 아이패드 7세대 괜찮지 않음? 9 피릉피릉 0 5 시간 전 122
119841 [컴퓨터] 램오버 처음으로 해봤는데 이게 된건지 모르겠네 4 엥면 0 5 시간 전 68
서버에 요청 중입니다. 잠시만 기다려 주십시오...