Đôi khi một số dự án viết bằng Micropython, bạn cần đo khoảng cách bằng module cảm biến HC-SR04 hoặc HC-SR05.
Bài viết này, hướng dẫn bạn cách làm điều đó (đã test thử trên ESP8266, ESP32 và Pico)
Kết nối các chân của HC-SR04: VCC -> 5V, GND ->GND. Còn chân trig và echo thì tùy vào loại board bạn chọn (xem trong code).
Bạn có thể copy code sau đây để test thử
import machine, time
from machine import Pin
#ESP8266
#trigPin = 12 #D6
#echoPin = 13 #D7
#ESP32
#trigPin = 16
#echoPin = 17
#Raspberry Pi Pico
trigPin = 0 #label 1
echoPin = 1 #lable 2
trigger = Pin(trigPin, mode = Pin.OUT)
echo = Pin(echoPin, mode = Pin.IN)
while True:
trigger.off() #off trig pin 5 microseconds
time.sleep_us(5)
trigger.on() #on trig pin 10 microseconds
time.sleep_us(10)
trigger.off()
#use, machine.time_pulse_us(pin, pulse_level, timeout_us=1000000)
timeWaiting = machine.time_pulse_us(echo, 1, 10_000)
distance = int(timeWaiting / 2 * 0.0343)
print(distance,"cm")
time.sleep_ms(100)
Chú ý: Có 2 loại HC-SR04, một loại chạy nguồn 5V và một loại có thể chạy nguồn từ 3.3-5V. Bạn phải xem cảm biến mà kết nối dây cho đúng.
Không có nhận xét nào:
Đăng nhận xét