Để giao tiếp cảm biến siêu âm HC-SR04 với Raspberry Pi Pico, chúng ta nên biết chức năng của từng chân của cảm biến siêu âm. Bằng cách biết chức năng của chân đầu vào và đầu ra, chúng tôi sẽ có thể xác định chân GPIO nào của Raspberry Pi Pico nên được sử dụng để giao tiếp với HC-SR04.
Hình dưới đây cho thấy cấu hình pin của cảm biến siêu âm. Nó bao gồm bốn chân cụ thể là; Vcc, Ground, Trigger và Echo pin.
Vcc và Ground được sử dụng để cung cấp năng lượng cho cảm biến. Chúng ta nên cung cấp 5 volt cho chân Vcc và kết nối chân GND với cực nối đất của nguồn điện.
Kích hoạt: Nó là một chân đầu vào. Một chân kích hoạt được sử dụng để khởi động cảm biến siêu âm để bắt đầu đo khoảng cách hoặc phạm vi khoảng cách. Khi người dùng muốn nhận các phép đo khoảng cách từ cảm biến, chúng tôi áp dụng xung 10μs cho chân này.
Tiếng vang: Đây là một chân đầu ra xung. Chân dội lại tạo ra xung dưới dạng đầu ra. Độ rộng của xung hoặc đúng giờ của xung phụ thuộc vào khoảng cách giữa cảm biến siêu âm và chướng ngại vật được đặt trước cảm biến HC-SR04. Trong điều kiện không tải, chân này vẫn ở mức thấp hoạt động.
Thông tin chi tiết về hoạt động của cảm biến siêu âm được cung cấp trong phần tiếp theo.
Cảm biến siêu âm HC-SR04 đo khoảng cách bằng cách sử dụng sóng âm thanh siêu âm không nghe được tần số 40KHz. Giống như sóng âm thanh, sóng siêu âm truyền qua không khí và nếu có bất kỳ chướng ngại vật nào trước mặt, chúng phản xạ theo góc độ tới của chúng. Hơn nữa, nếu một vật thể được đặt song song với máy phát siêu âm, sóng siêu âm phản xạ chính xác ở góc 180 độ. Do đó, để đo khoảng cách với cảm biến HC-SR05, chúng tôi đặt đối tượng đang được thử nghiệm chính xác ở vị trí song song với cảm biến siêu âm như trong hình bên dưới.
Cảm biến siêu âm HC-SR05 bao gồm hai mô-đun cơ bản như máy phát siêu âm và mô-đun máy thu siêu âm. Mạch máy phát chuyển đổi tín hiệu điện thành một loạt 40KHz gồm 8 xung sóng sonar. Tín hiệu điện đầu vào mạch máy phát là đầu vào xung 10μs đến chân kích hoạt của cảm biến HC-SR04. Như chúng tôi đã đề cập trước đó, chúng tôi áp dụng tín hiệu đầu vào kích hoạt này thông qua Raspberry Pi Pico hoặc bất kỳ bộ vi điều khiển nào. Mặt khác, mạch máy thu siêu âm lắng nghe các sóng siêu âm được tạo ra bởi mạch phát.
Để bắt đầu phạm vi với HC-SR04, trước tiên, chúng tôi áp dụng xung 10μs cho chân kích hoạt của cảm biến HC-SR04 từ chân đầu ra kỹ thuật số Raspberry Pi Pico.
Ngay khi tín hiệu kích hoạt đầu vào 10μs trở nên hoạt động thấp, mạch máy phát tạo ra một loạt 8 xung sonar siêu âm. Đồng thời, chân Echo cũng thực hiện chuyển đổi từ mức thấp logic sang mức cao logic.
Khi chân Echo tăng cao, Chúng tôi bắt đầu đo thời gian bằng chức năng đo thời lượng Raspberry Pi Pico.
Những sóng này truyền qua không khí và nếu có bất kỳ vật thể nào được đặt song song với cảm biến, những sóng này sẽ phản xạ trở lại sau khi va chạm với vật thể.
Ngay sau khi sóng siêu âm nhận được bởi mạch thu sau khi tấn công với một vật thể, chân tiếng vọng sẽ xuống thấp. Raspberry Pi Pico phát hiện sự chuyển đổi này của tín hiệu đầu ra tiếng vang từ mức cao hoạt động sang mức thấp hoạt động và dừng phép đo.
Nói tóm lại, bằng cách đo đúng thời gian của tín hiệu xung đầu ra Echo, chúng ta có thể đo khoảng cách. Hình dưới đây minh họa tín hiệu đầu ra tiếng vang với tín hiệu kích hoạt đầu vào tôn trọng và 8 xung sonar.
Thời lượng mà tín hiệu đầu ra tiếng vang vẫn cao phụ thuộc vào khoảng cách giữa cảm biến siêu âm và đối tượng mà chúng ta đặt trước cảm biến. Khoảng cách càng cao, thời gian sóng sonar sẽ mất càng cao để quay trở lại mạch thu siêu âm. Bởi vì sóng siêu âm truyền qua không khí với tốc độ âm thanh và tốc độ không đổi.
Trong phần tiếp theo, chúng ta sẽ xem cách đo thời lượng xung bằng Raspberry Pi Pico. Giả sử rằng chúng ta đã đo xung đầu ra đúng giờ (t) bằng Raspberry Pi Pico. Bây giờ câu hỏi là làm thế nào để chuyển đổi thời gian đo được này thành khoảng cách.
Chà, đây là phần rõ ràng nhất của hướng dẫn này. Ở trường trung học, tất cả chúng ta đều nghiên cứu một phương trình khoảng cách thời gian nổi tiếng là S = vt. Chúng ta có thể chuyển đổi thời lượng xung (t) thành khoảng cách (S) bằng phương trình này.
Distance (S) = Speed (v) * t //distance in meters
Ở đây v là tốc độ của sóng siêu âm trong không khí. Tốc độ của sóng siêu âm trong không khí bằng với tốc độ âm thanh là 340 m / s (mét trên giây).
Phương trình trên sẽ cho đầu ra khoảng cách tính bằng đơn vị mét. Tuy nhiên, nếu bạn muốn khoảng cách tính bằng đơn vị centimet, hãy nhân 340 với 100. Do đó, phương trình trên trở thành:
S = 34000 * t // distance in cm
Thời gian đưa ra trong công thức trên cũng nên được chia cho hai. Bởi vì sóng siêu âm truyền từ máy phát đến chướng ngại vật và sau đó phản xạ trở lại mạch thu bằng cách di chuyển cùng một khoảng cách. Chúng tôi chỉ muốn tìm khoảng cách giữa HC-SR04 và đối tượng. Do đó, công thức tính khoảng cách trở thành:
S = 17000 * t // distance in cm
Lưu ý: Bạn không cần phải lo lắng về những tính toán này vì chúng tôi sẽ sử dụng thư viện MicroPython cho cảm biến siêu âm HC-SR04 để thực hiện các phép đo khoảng cách.
Cho đến bây giờ chúng ta đã thấy hoạt động của cảm biến siêu âm và các chi tiết pin. Bây giờ chúng ta biết điều đó để giao tiếp cảm biến HC-SR04 với Raspberry Pi Pico. Chúng tôi cần bốn chân trong đó hai chân là chân cấp nguồn và hai chân là chân đầu ra đầu vào kỹ thuật số. Một chân GPIO của Raspberry Pi Pico sẽ được sử dụng làm chân đầu ra kỹ thuật số để cung cấp tín hiệu kích hoạt cho cảm biến siêu âm. Tương tự, một chân GPIO sẽ được sử dụng làm chân đầu vào kỹ thuật số để thu tín hiệu đầu ra tiếng vang của cảm biến đầu ra.