Mục lục:

So sánh công cụ tìm phạm vi sóng sonar LV-MaxSonar-EZ và HC-SR04 với Arduino: 20 bước (có hình ảnh)
So sánh công cụ tìm phạm vi sóng sonar LV-MaxSonar-EZ và HC-SR04 với Arduino: 20 bước (có hình ảnh)

Video: So sánh công cụ tìm phạm vi sóng sonar LV-MaxSonar-EZ và HC-SR04 với Arduino: 20 bước (có hình ảnh)

Video: So sánh công cụ tìm phạm vi sóng sonar LV-MaxSonar-EZ và HC-SR04 với Arduino: 20 bước (có hình ảnh)
Video: Máy dò cá không dây siêu nhạy, máy tầm ngư sử dụng sóng Sonar. FISH01A 2024, Tháng mười một
Anonim
So sánh công cụ tìm dải sóng siêu âm LV-MaxSonar-EZ và HC-SR04 với Arduino
So sánh công cụ tìm dải sóng siêu âm LV-MaxSonar-EZ và HC-SR04 với Arduino
So sánh công cụ tìm dải sóng siêu âm LV-MaxSonar-EZ và HC-SR04 với Arduino
So sánh công cụ tìm dải sóng siêu âm LV-MaxSonar-EZ và HC-SR04 với Arduino

Tôi thấy rằng nhiều dự án (đặc biệt là rô bốt) yêu cầu hoặc có thể hưởng lợi từ việc đo khoảng cách đến một đối tượng trong thời gian thực. Các công cụ tìm phạm vi sonar tương đối rẻ và có thể dễ dàng giao tiếp với bộ điều khiển vi mô như Arduino.

Có thể hướng dẫn này so sánh hai thiết bị tìm phạm vi sonar dễ mua, chỉ ra cách kết nối chúng với Arduino, mã nào được yêu cầu để đọc các giá trị từ chúng và cách chúng 'đo lường' với nhau trong các tình huống khác nhau. Qua đây mong rằng bạn sẽ có được cái nhìn sâu sắc về ưu nhược điểm của hai thiết bị từ đó giúp bạn sử dụng thiết bị phù hợp nhất trong dự án tiếp theo của mình.

Tôi muốn so sánh thiết bị HC-SR04 (mắt lỗi) cực kỳ phổ biến với thiết bị LV-MaxSonar-EZ ít phổ biến hơn để xem khi nào tôi có thể muốn sử dụng thiết bị này hơn là thiết bị khác. Tôi muốn chia sẻ những phát hiện và thiết lập của mình để bạn có thể thử nghiệm với cả hai và quyết định sử dụng cái nào trong dự án tiếp theo của mình.

Tại sao hai…

Tại sao HC-SR04? 'Bug-Eye' HC-SR04 cực kỳ phổ biến - vì một vài lý do:

  • Nó không đắt - $ 2 hoặc ít hơn nếu mua với số lượng lớn
  • Nó tương đối dễ dàng để giao tiếp với
  • Rất nhiều dự án sử dụng nó - vì vậy nó được nhiều người biết đến và hiểu rõ

Tại sao lại là LV-MaxSonar-EZ?

  • Nó rất dễ dàng để giao tiếp với
  • Nó có một yếu tố hình thức tốt / dễ dàng để kết hợp vào một dự án
  • Nó có 5 phiên bản đáp ứng các yêu cầu đo lường khác nhau (xem biểu dữ liệu)
  • Nó (thường) chính xác và đáng tin cậy hơn nhiều so với HC-SR04
  • Giá cả phải chăng - $ 15 đến $ 20

Ngoài ra, tôi hy vọng bạn tìm thấy các bit và mảnh trong mã Arduino mà tôi đã viết để so sánh hữu ích trong các dự án của bạn, thậm chí vượt ra ngoài các ứng dụng tìm phạm vi.

Các giả định:

  • Bạn đã quen với Arduino và Arduino IDE
  • Arduino IDE được cài đặt và hoạt động trên máy phát triển của bạn mà bạn ưa thích (PC / Mac / Linux)
  • Bạn có kết nối từ Arduino IDE đến Arduino của mình để tải lên và chạy các chương trình cũng như giao tiếp

