BASIC4MCU | 질문게시판 | 모터가 이상합니다.
페이지 정보
작성자 이즈미 작성일2019-12-12 16:35 조회7,541회 댓글3건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=11153
작성일
작성일
첨부파일
본문
질문내용 : 빗물,조도센서를 이용해 스텝모터를 돌리는데 모터가 잘가다가 어느지점부터 이상하게 움직입니다
include <Stepper.h>
const int stepsPerRevolution=200;
Stepper myStepper(stepsPerRevolution,11,9,10,8);
void setup(){
Serial.println(9600);
myStepper.setSpeed(14);
}
int RV;
int CDS;
int f=0
//
void loop(){
RV=analogRead(A1);
//Serial.print("RV="); Serial.println(RV);
//--------------------------------------------------
CDS=analogRead(A0);
//Serial.print("cds"); Serial.println(CDS);
//--------------------------------------------------
if(RV<345){ // 빗물감지 되면
if(f==0){ f=1;
Serial.println("ON(RV)<345");
myStepper.step(stepsPerRevolution*8);
delay(1500)
}
}
else{ // 빗물감지 되지 않으면
if(CDS<445){ // 어두우면
if(f==0){ f=1;
Serial.println("ON(cds) <445");
myStepper.step(-stepsPerRevolution*8);
delay(1500)
}
}
if(CDS>445){ // 밝으면
if(f==1){ f=0;
Serial.println("OFF");
myStepper.step(stepsPerRevolution*8);
delay(1500)
}
}
}
댓글 3
조회수 7,541master님의 댓글
master 작성일
왜 아직도 제어를 이상하게 하고 있나요?
myStepper.step(stepsPerRevolution*8); // 빗물감지 되면 // 정방형
myStepper.step(-stepsPerRevolution*8); // 빗물감지 되지 않으면 // 어두우면 // 역방형
myStepper.step(stepsPerRevolution*8); // 빗물감지 되지 않으면 // 밝으면 // 정방형
CDS제어와 빗물 제어가 모터 방향이 다릅니다.
밤에 창문 열고 낮에 닫을건가요? (한여름 열대야인지..)
이즈미님의 댓글
이즈미
창문이 아니고 가림막입니다. 그래서 햇빛이 들어올 때 닫으려고 하는거입니다.어두울 때는 그냥 다시 원위치로 돌려놓고
master님의 댓글
master
if(f==0){ f=1;
여기서 f는 모터의 위치를 나타내는 변수입니다.
f=1 이면 닫음인데
else{ // 빗물감지 되지 않으면
if(CDS<445){ // 어두우면
if(f==0){ f=1;
CDS에서는 f가 바뀌었죠?