BASIC4MCU | 질문게시판 | 서보모터와 초음파센서
페이지 정보
작성자 브링미히어 작성일2022-06-17 23:40 조회242회 댓글1건본문
안녕하세요, 질문있습니다.
아래 코드 if문에서 모터가 돌 때도 초음파센서가 쉬지않고
거리를 측정했으면 하는데요, 코드를 어떻게 수정하면 좋을까요?
#include<Servo.h>
#define TRIGPIN 9
#define ECHOPIN 10
Servo myservo;
void setup() {
Serial.begin(9600);
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
myservo.attach(2);
}
void loop() {
int dur;
float dis;
digitalWrite(TRIGPIN, HIGH);
digitalWrite(TRIGPIN, LOW);
dur = pulseIn(ECHOPIN, HIGH);
dis = (float) dur * 0.017;
Serial.print(dis);
Serial.println("cm");
if(dis<20 && dis>10){
for(int i=0;i<10;i++){
myservo.write(160);
delay(500);
myservo.write(80);
delay(500);
}
}
}
댓글 1
조회수 242master님의 댓글
master 작성일
#include<Servo.h>
#define TRIGPIN 9
#define ECHOPIN 10
Servo myservo;
//
void setup() {
Serial.begin(9600);
pinMode(TRIGPIN, OUTPUT); pinMode(ECHOPIN, INPUT);
myservo.attach(2);
}
//
int dur;
float dis;
//
void sonar(){
digitalWrite(TRIGPIN, HIGH); digitalWrite(TRIGPIN, LOW);
dur = pulseIn(ECHOPIN, HIGH);
dis = (float) dur * 0.017;
Serial.print(dis); Serial.println("cm");
}
//
void loop() {
while(dis<20 && dis>10){
for(int i=0;i<10;i++){
myservo.write(160); delay(500);
myservo.write(80); delay(500);
sonar();
}
}
}