Có Tài liệu hướng dẫn và các tài nguyên khác để giúp bạn thực hiện việc này nếu cần.

Quân nhu

  • HC-SR04 'Bug-Eye Range Finder'
  • LV-MaxSonar-EZ (0, 1, 2, 3, 4 - Tôi đang sử dụng '1', nhưng tất cả các phiên bản đều có giao diện giống nhau)
  • Arduino UNO
  • Bảng mạch không hàn
  • Đầu ghim - 7 chân 90 ° (đối với thiết bị MaxSonar, xem * bên dưới để sử dụng 180 °)
  • Dây nhảy cáp ruy-băng - 5 dây, nam-nam
  • Dây nhảy cáp ruy băng - 2 dây, đực-đực
  • Dây nhảy - nam - nam
  • Dây nối - đỏ & đen (để cấp nguồn từ Arduino tới breadboard và breadboard tới thiết bị)
  • Máy tính có Arduino IDE và cáp USB để kết nối với Arduino UNO

* MaxSonar không có tiêu đề đính kèm nên bạn có thể sử dụng tiêu đề phù hợp nhất cho dự án của mình. Đối với sản phẩm Có thể hướng dẫn này, tôi đã sử dụng đầu cắm 90 ° để dễ dàng cắm vào breadboard. Trong một số dự án, tiêu đề 180 ° (thẳng) có thể tốt hơn. Tôi bao gồm một bức ảnh để hướng dẫn cách kết nối nó để bạn không cần phải chuyển đổi chúng. Nếu bạn muốn sử dụng đầu cắm 180 °, bạn sẽ cần thêm một dây nối cáp ruy băng nam-nữ 7 dây để kết nối như hình ảnh của tôi hiển thị.

Kho lưu trữ Git Hub: Tệp dự án

Bước 1: Cuộc truy đuổi…

Cuộc truy đuổi…
Cuộc truy đuổi…

Trước khi chúng ta đi vào chi tiết về cách kết nối mọi thứ để bạn có thể tự mình thử nghiệm với hai thiết bị tuyệt vời này, tôi muốn mô tả một vài điều mà tôi hy vọng có thể giúp bạn.

Vì thiết bị MaxSonar ít được sử dụng hơn và ít hiểu biết hơn so với thiết bị HC-SR04, tôi muốn hiển thị:

  • Cách kết nối thiết bị MaxSonar với bộ điều khiển vi mô (trong trường hợp này là Arduino)
  • Cách thực hiện phép đo từ các đầu ra khác nhau của thiết bị MaxSonar
  • So sánh giao diện thiết bị MaxSonar với thiết bị HC-SR04
  • Kiểm tra khả năng đo khoảng cách của các đối tượng với các bề mặt khác nhau
  • Tại sao bạn có thể chọn một thiết bị này hơn thiết bị kia (hoặc sử dụng song song cả hai)

Tôi hy vọng có thể hướng dẫn này sẽ giúp bạn trong cuộc rượt đuổi này…

Bước 2: Bắt đầu - Thiết lập Arduino-Breadboard

Bắt đầu - Thiết lập Arduino-Breadboard
Bắt đầu - Thiết lập Arduino-Breadboard

Nếu bạn đã tạo mẫu với Arduino, bạn có thể đã có thiết lập Arduino-Breadboard mà bạn cảm thấy thoải mái. Nếu vậy, tôi tin rằng bạn có thể sử dụng nó cho Tài liệu hướng dẫn này. Nếu không, đây là cách tôi thiết lập mỏ - vui lòng sao chép nó cho dự án này và các dự án trong tương lai.

  1. Tôi gắn Arduino UNO và một breadboard không dây nhỏ vào miếng nhựa 3-3 / 8 "x 4-3 / 4" (8,6 x 12,0 cm) có chân cao su ở phía dưới.
  2. Tôi sử dụng dây nối 22-AWG màu đỏ và đen để kết nối + 5V và GND từ Arduino với dải phân phối nguồn của breadboard
  3. Tôi bao gồm một tụ điện tantali 10µF trên dải phân phối nguồn-đất để giúp giảm nhiễu nguồn (nhưng dự án này không yêu cầu)

