압력센서의 데이터의 이용해서 서보모터를 반복하여 움직이는 소스를 만들고 싶은데, 원하는 대로 되지 않아 문의드립니다.
10~50의 압력을 받으면 90도, -90도로 반복하여 움직이고, 70 이상의 압력을 받으면 180도, -180도로 반복하여 움직이고 싶습니다.
하다가 어려움이 있어서 문의드립니다.
#include <Servo.h>
Servo myservo;
int sensor =A2;
int servo = 11 ;
int pos = 0; //servo가 0도로 포지션을 잡음.
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
myservo.attach(servo);
}
void loop() {
// put your main code here, to run repeatedly:
int sensorValue = analogRead(11);
float voltage = sensorValue*(5.0/1023.0); //sensor 세팅
Serial.println(voltage);
if (50 > voltage > 10) { // sensor가 10~50의 압력을 받음
for (pos = 0; pos <= 90 ;pos+=1){ // servo가 90도로 움직임
myservo.write(pos);
for (pos=90; pos>=0; pos-=1); // servo가 다시 90도로 되돌아감
myservo.write(pos);
if (voltage > 100) { // sensor가 100도 이상의 압력을 받음.
for (pos = 0; pos <= 180 ;pos+=1){ // servo가 180도로 움직임.
myservo.write(pos);
for (pos=180; pos>=0; pos-=1); // servo가 다시 180도로 되돌아감
myservo.write(pos);
}
}
} }}