BASIC4MCU | 질문게시판 | 습도센서 서보모터 질문
페이지 정보
작성자 얌얌 작성일2020-06-19 12:57 조회7,029회 댓글2건본문
안녕하세요 제가 코드를 아래와 같이 짜보았는데 잘안되네요..
목표가 습도 60이상에서 움직이다가 180도가 되면 멈추고
60이하에서는 반대로 회전하는 코드를 짜보고싶습니다 부탁드립니다 한번만 도와주세요!!
#include <SimpleDHT.h>
#include <Servo.h>int prinDHT11=4;
SimpleDHT11 dht11;
int Smoter=5;
int pos=0;
Servo myservo;void setup() {
Serial.begin(9600);
myservo.attach(5);
}void loop() {
byte temperature=0;
byte humidity=0;
int err=SimpleDHTErrSuccess;
if ((err=dht11.read(prinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT11 failed, err=");
Serial.println(err);
delay(2000);
return;
}
if(int(humidity)>=60){
int static back=0;
if(back==1){
pos = pos-5;
if(pos<=0){
back=0;
}
}
else if(pos<180){
pos = pos+0;
if(pos>=180){
back=1;
}
}
}
myservo.write(pos);
Serial.print((int)temperature);
Serial.print(" *C, ");
Serial.print((int)humidity);
Serial.println(" H");delay(2000);
}
else if문에서 pos= pos+0을 해보았지만 180도에서 다시 역으로 회전해가더라구요...
어디가 문제일까요..??
그리고 60이하일때 코드는 어디에 붙여야좋을까요?
댓글 2
조회수 7,029통이님의 댓글
통이 작성일서보모터 초기값을 0으로 주어보셨나요?
얌얌님의 댓글
얌얌
제가 쓴 답글에 새로짠 코드 올렸는데 봐주 실 수 있을까요??
초기값 0추가해도 똑같더라구요 ㅜㅜ