Điều này cung cấp một nền tảng đẹp, dễ tạo nguyên mẫu.

Bước 3: Lên dây LV-MaxSonar-EZ

Lên dây LV-MaxSonar-EZ
Lên dây LV-MaxSonar-EZ
Lên dây LV-MaxSonar-EZ
Lên dây LV-MaxSonar-EZ
Lên dây LV-MaxSonar-EZ
Lên dây LV-MaxSonar-EZ

Với đầu cắm 90 ° được hàn vào thiết bị MaxSonar, bạn có thể dễ dàng cắm nó vào breadboard. Sau đó, cáp ribbon 5 chân kết nối MaxSonar với Arduino như trong sơ đồ. Ngoài cáp ruy-băng, tôi sử dụng các đoạn dây ngắn màu đỏ và đen từ đường ray phân phối điện để cung cấp điện cho thiết bị.

Hệ thống dây:

MaxSonar Arduino Màu sắc
1 (BW) Power-GND Màu vàng
2 (PW) Kỹ thuật số-5 Màu xanh lá
3 (AN) Analog-0 Màu xanh dương
4 (RX) Kỹ thuật số-3 Màu tía
5 (TX) Kỹ thuật số-2 Xám
6 (+5) +5 Đường sắt BB-PWR màu đỏ
7 (GND) GND BB-PWR Rail Màu đen

Ghi chú:

Đừng để số lượng kết nối được sử dụng trong Tài liệu hướng dẫn này ngăn bạn xem xét MaxSonar cho dự án của bạn. Có thể hướng dẫn này sử dụng tất cả các tùy chọn giao diện MaxSonar để minh họa cách chúng hoạt động và so sánh chúng với nhau và với thiết bị HC-SR04. Đối với một mục đích sử dụng nhất định (sử dụng một trong các tùy chọn giao diện), một dự án thường sẽ sử dụng một hoặc hai trong số các chân giao diện (cộng với nguồn và mặt đất).

Bước 4: Nối dây HC-SR04

HC-SR04 thường đi kèm với một đầu cắm 90 ° đã được gắn sẵn, vì vậy dễ dàng cắm nó vào breadboard. Sau đó, cáp ribbon 2 chân kết nối HC-SR04 với Arduino như trong sơ đồ. Ngoài cáp ruy-băng, tôi sử dụng các đoạn dây ngắn màu đỏ và đen từ đường ray phân phối điện để cung cấp điện cho thiết bị.

HC-SR04 Arduino Màu sắc
1 (VCC) +5 Đường sắt BB-PWR màu đỏ
2 (TRIG) Kỹ thuật số-6 Màu vàng
3 (ECHO) Kỹ thuật số-7 quả cam
4 (GND) GND BB-PWR Rail Màu đen

Bước 5: Lên dây cho Bộ chọn tùy chọn 'HC-SR04'

Khi tôi bắt đầu dự án này, mục đích của tôi chỉ đơn giản là thử nghiệm các tùy chọn giao diện khác nhau của thiết bị MaxSonar. Sau khi thiết lập và chạy, tôi quyết định rằng sẽ rất tuyệt nếu so sánh nó với thiết bị HC-SR04 (bugeye) có mặt khắp nơi. Tuy nhiên, tôi muốn có thể chạy / thử nghiệm mà không có nó, vì vậy tôi đã thêm một tùy chọn / thử nghiệm trong mã.

Mã kiểm tra một chân đầu vào để xem liệu thiết bị HC-SR04 có nên được đưa vào đọc và đầu ra phép đo hay không.

Trong sơ đồ, đây được hiển thị như một công tắc, nhưng trên breadboard, tôi chỉ sử dụng một dây jumper (như trong ảnh). Nếu dây được kết nối với GND, HC-SR04 sẽ được đưa vào các phép đo. Mã 'kéo lên' (làm cho đầu vào cao / đúng) trong Arduino, vì vậy nếu nó không được kéo xuống thấp (kết nối với GND), HC-SR04 sẽ không được đo.

