프로그래밍

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

ㅁㄴㅇㄹ.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 20487
112703 [잡담] 아수스 수정 바이오스 슬슬 올라오네 MSN06S 0 4 분 전 11
112702 [컴퓨터] 저렴한 노트북..... 4 호호삼호호 0 9 분 전 21
112701 [잡담] 최종견적 2 올데이런 0 11 분 전 12
112700 [컴퓨터] 3700x 배송오고 있는뎅 왜샀는지 모르겟엉 1 핑구야 0 20 분 전 36
112699 [견적] 인생 첫컴 견적입니다 ㅎ 14 무조건가능 0 32 분 전 51
112698 [프로그래밍] 아조시들 vscode에 인덴트 정리해주는 기능 있나요.. 3 프릇프릇 0 37 분 전 32
112697 [잡담] 빔프로젝터 질문있어요 7 잘생긴박현우 0 40 분 전 20
112696 [잡담] 내가 왜 에어론을 추천하는 줄 아냐? 5 메로냐 0 42 분 전 35
112695 [잡담] 컴덕 새끼들 특징 13 브라이언킴대위 1 53 분 전 84
112694 [컴퓨터] 간..간닷 10 순애물 0 1 시간 전 36
112693 [컴퓨터] 어제 차트 빌런임 1 ltearl 0 1 시간 전 42
112692 [컴퓨터] 1050ti -> rx570 업글인가요?? 7 대뇌 0 1 시간 전 101
112691 [컴퓨터] 리싸 쑤! 6 개똥같은소리하네 0 1 시간 전 90
112690 [정보] pm981사기 vs 3200cl16 32gb램 사기 6 장판 0 2 시간 전 75
112689 [컴퓨터] 히히 2070슈뻐 건졌당 9 한콘요약 0 2 시간 전 115
112688 [컴퓨터] 동영상 편집/인코딩용 컴퓨터 사려고 하는데 5 안양인삼공사 0 2 시간 전 48
112687 [잡담] 외장하드 2개 통관 됐다 2 메로냐 0 2 시간 전 72
112686 [모바일] a70 국내정발할까?? 모찌로기모찌 0 3 시간 전 65
112685 [잡담] 컴알못 인데 비레퍼 레퍼 가 이거누 10 발라드충 0 4 시간 전 196
112684 [컴퓨터] 레퍼 비레퍼 차이가 뭐임? 9 년째운동다짐중 0 8 시간 전 285
서버에 요청 중입니다. 잠시만 기다려 주십시오...