정보나눔

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

초음파 센서를 활용하여 서보 모터 작동하기
whr0622 | 2020-05-15

초음파 센서를 이용하여 거리가 가까워지면 90도 회전하고 멀어지면 다시 원 상태로 돌아가게 하는 코드는 짜려고 하는데요, 아두이노 우도 보드, 아두이노 ide 사용하였습니다. 그런데 소스 코드를 적고 오류도 생기지 않았는데 움직이지도 않아서 혹시 제 코드에 문제가 있나 해서 이렇게 글 올립니다 ㅜㅠㅜㅠㅜ

 

#include<Servo.h>
#define TRIG1 2
#define ECHO1 3
#define TRIG2 4
#define ECHO2 5

Servo servo1;
Servo servo2;

boolean isNear = false;

void setup(){
  pinMode(TRIG1, OUTPUT);
  pinMode(ECHO1, INPUT);
  pinMode(TRIG2, OUTPUT);
  pinMode(ECHO2, INPUT);
  servo1.attach(6);
  servo2.attach(7);
  servo1.write(180);
  servo2.write(180);
  }

void loop(){
  digitalWrite(TRIG1, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG1, HIGH);
  delayMicroseconds(5);
  digitalWrite(TRIG1, LOW);

  long distance1 = pulseIn(ECHO1, HIGH)/58;

  if(distance1<10){
    if(!isNear){
      isNear=true;
      servo1.write(0);
    }
  }else{
    if(isNear){
      isNear=false;
      servo1.write(180);
      delay(1000);
    }

  digitalWrite(TRIG2, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG2, HIGH);
  delayMicroseconds(5);
  digitalWrite(TRIG2, LOW);

  long distance2 = pulseIn(ECHO2, HIGH)/58;

  if(distance2<10){
    if(!isNear){
      isNear=true;
      servo2.write(0);
    }
  }else{
    if(isNear){
      isNear=false;
      servo2.write(100);
      delay(1000);
    }
  }
 
  delay(100);
}}

이전글   |    아두이노 레오나르도 2개랑 nRF24L01 2개를 이용해서 유무선 조이스틱 만들기 시도중.... 2020-05-15
다음글   |    pms 7003 아두이노 나노 블루투스 송신 하는 코드좀 도와주세요.... 2020-05-19