Mặc dù có thể hướng dẫn này được biến thành so sánh giữa hai thiết bị, tôi quyết định giữ nguyên vị trí này để minh họa cách bạn có thể bao gồm / loại trừ các thiết bị / tùy chọn khác nhau trong dự án của mình.

Breadboard Arduino Màu sắc
GND BB-PWR Rail Kỹ thuật số-12 trắng

Bước 6: Làm cho tất cả hoạt động…

Làm cho tất cả hoạt động…
Làm cho tất cả hoạt động…
Làm cho tất cả hoạt động…
Làm cho tất cả hoạt động…
Làm cho tất cả hoạt động…
Làm cho tất cả hoạt động…

Bây giờ mọi thứ đã được kết nối - đã đến lúc làm cho mọi thứ hoạt động!

Như đã đề cập trong phần 'Giả định' - Tôi sẽ không giải thích cách thức hoạt động của Arduino IDE hoặc cách lập trình Arduino (chi tiết).

Các phần sau chia nhỏ mã Arduino có trong dự án này.

Vui lòng giải nén toàn bộ kho lưu trữ vào một vị trí bạn sử dụng để phát triển Arduino của mình. Tải mã `MaxSonar-outputs.ino` vào IDE Arduino của bạn và bắt đầu!

Bước 7: Bố cục dự án

Dự án chứa thông tin về thiết bị LV-MaxSonar-EZ, sơ đồ mạch, README và mã Arduino. Sơ đồ mạch ở định dạng Fritzing cũng như hình ảnh PNG. README ở định dạng Markdown.

Bước 8: Khách hàng tiềm năng mã…

Trong phần Có thể hướng dẫn này, tôi không thể xem qua mọi khía cạnh của mã. Tôi bao gồm một số chi tiết cấp cao. Tôi khuyến khích bạn đọc bình luận cấp cao nhất trong mã và tìm hiểu các phương pháp.

Các bình luận cung cấp rất nhiều thông tin mà tôi sẽ không nhắc lại ở đây.

Có một số điều tôi muốn chỉ ra trong mã 'thiết lập'…

  • Các câu lệnh `_DEBUG_OUTPUT` - biến và #define
  • Định nghĩa của các 'chân' Arduino được sử dụng cho giao diện
  • Định nghĩa của các hệ số chuyển đổi được sử dụng trong tính toán

Gỡ lỗi được sử dụng trong toàn bộ mã và tôi sẽ chỉ ra cách nó có thể được bật / tắt động.

Các 'định nghĩa' được sử dụng cho các chân và chuyển đổi Arduino để giúp sử dụng mã này trong các dự án khác dễ dàng hơn.

Gỡ lỗi…

Phần 'Gỡ lỗi' xác định một biến và một số macro giúp dễ dàng đưa thông tin gỡ lỗi vào đầu ra nối tiếp theo yêu cầu.

Biến boolean `_DEBUG_OUTPUT` được đặt thành false trong mã (có thể được đặt thành true) và được sử dụng làm thử nghiệm trong macro` DB_PRINT… `. Nó có thể được thay đổi động trong mã (như được thấy trong phương thức `setDebugOutputMode`).

Quả địa cầu…

Sau các định nghĩa, mã tạo và khởi tạo một vài biến và đối tượng toàn cục.

  • SoftwareSerial (xem phần tiếp theo)
  • _loopCount - Được sử dụng để xuất tiêu đề mỗi 'n' hàng
  • _inputBuffer - Được sử dụng để thu thập đầu vào nối tiếp / đầu cuối để xử lý các tùy chọn (bật / tắt gỡ lỗi)

Bước 9: Phần mềm Arduino-Serial…

Một trong những tùy chọn giao diện MaxSonar là một luồng dữ liệu nối tiếp. Tuy nhiên, Arduino UNO chỉ cung cấp một kết nối dữ liệu nối tiếp duy nhất và được sử dụng / chia sẻ với cổng USB để giao tiếp với Arduino IDE (máy tính chủ).

