from machine import Pin
import utime
from ssd1306 import SSD1306_I2C
sda = Pin(4)
scl = Pin(5)
i2c = I2C(0,sda=sda,scl=scl)
#I2C(i2c编号,指定sda接线,指定scl接线)
oled = SSD1306_I2C(128,64,i2c)
#参数含义128,32长和宽 i2c指定的i2c总线
def display(txt,oledP):
oledP.fill(0)
oledP.text("Distance:",0,0,1)
oledP.text(txt+"m",32,10,1)
oledP.show()
#指定Trig和Echo的输入输出方向
Trig = Pin(17,Pin.OUT)
Echo = Pin(16,Pin.IN)
def measure_distance():
Trig.on()
utime.sleep_us(20)
Trig.off()
signon = 0
signoff = 0
while Echo.value() == 0:
signon = utime.ticks_us()
while Echo.value() == 1:
signoff = utime.ticks_us()
distance = 340*(signoff-signon)/2000000
if distance >=0 and distance<=5:
print(distance)
else:
print("OUT OF RANGE!")
def main():
while True:
measure_distance()
utime.sleep(1)
if __name__ == "__main__":
main()