정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

초음파 서보모터 코딩 질문드려요
수학다람이 | 2019-06-03

#include <Servo.h>

Servo myservo; 

int pos = 0;

int echoPin = 7;
int trigPin = 8;
int led = 13;
float duration;
float distance = 100;

void setup() {
 myservo.attach(9); 
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(led, OUTPUT);
 digitalWrite(led,LOW);
}

boolean LedState = LOW;

void loop() {
 digitalWrite(trigPin, HIGH);
 delay(10);
 digitalWrite(trigPin, LOW); 

 duration = pulseIn(echoPin, HIGH); 
 distance = ((float)(340 * duration) / 10000) / 2; 

 if (distance < 4) {

 

digitalWrite(led,LedState);

 for (pos = 10; pos < 100; pos += 2)
 {
 myservo.write(pos);
 delay(10);
 }
 delay(2000);
 for (pos = 100; pos >= 10; pos -= 2)
 {
 myservo.write(pos);
 delay(10);
 }
 }
 delay(50);
}

 

위 코딩을 했더니 초음파에 물체가 있는동안 계속 동작해서요... 초음파센서10cm 안에 물체가 없으면 서보모터가 90도로 2초간 열렸다 닫히고 초음파센서에 물체가 감지되는 동안에는 서보모터는 동작없이 닫힌 상태로 led가 켜져 있게 하고싶어요. 도와주세요

이전글   |    해당 스케치에서 센서 값만 추출하여 사용하려 합니다.... 2019-06-01
다음글   |    리튬폴리머 배터리 변압 2019-06-03