May mắn thay, có một thành phần thư viện đi kèm với Arduino IDE sử dụng một cặp chân I / O kỹ thuật số Arduino để triển khai giao diện i / o nối tiếp. Vì giao diện nối tiếp MaxSonar sử dụng 9600 BAUD, giao diện 'phần mềm' này hoàn toàn có khả năng xử lý giao tiếp.

Đối với những người sử dụng Arduino-Mega (hoặc thiết bị khác có nhiều cổng nối tiếp HW), vui lòng điều chỉnh mã để sử dụng cổng nối tiếp vật lý và loại bỏ nhu cầu về SW-Serial.

Phương thức `setup` khởi tạo giao diện` SoftwareSerial` được sử dụng với thiết bị MaxSonar. Chỉ cần nhận (RX). Giao diện được 'đảo ngược' để phù hợp với đầu ra của MaxSonar.

Bước 10: Mã - Thiết lập

Như đã mô tả ở trên, phương thức `setup` khởi tạo giao diện` SoftwareSerial`, cũng như giao diện nối tiếp vật lý. Nó cấu hình các chân I / O của Arduino và gửi ra một tiêu đề.

Bước 11: Mã - Vòng lặp

Đoạn mã `loop` chạy qua như sau:

  • Đầu ra một tiêu đề (được sử dụng để gỡ lỗi và Plotter)
  • Kích hoạt MaxSonar để thực hiện phép đo
  • Đọc giá trị Độ rộng-Xung MaxSonar
  • Đọc giá trị Dữ liệu nối tiếp MaxSonar
  • Đọc giá trị MaxSonar Analog
  • Kiểm tra tùy chọn 'HC-SR04' và nếu được bật:

    Kích hoạt và đọc thiết bị HC-SR04

  • Xuất dữ liệu ở định dạng được phân tách bằng tab có thể được sử dụng bởi Máy vẽ nối tiếp
  • Chờ cho đến khi đủ thời gian để có thể thực hiện một phép đo khác

Bước 12: Mã - Kích hoạt MaxSonar. Đọc giá trị PW

MaxSonar có hai chế độ: 'được kích hoạt' và 'liên tục'

Có thể hướng dẫn này sử dụng chế độ 'được kích hoạt', nhưng nhiều dự án có thể hưởng lợi từ việc sử dụng chế độ 'liên tục' (xem biểu dữ liệu).

Khi sử dụng chế độ 'được kích hoạt', đầu ra hợp lệ đầu tiên là từ đầu ra Pulse-Width (PW). Sau đó, phần còn lại của các kết quả đầu ra là hợp lệ.

`TiggerAndReadDistanceFromPulse` phát xung chân kích hoạt trên thiết bị MaxSonar và đọc giá trị khoảng cách độ rộng xung kết quả

Lưu ý rằng, không giống như nhiều thiết bị sonar khác, MaxSonar xử lý chuyển đổi hành trình khứ hồi, vì vậy khoảng cách đọc được là khoảng cách tới mục tiêu.

Phương pháp này cũng trì hoãn đủ lâu để các đầu ra khác của thiết bị có hiệu lực (nối tiếp, tương tự).

Bước 13: Mã - Đọc giá trị sê-ri MaxSonar

Sau khi MaxSonar đã được kích hoạt (hoặc khi ở chế độ 'liên tục'), nếu tùy chọn đầu ra nối tiếp được bật (thông qua điều khiển 'BW - Pin-1'), một luồng dữ liệu nối tiếp ở dạng "R nnn" sẽ được gửi, tiếp theo bởi CARRIAGE-RETURN '\ r'. 'Nnn' là giá trị của inch đối với đối tượng.

Phương thức `readDistanceFromSerial` đọc dữ liệu nối tiếp (từ cổng Phần mềm nối tiếp) và chuyển đổi giá trị 'nnn' thành số thập phân. Nó bao gồm thời gian chờ không an toàn, đề phòng trường hợp không nhận được giá trị nối tiếp.

Bước 14: Mã - Đọc giá trị tương tự MaxSonar

