프로그래밍/아두이노

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

전자장인 2024. 1. 8.
반응형

안녕하십니까

전력전자 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 

 

오늘의 주제는

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

1. 서보모터 개요

2024.01.06 - [프로그래밍/아두이노] - 아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

안녕하십니까 전력전자와 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 오늘의 주제는 아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석 1. 서보모터개요 1. 서보모터 (S

electronic95.tistory.com

2. 초음파센서 개요

2024.01.03 - [프로그래밍/아두이노] - 아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석

 

아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석

안녕하십니까 전력전자와 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 오늘의 주제는 아두이노 우노 초음파센서(HC-SR04) 사용법 및 코드 분석 1. 초음파센서 (HC-SR04) 개요 1. 초

electronic95.tistory.com

 

3. 초음파센서 및 서보모터 제어  실습 환경 세팅

1. 실습준비물

실습 준비물로는 다음과 같이 준비해주세요

 

1. 아두이노 우노

 

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

2. 브레드보드

 

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

3. 초음파센서

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

4. 서보모터 (Servo Motor)

 

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

5. 점퍼 와이어

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

 

2. 아두이노 우노 및 초음파센서, 서보모터 핀맵 연결

 

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

아두이노 우노 핀 초음파센서 핀 서보모터 핀
5V VCC VCC
GND GND GND
6 pin - PWM
9 pin Trig -
10 pin Echo -

 

아두이노 우노와 초음파센서와 서보모터 간 연결 핀맵은 다음과 같습니다.

해당 핀맵 확인 후 연결해주세요

 

3. 코드 작성 및 결과확인

#include <Servo.h>

const int trigPin = 9;  // 초음파 센서 Trig

const int echoPin = 10; // 초음파 센서 Echo
Servo servoMotor;       // 서보모터 객체

void setup() {

  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  servoMotor.attach(6);  // 서보모터를 6번 핀에 연결
}

void loop() {

  // 초음파 센서로부터 거리 측정
  int distance = getDistance();

  // 거리에 따라 서보모터 각도 제어

  int angle;

 
if (distance >= 10) {

    angle = 180;  // 10cm 이상이면 180
  } else {
    angle = 0;    // 10cm 미만이면 0
  }

 
servoMotor.write(angle);


  // 거리 및 각도 출력

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.print(" cm, Angle: ");
  Serial.println(angle);

 
delay(500);  // 일정 시간 대기

}

int getDistance() {

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  return pulseIn(echoPin, HIGH) * 0.034 / 2;
}

 

아두이노 우노 초음파센서 거리에 따른 서보모터 제어 코드 분석

 

반응형

댓글

💲 추천 글