BASIC4MCU | 질문게시판 | 온도센서로 서보모터 조절 질문
페이지 정보
작성자 듀듀으듀 작성일2018-12-14 20:05 조회7,396회 댓글0건첨부파일
본문
안녕하세요! 정말 막막해서 글 남깁니다 ㅠㅠ
다름이 아니라 온도센서 하나를 이용해서 서보모터 세개를 조절하는 코딩을 했는데, 제대로 움직이지가 않아서요 ㅠㅠㅠ
하나의 온도센서를 이용해서
온도가 28도 미만일때 서보모터1만 움직이고,
28도 이상 32도 미만 일때 서보모터 2만 움직이고
32도 이상일때 서보모터가 3만 움직이게 설정하고 싶었는데
서보모터 1과 서보모터 2는 제대로 움직이는데
32도 이상일때 모토들이 다같이 움직입니다 ㅠㅠ
아무래도 IF else 명령어를 이용해서 코딩을 짜서 혼동이 있는 것 같은데ㅠㅠㅠㅠ
어떤게 문제인지 질문 드립니다 ㅠㅠ
(동영상을 첨부드립니다. 동영상의 모터들은 왼쪽부터 1, 2, 3입니다. 동영상에 보이시는 대로 모터3이 움질일 차례에 제대로 작동하지 않습니다 ㅠㅠㅠ)
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
int servoval1;
int servoval2;
int servoval3;
void setup() {
analogReference(INTERNAL);
myservo1.attach(9);
myservo2.attach(10);
myservo3.attach(11);
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
float temperature = reading/9.31;
if(temperature > 28){
if (temperature > 32) {
servoval1 = 0;
servoval2 = 0;
servoval3 =90;
} else {
servoval1 = 0;
servoval2 = 90;
servoval3 = 0;
}
} else {
servoval1 = 90;
servoval2 = 0;
servoval3 = 0;
}
myservo1.write (servoval1);
myservo2.write (servoval2);
myservo3.write (servoval3);
Serial.print("temperature = ");
Serial.println(temperature);
delay(500);
}
댓글 0
조회수 7,396등록된 댓글이 없습니다.