Cổng tương tự MaxSonar liên tục cung cấp điện áp đầu ra tỷ lệ với khoảng cách cuối cùng đo được. Giá trị này có thể được đọc bất kỳ lúc nào sau khi thiết bị được khởi tạo. Giá trị được cập nhật trong vòng 50mS kể từ lần đọc khoảng cách cuối cùng (chế độ được kích hoạt hoặc liên tục).

Giá trị là (Vcc / 512) trên mỗi inch. Vì vậy, với Vcc từ Arduino 5 volt, giá trị sẽ là ~ 9,8mV / in. Phương thức `readDistanceFromAnalog` đọc giá trị từ đầu vào tương tự Arduino và chuyển nó thành giá trị 'inch'.

Bước 15: Mã - Kích hoạt và đọc HC-SR04

Mặc dù có các thư viện để đọc HC-SR04, nhưng tôi thấy một số thư viện không đáng tin cậy với các thiết bị khác nhau mà tôi đã thử nghiệm. Tôi thấy mã mà tôi đã đưa vào phương thức `sr04ReadDistance` đơn giản và đáng tin cậy hơn (nhiều như thiết bị HC-SR04 rẻ tiền có thể có).

Phương pháp này thiết lập và sau đó kích hoạt thiết bị HC-SR04 và sau đó chờ đo độ rộng xung trở lại. Đo độ rộng xung bao gồm thời gian chờ để giải quyết vấn đề HC-SR04 có thời lượng xung rất dài khi nó không thể tìm thấy mục tiêu. Độ rộng xung dài hơn khoảng cách mục tiêu ~ 10 feet được coi là không có đối tượng hoặc đối tượng không thể nhận dạng được. Nếu hết thời gian chờ, giá trị '0' được trả về là khoảng cách. 'Khoảng cách' (độ rộng xung) này có thể được điều chỉnh bằng cách sử dụng các giá trị #define.

Độ rộng xung được chuyển đổi thành khoảng cách khứ hồi trước khi được trả về là khoảng cách đến đối tượng.

Bước 16: Mã - Hỗ trợ máy vẽ nối tiếp Arduino IDE

Mã - Hỗ trợ máy vẽ nối tiếp Arduino IDE
Mã - Hỗ trợ máy vẽ nối tiếp Arduino IDE

Bây giờ cho đầu ra!

Phương thức `loop` kích hoạt thu thập số đo khoảng cách từ hai thiết bị - nhưng chúng ta phải làm gì với nó?

Tất nhiên, chúng tôi sẽ gửi nó ra ngoài để có thể xem trên bảng điều khiển - nhưng chúng tôi muốn nhiều hơn thế!

Arduino IDE cũng cung cấp giao diện Máy vẽ nối tiếp. Chúng tôi sẽ sử dụng điều đó để cung cấp biểu đồ thời gian thực về khoảng cách đến đối tượng của chúng tôi từ đầu ra của hai thiết bị của chúng tôi.

Serial Plotter chấp nhận một tiêu đề có chứa các nhãn giá trị và sau đó nhiều hàng giá trị được phân tách sẽ được vẽ dưới dạng biểu đồ. Nếu các giá trị được xuất ra một cách thường xuyên (cứ sau 'bao nhiêu giây' một lần) thì biểu đồ sẽ cung cấp hình ảnh trực quan về khoảng cách đến đối tượng theo thời gian.

Phương thức `loop` xuất ra ba giá trị từ MaxSonar và giá trị từ HC-SR04 ở định dạng được phân tách bằng tab có thể được sử dụng với Serial Plotter. Sau mỗi 20 hàng, nó xuất ra tiêu đề (đề phòng trường hợp Máy vẽ nối tiếp được bật giữa luồng).

Điều này cho phép bạn hình dung khoảng cách đến chướng ngại vật và cũng có thể thấy sự khác biệt trong các giá trị được trả về bởi hai thiết bị.

Bước 17: Mã - Gỡ lỗi…

Mã - Gỡ lỗi…
Mã - Gỡ lỗi…
Mã - Gỡ lỗi…
Mã - Gỡ lỗi…

