Thứ Bảy, 20 tháng 8, 2022

Đọc cảm biến siêu âm Ultrasonic HC SR04 SR05 đo khoảng cách bằng MicroPython (ESP8266, ESP32, Raspberry Pi Pico)

 Đô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