Thông báo

Collapse
No announcement yet.

Xin hỏi về cảm biến siêu âm đo khoảng cách

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Xin hỏi về cảm biến siêu âm đo khoảng cách

    Xin chào mọi người,
    Mình dùng 1 module thu phát sóng siêu âm, Nguồn: 5V, dòng 30mA.
    Vậy để đo được khoảng cách tối đa trong vòng 2m thì nên cho module phát trong thời gian bao nhiêu là vừa đủ? 1ms được không mọi người.
    Ai biết làm ơn chỉ giúp em.

  • #2
    Bạn nghiên cứu đoạn code sau: họ dùng có 20us thôi!
    #include <16F877.h>
    #device adc=8
    #FUSES NOWDT, HS, NOPUT, PROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
    #use delay(clock=20000000)


    /************************************************** **********************************************
    / Used sonar - HC-SR04 & DYP ME007
    / If you are using DYP ME 007 or any other 5 pin sonar, Please note that not to take the
    / pin named 'out'. Take echo instead.
    / Pin configuration (5 pin)- VCC(+5) TRIG(Trigger pin) ECHO(Output pin) OUT(Not needed) GND (Ground)
    / Pin configuration (4 pin)- VCC(+5) TRIG(Trigger pin) ECHO(Output pin) GND (Ground)
    /
    / Code by Bhanu Watawana
    / 0778111887
    / Uva Wellassa University - Sri Lanka
    / Mechatronics
    */////////////////////////////////////////////////////////////////////////////////////////////////



    #define LCD_TYPE 2
    #include <lcd.c>

    int16 distance, time; // Defining variables


    // Defining the pins

    #define trig pin_B1 // Change as you wish, can use any pin in the MCU
    #define echo pin_B0 // Change as you wish, can use any pin in the MCU

    void main()
    {
    lcd_init(); // initiating the LCD

    printf(LCD_PUTC, "\f Sonar test \n Code by Bhanu ");// for LCD & MCU restart troubleshooting

    delay_ms(1000); // Boot-up delay, for troubleshooting

    setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); // initiating timer



    while(true)
    {

    output_high(trig); // ping the sonar
    delay_us(20); // sending 20us pulse đây chỗ này
    output_low(trig);

    while(!input(ECHO)) // wait for high state of echo pin
    {}

    set_timer1(0); // setting timer zero

    while(input(ECHO)) // Wait for high state of echo pin
    {}

    time=get_timer1(); // Getting the time

    distance=time*0.028 + 1.093 ; // Calculating the distance


    printf(LCD_PUTC, "\fTime :%Lu \nDistance = %Lu",time,distance); // Putting the time and
    //distance to the LCD
    delay_ms(1000);


    }
    }

    Comment


    • #3
      hay quá. cám ơn bạn nhiều nha.

      Comment


      • #4
        Mình có đọc datasheet của con SRF05 thì trong đó có đoạn là: Trước hết, ta tạo ra 1 xung có độ rộng ít nhất 10us trên chân trigger. Sau đó module sẽ tạo ra 8 xung để phát ra sóng siêu âm.
        Vậy cho mình hỏi, 8 xung nó tạo ra có độ rộng mỗi xung tương ứng với độ rộng xung mình khởi tạo trên chân trigger không? Hay là nó băm xung của mình khởi tạo ra làm 8 xung nhỏ hơn? Và nếu độ rộng xung thay đổi thì nó sẽ có gì khác nhau?

        Comment


        • #5
          tần số của máy phát là 40kHz, mỗi chu kỳ la 25us, vi vậy 8 xung đấy la 8 xung có độ rộng 12,5us bạn à!

          Comment

          Về tác giả

          Collapse

          gnouc195 Tìm hiểu thêm về gnouc195

          Bài viết mới nhất

          Collapse

          • nguyendinhvan
            Trả lời cho Vấn đề về tốc độ quay
            bởi nguyendinhvan
            Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
            Hôm qua, 19:50
          • Andrea14
            Vấn đề về tốc độ quay
            bởi Andrea14
            Chào mọi người,

            Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
            12-12-2025, 12:42
          • bqviet
            Trả lời cho Đấu tắt điện cho máy tính bảng
            bởi bqviet
            Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
            06-12-2025, 17:17
          • nguyendinhvan
            Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
            bởi nguyendinhvan
            Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
            05-12-2025, 19:59
          Đang tải...
          X