Gỡ lỗi là một điều cần thiết. Làm thế nào bạn có thể theo dõi một vấn đề khi một cái gì đó không hoạt động như mong đợi?

Dòng hiểu đầu tiên thường là một số kết quả đầu ra văn bản 'đơn giản' có thể cho biết điều gì đang xảy ra. Chúng có thể được thêm vào mã khi và ở nơi cần thiết để theo dõi sự cố, sau đó loại bỏ sau khi sự cố được giải quyết. Tuy nhiên, việc thêm và xóa mã tốn nhiều thời gian và bản thân nó có thể dẫn đến các vấn đề khác. Đôi khi tốt hơn là bạn có thể bật và tắt nó một cách tự động trong khi vẫn để nguyên mã nguồn.

Trong phần Có thể hướng dẫn này, tôi đã đưa vào một cơ chế để bật và tắt động các câu lệnh in (đầu ra nối tiếp) gỡ lỗi từ đầu vào được đọc từ Arduino IDE Serial Monitor (trong bản phát hành sắp tới, Serial Plotter cũng được mong đợi cung cấp đầu vào này).

Boolean `_DEBUG_OUTPUT` được sử dụng trong một số phương pháp in #define có thể được sử dụng trong mã. Giá trị của biến _DEBUG_OUTPUT được sử dụng để cho phép in (gửi đầu ra) hay không. Giá trị có thể được thay đổi động trong mã, như phương thức `setDebugOutputMode`.

Phương thức `setDebugOutputMode` được gọi từ` loop` dựa trên đầu vào nhận được từ đầu vào nối tiếp. Đầu vào được phân tích cú pháp để xem nó có khớp với "debug on / off | true / false" để bật / tắt chế độ gỡ lỗi hay không.

Bước 18: Kết luận

Tôi hy vọng thiết lập phần cứng đơn giản này và mã ví dụ có thể giúp bạn hiểu sự khác biệt giữa thiết bị HC-SR04 và LV-MaxSonar-EZ. Cả hai đều rất dễ sử dụng và tôi tin rằng mỗi cái đều có lợi ích của nó. Biết khi nào nên sử dụng cái này thay vì cái khác có thể là công cụ cho một dự án thành công.

BTW - Tôi đã gợi ý một cách rất dễ sử dụng để đo chính xác khoảng cách đến một đối tượng bằng cách sử dụng LV-MaxSonar-EZ… Bạn có thể sử dụng đầu ra tương tự (một dây) và chế độ đo liên tục để đọc khoảng cách khi cần thiết bằng cách sử dụng đơn giản mã trong `readDistanceFromAnalog` trực tiếp từ đầu vào tương tự Arduino. Một dây và (cô đọng) một dòng mã!

Bước 19: Kết nối MaxSonar thay thế (sử dụng Header 180 °)

Kết nối MaxSonar thay thế (sử dụng Header 180 °)
Kết nối MaxSonar thay thế (sử dụng Header 180 °)
Kết nối MaxSonar thay thế (sử dụng Header 180 °)
Kết nối MaxSonar thay thế (sử dụng Header 180 °)
Kết nối MaxSonar thay thế (sử dụng Header 180 °)
Kết nối MaxSonar thay thế (sử dụng Header 180 °)

Như tôi đã đề cập, MaxSonar không đi kèm với một tiêu đề được kết nối. Vì vậy, bạn có thể sử dụng bất kỳ kết nối nào thích hợp nhất cho dự án của mình. Trong một số trường hợp, tiêu đề 180 ° (thẳng) có thể thích hợp hơn. Nếu đúng như vậy, tôi muốn nhanh chóng chỉ ra cách bạn có thể sử dụng điều đó với Có thể hướng dẫn này. Hình minh họa này cho thấy một MaxSonar có tiêu đề thẳng được kết nối với breadboard bằng cáp ribbon đực-cái, sau đó được kết nối với Arduino như được mô tả trong phần còn lại của bài viết.

Bước 20: Mã Arduino

Mã Arduino nằm trong thư mục 'MaxSonar-outputs' của dự án trong Sonar Range-Finder Sonar

Đề xuất: