본문 바로가기
임베디드 컴퓨팅/Arduino

[ARDUINO] 아두이노 튜토리얼 03 : 초음파 센서 제어하기

by makepluscode 2022. 6. 18.
반응형

아두이노 튜토리얼 03 : 초음파 센서 제어하기

아두이노 기초 튜토리얼 목표

이번 튜토리얼에서는 ARDUINO 아두이노로 초음파 센서를 제어하는 코드를 작성하고 실습한다.

아두이노로 초음파 센서를 읽어보자!

Arudino Sonar Sensor Control

실습코드

아두이노 스케치를 설치하고 다음의 코드를 작성한다.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);    //출력을 위한 시리얼 설정
  pinMode(2,OUTPUT);     // 센서 TRIG Pin
  pinMode(3,INPUT);      // 센서 ECHO Pin

}

void loop() {
  // put your main code here, to run repeatedly:
  int distance, cm;           // 센서 측정 값과 실제 계산 될 거리 값

  digitalWrite(2, HIGH);      // 센서에 TRIG 신호 출력
  delayMicroseconds(10);      // 10us 출력 신호 유지
  digitalWrite(2, LOW);       // 센서에 TRIG 신호 멈춤

  distance = pulseIn(3, HIGH);  //ECHO Pin 에서 HIGH -> LOW 변환 간격 측정
  cm = calDistance(distance);   // 실제 거리 계산

  Serial.print(cm);             // CM 단위로 변환 될 길이를 시리얼 창에 출력
  Serial.println("cm");         // 길이 출력 값을 읽기 쉽도록 단위와 줄 바꿈 추가
  
  delay(300);                   // 0.3 초 상태 유지
}

int calDistance(int distance){
  return distance/29/2; 
  /* 초음파는 초당 340m의 속도를 가진다.
   *  이에 1cm 는 29us 가 걸리고
   *  물체에 반사되어 오기 때문에 단방향 거리는 1/2 이다
   */
}

위 코드의 간단한 설명은 다음과 같다.

  1. 초음파 센서의 Trigger, Echo 포트를 각각 2번과 3번 포트로 연결한다.
  2. 초음파 센서에 Trigger 신호를 10us 동안 출력한다.
  3. 초음파 센서에서 출력되는 값을 거리를 계산하여 터미널에 출력한다.

동영상 튜토리얼

전체 코딩과 실습은 다음 동영상을 참고한다.

https://youtu.be/NABW8qyPR7k?list=PL46rwaN5jZCnwEoje4n_-rWZJqCbebBeF 

작성 코드는 makepluscode github 를 참고한다.

https://github.com/makepluscode/arduino-tutorial-basic

 

GitHub - makepluscode/arduino-tutorial-basic: Repositories for Arduino Tutorial Basic.

Repositories for Arduino Tutorial Basic. Contribute to makepluscode/arduino-tutorial-basic development by creating an account on GitHub.

github.com

반응형