초음파 자(ultrasonic ruler) 만들기 / 아두이노와 초음파 센서를 이용해 거리 측정 자를 만들어보자.

Поделиться
HTML-код
  • Опубликовано: 8 ноя 2024

Комментарии • 22

  • @obackgogo
    @obackgogo Год назад +1

    오차가 좀 있는데 측정값을 임의로 수정되서 표시되게 할 수 있나요?
    그리고 예로 측정된 1미터 지점을 0의값으로 임의로 수정한 후 가까워지면 마이너스 1부터,멀어지면 플러스1부터 거리가 lcd에 표시되게도 할수있을까요?

    • @tajomania
      @tajomania  Год назад +2

      lcd에 표시되는 값은 코드 수식으로 결정되기 때문에
      측정값에 -1을 수식으로 추가하여 나타나게 하면 될것 같습니다.

    • @obackgogo
      @obackgogo Год назад

      @@tajomania답글 감사합니다.
      가능한거면 열심히 공부하겠습니다.

  • @박진우-n9v4t
    @박진우-n9v4t 4 года назад +4

    다 합쳐서 가격은 어느정도 해요?

    • @tajomania
      @tajomania  4 года назад +3

      아두이노 우노 약23,000원(CH340은 약 5천원), 초음파센서 1,100원, LCD 모듈 2,200원 정도 하네요.
      아두이노 관련 물품들은 메카솔루션(mechasolution.com)에 들어가보시면 다양하게 있습니다~

    • @박진우-n9v4t
      @박진우-n9v4t 4 года назад +2

      @@tajomania 감사합니다

  • @성찬혁-s3e
    @성찬혁-s3e 4 года назад +4

    혹시 코드를 알려주실 수 있으신가요
    집에서 한번 해보고 싶어서요 ^~^

    • @tajomania
      @tajomania  4 года назад +2

      #include
      LiquidCrystal LCD(4, 6, 10, 11, 12, 13); // 아두이노에 연결된 핀번호로 LCD모듈 초기화
      void setup()
      {
      LCD.begin(16, 2); // 16x2사이즈의 LCD사용을 시작
      pinMode(2, INPUT); // echo 핀을 디지털 2번
      pinMode(3, OUTPUT); // trig핀을 디지털 3번
      Serial.begin(9600); // 시리얼 통신 초기화
      }
      void loop()
      {
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      delayMicroseconds(2);
      digitalWrite(3,HIGH); //초음파를 내보냄
      delayMicroseconds(10); //10마이크로초 동안
      digitalWrite(3,LOW); //초음파 그만 내보냄
      unsigned long duration = pulseIn(2,HIGH); //2번핀 값이 HIGH가 될때까지의 시간을 측정함
      float distance = ((float)(340*duration)/10000)/2;
      Serial.print(distance); //시리얼 모니터에 문자열 출력
      Serial.println("cm");
      String disStr = String(distance); // 거리 값을 문자열로 변환
      LCD.print("dis: " + disStr + "cm"); //LCD에 문자열 출력

      delay(1000);
      LCD.clear();
      }

    • @tajomania
      @tajomania  4 года назад +2

      제가 사용한 코드 입니다.
      코딩을 따로 배운적이 없는 사람이어서 많이 허접합니다~;;;

    • @성찬혁-s3e
      @성찬혁-s3e 4 года назад +1

      저도 처음배우는거라 많이 어렵네요..
      그래도 저알 감사합니다 좋은하루 보내세요 ^^

    • @성찬혁-s3e
      @성찬혁-s3e 4 года назад +1

      @@tajomania 정말 궁금한게 있는데요 가변저항기는 500k옴짜리를 사용하나요?

    • @tajomania
      @tajomania  4 года назад +2

      저는 최대 10k옴 짜리를 썼습니다.
      가변저항은 저항을 조절하여 LCD 화면이 잘 나올 수 있도록하기 위해 사용했습니다.

  • @easy1809
    @easy1809 2 года назад +1

    코드에서
    ((float)(340duration1)/10000)/2;가 무슨식이고 이 공식이 어디서 나왔나요?

    • @Perilla_Leaves
      @Perilla_Leaves 2 года назад +1

      초음파가 반사되어 다시 돌아오는 시간을 이용해 초음파 센서로부터 부딫힌 물체까지의 거리를 구하는 식 입니다.
      (거리=속력*시간 공식 이용)
      ((float)(340*duration1)/10000)/2 에서
      float: 거리를 소수점 단위까지 표현할수 있게 함(실수)
      340: 소리(초음파)의 속력
      duration1: 초음파가 발생하여 물체에 부딫혀 다시 돌아오는데 걸리는 시간
      10000: 단위를 cm로 바꾸기 위해 나누는 수
      2: duration1은 왕복 시간 즉 초음파가 나갔다 다시 들어오는 시간이므로 2로 나눠주지 않으면 우리가 구하고자 하는 거리의 2배의 값이 구해진다. 그래서 2로 나눠준다